mirror of
https://github.com/clockworkpi/LauncherGoDev.git
synced 2025-12-13 08:28:51 +01:00
bluetooth alpha
This commit is contained in:
parent
78522c4b46
commit
f4e4ff3921
@ -4,6 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"log"
|
"log"
|
||||||
|
"strings"
|
||||||
"github.com/fatih/structs"
|
"github.com/fatih/structs"
|
||||||
|
|
||||||
"github.com/veandco/go-sdl2/ttf"
|
"github.com/veandco/go-sdl2/ttf"
|
||||||
@ -87,15 +88,19 @@ func (self *BleForgetConfirmPage) Draw() {
|
|||||||
|
|
||||||
type BleInfoPageSelector struct {
|
type BleInfoPageSelector struct {
|
||||||
UI.InfoPageSelector
|
UI.InfoPageSelector
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewBleInfoPageSelector() *BleInfoPageSelector{
|
func NewBleInfoPageSelector() *BleInfoPageSelector{
|
||||||
p := &BleInfoPageSelector{}
|
p := &BleInfoPageSelector{}
|
||||||
|
p.Width = UI.Width
|
||||||
|
p.BackgroundColor = &color.Color{131,199,219,255} //SkinManager().GiveColor('Front')
|
||||||
|
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *BleInfoPageSelector) Draw() {
|
func (self *BleInfoPageSelector) Draw() {
|
||||||
|
|
||||||
idx := self.Parent.GetPsIndex()
|
idx := self.Parent.GetPsIndex()
|
||||||
mylist := self.Parent.GetMyList()
|
mylist := self.Parent.GetMyList()
|
||||||
|
|
||||||
@ -122,8 +127,6 @@ type BleInfoPage struct {
|
|||||||
ListSmFontObj *ttf.Font
|
ListSmFontObj *ttf.Font
|
||||||
ListSm2FontObj *ttf.Font
|
ListSm2FontObj *ttf.Font
|
||||||
|
|
||||||
MyList []UI.ListItemInterface
|
|
||||||
|
|
||||||
AList map[string]interface{}
|
AList map[string]interface{}
|
||||||
|
|
||||||
Scroller *UI.ListScroller
|
Scroller *UI.ListScroller
|
||||||
@ -146,7 +149,6 @@ func NewBleInfoPage() *BleInfoPage {
|
|||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (self *BleInfoPage) Init() {
|
func (self *BleInfoPage) Init() {
|
||||||
|
|
||||||
if self.Screen != nil {
|
if self.Screen != nil {
|
||||||
@ -191,7 +193,23 @@ func (self *BleInfoPage) GenList() {
|
|||||||
start_y := 0
|
start_y := 0
|
||||||
|
|
||||||
i := 0
|
i := 0
|
||||||
|
skip_arrays := []string{"ManufacturerData","AdvertisingFlags","ServiceData"}
|
||||||
|
|
||||||
for k,v := range self.AList {
|
for k,v := range self.AList {
|
||||||
|
|
||||||
|
skip2 := false
|
||||||
|
for _,u := range skip_arrays {
|
||||||
|
if strings.HasPrefix(k,u) {
|
||||||
|
skip2 = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if skip2 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
li := UI.NewInfoPageListItem()
|
li := UI.NewInfoPageListItem()
|
||||||
li.Parent = self
|
li.Parent = self
|
||||||
li.PosX = start_x
|
li.PosX = start_x
|
||||||
@ -219,15 +237,12 @@ func (self *BleInfoPage) GenList() {
|
|||||||
sm_text = fmt.Sprintf("%v",v)
|
sm_text = fmt.Sprintf("%v",v)
|
||||||
}
|
}
|
||||||
|
|
||||||
if sm_text == "0" {
|
|
||||||
sm_text = "No"
|
|
||||||
}else if sm_text == "1" {
|
|
||||||
sm_text = "Yes"
|
|
||||||
}
|
|
||||||
li.SetSmallText(sm_text)
|
li.SetSmallText(sm_text)
|
||||||
li.PosX = 2
|
li.PosX = 2
|
||||||
self.MyList = append(self.MyList,li)
|
|
||||||
|
|
||||||
|
self.MyList = append(self.MyList,li)
|
||||||
|
i+=1
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -262,20 +277,21 @@ func (self *BleInfoPage) ScrollDown() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
self.PsIndex -= 1
|
self.PsIndex += 1
|
||||||
|
|
||||||
if self.PsIndex < 0 {
|
if self.PsIndex >= len(self.MyList) {
|
||||||
self.PsIndex = 0
|
self.PsIndex = len(self.MyList)-1
|
||||||
}
|
}
|
||||||
|
|
||||||
cur_li := self.MyList[self.PsIndex]
|
cur_li := self.MyList[self.PsIndex]
|
||||||
|
|
||||||
x,y := cur_li.Coord()
|
x,y := cur_li.Coord()
|
||||||
|
_,h := cur_li.Size()
|
||||||
|
|
||||||
if y < 0 {
|
if y + h > self.Height {
|
||||||
for i,v := range self.MyList {
|
for i,v := range self.MyList {
|
||||||
x,y = v.Coord()
|
x,y = v.Coord()
|
||||||
_,h := v.Size()
|
_,h = v.Size()
|
||||||
self.MyList[i].NewCoord(x,y-h)
|
self.MyList[i].NewCoord(x,y-h)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -347,6 +363,11 @@ func (self *BleInfoPage) Click() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *BleInfoPage) OnLoadCb() {
|
func (self *BleInfoPage) OnLoadCb() {
|
||||||
|
if self.Props.Connected == true {
|
||||||
|
self.FootMsg[1] = "Disconnect"
|
||||||
|
}else {
|
||||||
|
self.FootMsg[1] = ""
|
||||||
|
}
|
||||||
|
|
||||||
self.GenList()
|
self.GenList()
|
||||||
}
|
}
|
||||||
@ -414,8 +435,6 @@ func (self *BleInfoPage) Draw() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type BleListSelector BleInfoPageSelector
|
|
||||||
|
|
||||||
type BleListMessageBox struct {
|
type BleListMessageBox struct {
|
||||||
UI.Label
|
UI.Label
|
||||||
Parent UI.PageInterface
|
Parent UI.PageInterface
|
||||||
@ -477,8 +496,6 @@ type BluetoothPage struct{
|
|||||||
LastStatusMsg string
|
LastStatusMsg string
|
||||||
ADAPTER_DEV string // == adapterID
|
ADAPTER_DEV string // == adapterID
|
||||||
|
|
||||||
|
|
||||||
MyList []*NetItem
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewBluetoothPage() *BluetoothPage {
|
func NewBluetoothPage() *BluetoothPage {
|
||||||
@ -519,7 +536,7 @@ func (self *BluetoothPage) Init() {
|
|||||||
|
|
||||||
self.CanvasHWND = self.Screen.CanvasHWND
|
self.CanvasHWND = self.Screen.CanvasHWND
|
||||||
|
|
||||||
ps := &BleListSelector{}
|
ps := NewBleInfoPageSelector()
|
||||||
ps.Parent = self
|
ps.Parent = self
|
||||||
ps.Width = UI.Width - 12
|
ps.Width = UI.Width - 12
|
||||||
|
|
||||||
@ -653,15 +670,17 @@ func (self *BluetoothPage) ScrollUp() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Println("Scroll Up")
|
||||||
|
|
||||||
self.PsIndex -= 1
|
self.PsIndex -= 1
|
||||||
if self.PsIndex < 0 {
|
if self.PsIndex < 0 {
|
||||||
self.PsIndex=0
|
self.PsIndex=0
|
||||||
}
|
}
|
||||||
|
|
||||||
cur_ni := self.MyList[self.PsIndex]//*NetItem
|
cur_ni := self.MyList[self.PsIndex]//*NetItem
|
||||||
if cur_ni.PosY < 0 {
|
if cur_ni.(*NetItem).PosY < 0 {
|
||||||
for i:=0;i<len(self.MyList);i++ {
|
for i:=0;i<len(self.MyList);i++ {
|
||||||
self.MyList[i].PosY += self.MyList[i].Height
|
self.MyList[i].(*NetItem).PosY += self.MyList[i].(*NetItem).Height
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -677,9 +696,9 @@ func (self *BluetoothPage) ScrollDown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cur_ni := self.MyList[self.PsIndex]
|
cur_ni := self.MyList[self.PsIndex]
|
||||||
if cur_ni.PosY + cur_ni.Height > self.Height {
|
if cur_ni.(*NetItem).PosY + cur_ni.(*NetItem).Height > self.Height {
|
||||||
for i:=0;i<len(self.MyList);i++ {
|
for i:=0;i<len(self.MyList);i++ {
|
||||||
self.MyList[i].PosY -= self.MyList[i].Height
|
self.MyList[i].(*NetItem).PosY -= self.MyList[i].(*NetItem).Height
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -723,9 +742,9 @@ func (self *BluetoothPage) KeyDown(ev *event.Event) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
self.InfoPage.Props = self.MyList[self.PsIndex].Props
|
self.InfoPage.Props = self.MyList[self.PsIndex].(*NetItem).Props
|
||||||
self.InfoPage.Path = self.MyList[self.PsIndex].Path
|
self.InfoPage.Path = self.MyList[self.PsIndex].(*NetItem).Path
|
||||||
self.InfoPage.MyDevice = self.MyList[self.PsIndex].Device
|
self.InfoPage.MyDevice = self.MyList[self.PsIndex].(*NetItem).Device
|
||||||
|
|
||||||
self.Screen.PushPage(self.InfoPage)
|
self.Screen.PushPage(self.InfoPage)
|
||||||
self.Screen.Draw()
|
self.Screen.Draw()
|
||||||
@ -748,7 +767,7 @@ func (self *BluetoothPage) Draw() {
|
|||||||
|
|
||||||
|
|
||||||
if len(self.MyList) * NetItemDefaultHeight > self.Height {
|
if len(self.MyList) * NetItemDefaultHeight > self.Height {
|
||||||
self.Ps.(*BleListSelector).Width = self.Width - 11
|
self.Ps.(*BleInfoPageSelector).Width = self.Width - 11
|
||||||
self.Ps.Draw()
|
self.Ps.Draw()
|
||||||
|
|
||||||
for _,v := range self.MyList {
|
for _,v := range self.MyList {
|
||||||
@ -759,8 +778,9 @@ func (self *BluetoothPage) Draw() {
|
|||||||
self.Scroller.Draw()
|
self.Scroller.Draw()
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
self.Ps.(*BleListSelector).Width = self.Width
|
self.Ps.(*BleInfoPageSelector).Width = self.Width
|
||||||
self.Ps.Draw()
|
self.Ps.Draw()
|
||||||
|
|
||||||
for _,v := range self.MyList {
|
for _,v := range self.MyList {
|
||||||
v.Draw()
|
v.Draw()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -145,6 +145,9 @@ func (self *NetItem) Connect() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *NetItem) GetLinkObj() UI.PluginInterface {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (self *NetItem) Draw() {
|
func (self *NetItem) Draw() {
|
||||||
for k,v := range self.Labels {
|
for k,v := range self.Labels {
|
||||||
|
|||||||
@ -250,6 +250,8 @@ func (self *FavListPage) ScrollUp() {
|
|||||||
|
|
||||||
if y < 0 {
|
if y < 0 {
|
||||||
for i,_ := range self.MyList{
|
for i,_ := range self.MyList{
|
||||||
|
x,y = self.MyList[i].Coord()
|
||||||
|
_, h = self.MyList[i].Size()
|
||||||
self.MyList[i].NewCoord(x, y + h)
|
self.MyList[i].NewCoord(x, y + h)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,6 +275,8 @@ func (self *FavListPage) ScrollDown(){
|
|||||||
_,h := cur_li.Size()
|
_,h := cur_li.Size()
|
||||||
if y + h > self.Height {
|
if y + h > self.Height {
|
||||||
for i,_ := range self.MyList{
|
for i,_ := range self.MyList{
|
||||||
|
x,y = self.MyList[i].Coord()
|
||||||
|
_, h = self.MyList[i].Size()
|
||||||
self.MyList[i].NewCoord(x,y-h)
|
self.MyList[i].NewCoord(x,y-h)
|
||||||
}
|
}
|
||||||
self.Scrolled -=1
|
self.Scrolled -=1
|
||||||
|
|||||||
@ -227,6 +227,7 @@ func (self *EmulatorListItem) Draw() {
|
|||||||
x,y := self.Labels["Text"].Coord()
|
x,y := self.Labels["Text"].Coord()
|
||||||
_,h := self.Labels["Text"].Size()
|
_,h := self.Labels["Text"].Size()
|
||||||
|
|
||||||
|
|
||||||
if self.Path != "[..]" {
|
if self.Path != "[..]" {
|
||||||
self.Labels["Text"].NewCoord(23,y)
|
self.Labels["Text"].NewCoord(23,y)
|
||||||
|
|
||||||
|
|||||||
@ -74,7 +74,7 @@ func (self *RomListPage) GeneratePathList(path string) ([]map[string]string,erro
|
|||||||
if UI.IsDirectory(path) == false {
|
if UI.IsDirectory(path) == false {
|
||||||
return nil,errors.New("Path is not a folder")
|
return nil,errors.New("Path is not a folder")
|
||||||
}
|
}
|
||||||
dirmap := make(map[string]string)
|
|
||||||
var ret []map[string]string
|
var ret []map[string]string
|
||||||
|
|
||||||
file_paths,err := filepath.Glob(path+"/*")//sorted
|
file_paths,err := filepath.Glob(path+"/*")//sorted
|
||||||
@ -84,6 +84,7 @@ func (self *RomListPage) GeneratePathList(path string) ([]map[string]string,erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _,v := range file_paths {
|
for _,v := range file_paths {
|
||||||
|
dirmap := make(map[string]string)
|
||||||
if UI.IsDirectory(v) && self.EmulatorConfig.FILETYPE == "dir" { // like DOSBOX
|
if UI.IsDirectory(v) && self.EmulatorConfig.FILETYPE == "dir" { // like DOSBOX
|
||||||
gameshell_bat := self.EmulatorConfig.EXT[0]
|
gameshell_bat := self.EmulatorConfig.EXT[0]
|
||||||
if UI.GetGid(v) == FavGID { // skip fav roms
|
if UI.GetGid(v) == FavGID { // skip fav roms
|
||||||
@ -139,7 +140,7 @@ func (self *RomListPage) GeneratePathList(path string) ([]map[string]string,erro
|
|||||||
func (self *RomListPage) SyncList( path string ) {
|
func (self *RomListPage) SyncList( path string ) {
|
||||||
|
|
||||||
alist,err := self.GeneratePathList(path)
|
alist,err := self.GeneratePathList(path)
|
||||||
//fmt.Println(alist)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
return
|
return
|
||||||
@ -191,7 +192,6 @@ func (self *RomListPage) SyncList( path string ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
li.Init(init_val)
|
li.Init(init_val)
|
||||||
|
|
||||||
self.MyList = append(self.MyList,li)
|
self.MyList = append(self.MyList,li)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -276,6 +276,8 @@ func (self *RomListPage) ScrollUp() {
|
|||||||
_,h := cur_li.Size()
|
_,h := cur_li.Size()
|
||||||
if y < 0 {
|
if y < 0 {
|
||||||
for i,_ := range self.MyList{
|
for i,_ := range self.MyList{
|
||||||
|
x,y = self.MyList[i].Coord()
|
||||||
|
_, h = self.MyList[i].Size()
|
||||||
self.MyList[i].NewCoord(x,y + h)
|
self.MyList[i].NewCoord(x,y + h)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,6 +302,8 @@ func (self *RomListPage) ScrollDown(){
|
|||||||
|
|
||||||
if y+ h > self.Height {
|
if y+ h > self.Height {
|
||||||
for i,_ := range self.MyList{
|
for i,_ := range self.MyList{
|
||||||
|
x,y = self.MyList[i].Coord()
|
||||||
|
_, h = self.MyList[i].Size()
|
||||||
self.MyList[i].NewCoord(x,y - h)
|
self.MyList[i].NewCoord(x,y - h)
|
||||||
}
|
}
|
||||||
self.Scrolled -=1
|
self.Scrolled -=1
|
||||||
@ -538,28 +542,20 @@ func (self *RomListPage) Draw() {
|
|||||||
}else{
|
}else{
|
||||||
_,h := self.Ps.Size()
|
_,h := self.Ps.Size()
|
||||||
if len(self.MyList) * HierListItemDefaultHeight > self.Height {
|
if len(self.MyList) * HierListItemDefaultHeight > self.Height {
|
||||||
|
|
||||||
self.Ps.NewSize(self.Width - 10,h)
|
self.Ps.NewSize(self.Width - 10,h)
|
||||||
self.Ps.Draw()
|
self.Ps.Draw()
|
||||||
|
|
||||||
|
|
||||||
for _,v := range self.MyList {
|
for _,v := range self.MyList {
|
||||||
_,y := v.Coord()
|
_,y := v.Coord()
|
||||||
if y > self.Height + self.Height/2 {
|
if y > (self.Height + self.Height/2) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
if y < 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
v.Draw()
|
v.Draw()
|
||||||
}
|
}
|
||||||
|
|
||||||
self.Scroller.UpdateSize( len(self.MyList)*HierListItemDefaultHeight, self.PsIndex*HierListItemDefaultHeight)
|
self.Scroller.UpdateSize( len(self.MyList)*HierListItemDefaultHeight, self.PsIndex*HierListItemDefaultHeight)
|
||||||
self.Scroller.Draw()
|
self.Scroller.Draw()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
self.Ps.NewSize(self.Width,h)
|
self.Ps.NewSize(self.Width,h)
|
||||||
self.Ps.Draw()
|
self.Ps.Draw()
|
||||||
|
|||||||
@ -291,6 +291,25 @@ func (self *TitleBar) SetBatteryStat( bat int) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *TitleBar) CheckBluetooth() {
|
||||||
|
|
||||||
|
out := System("hcitool dev | grep hci0 |cut -f3")
|
||||||
|
if len(out) < 17 {
|
||||||
|
fmt.Println("Titlebar CheckBluetooth: no bluetooth",out)
|
||||||
|
self.Icons["bluetooth"].SetIconIndex(2)
|
||||||
|
return
|
||||||
|
}else {
|
||||||
|
out = System("sudo rfkill list | grep hci0 -A 2 | grep yes")
|
||||||
|
if len(out) > 10 {
|
||||||
|
self.Icons["bluetooth"].SetIconIndex(1)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.Icons["bluetooth"].SetIconIndex(0)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func (self *TitleBar) Init(main_screen *MainScreen) {
|
func (self *TitleBar) Init(main_screen *MainScreen) {
|
||||||
|
|
||||||
start_x := 0
|
start_x := 0
|
||||||
@ -346,6 +365,16 @@ func (self *TitleBar) Init(main_screen *MainScreen) {
|
|||||||
|
|
||||||
self.SyncSoundVolume()
|
self.SyncSoundVolume()
|
||||||
|
|
||||||
|
bluetooth := NewTitleBarIconItem()
|
||||||
|
bluetooth.MyType = ICON_TYPES["STAT"]
|
||||||
|
bluetooth.Parent = self
|
||||||
|
bluetooth.ImageName = self.icon_base_path+"bluetooth.png"
|
||||||
|
bluetooth.Adjust(start_x+self.IconWidth+self.IconWidth+8,self.IconHeight/2+(self.BarHeight-self.IconHeight)/2,self.IconWidth,self.IconHeight,0)
|
||||||
|
|
||||||
|
self.Icons["bluetooth"] = bluetooth
|
||||||
|
self.CheckBluetooth()
|
||||||
|
|
||||||
|
|
||||||
round_corners := NewTitleBarIconItem()
|
round_corners := NewTitleBarIconItem()
|
||||||
round_corners.IconWidth = 10
|
round_corners.IconWidth = 10
|
||||||
round_corners.IconHeight = 10
|
round_corners.IconHeight = 10
|
||||||
@ -410,6 +439,8 @@ func (self *TitleBar) Draw(title string) {
|
|||||||
surface.Blit(self.CanvasHWND, time_text_surf, draw.MidRect(Width-time_text_w/2-self.ROffset, time_text_h/2+(self.BarHeight-time_text_h)/2, time_text_w,time_text_h,Width,Height),nil)
|
surface.Blit(self.CanvasHWND, time_text_surf, draw.MidRect(Width-time_text_w/2-self.ROffset, time_text_h/2+(self.BarHeight-time_text_h)/2, time_text_w,time_text_h,Width,Height),nil)
|
||||||
|
|
||||||
start_x := Width - time_text_w - self.ROffset - self.IconWidth*3 // close to the time_text
|
start_x := Width - time_text_w - self.ROffset - self.IconWidth*3 // close to the time_text
|
||||||
|
|
||||||
|
self.Icons["bluetooth"].NewCoord(start_x - self.IconWidth,self.IconHeight/2+(self.BarHeight-self.IconHeight)/2)
|
||||||
self.Icons["sound"].NewCoord( start_x, self.IconHeight/2+ (self.BarHeight-self.IconHeight)/2)
|
self.Icons["sound"].NewCoord( start_x, self.IconHeight/2+ (self.BarHeight-self.IconHeight)/2)
|
||||||
self.Icons["battery"].NewCoord(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2)
|
self.Icons["battery"].NewCoord(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2)
|
||||||
|
|
||||||
@ -436,6 +467,7 @@ func (self *TitleBar) Draw(title string) {
|
|||||||
self.Icons["sound"].Draw()
|
self.Icons["sound"].Draw()
|
||||||
self.Icons["battery"].Draw()
|
self.Icons["battery"].Draw()
|
||||||
|
|
||||||
|
self.Icons["bluetooth"].Draw()
|
||||||
|
|
||||||
draw.Line(self.CanvasHWND,self.SkinManager.GiveColor("Line"), 0,self.BarHeight,self.Width,self.BarHeight, self.BorderWidth)
|
draw.Line(self.CanvasHWND,self.SkinManager.GiveColor("Line"), 0,self.BarHeight,self.Width,self.BarHeight, self.BorderWidth)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user