This commit is contained in:
cuu 2023-01-24 04:24:07 +00:00
parent 7814f9ca6f
commit ed2454ea64
29 changed files with 80 additions and 104 deletions

View File

@ -414,8 +414,7 @@ func (self *AboutPlugin) Init(main_screen *UI.MainScreen) {
func (self *AboutPlugin) Run(main_screen *UI.MainScreen) { func (self *AboutPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushPage(self.Page) main_screen.PushPage(self.Page)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *AirplanePlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.AirplanePage) main_screen.SetCurPage(self.AirplanePage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -121,8 +121,7 @@ func (self *BluetoothPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.BluetoothPage) main_screen.SetCurPage(self.BluetoothPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -33,8 +33,7 @@ func (self *BrightnessPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.BrightnessPage) main_screen.SetCurPage(self.BrightnessPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *ButtonsLayoutPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.ButtonsLayoutPage) main_screen.SetCurPage(self.ButtonsLayoutPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *GatewayPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.Page1st) main_screen.SetCurPage(self.Page1st)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *LanguagesPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.LanguagesPage) main_screen.SetCurPage(self.LanguagesPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *LimaPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.GPUDriverPage) main_screen.SetCurPage(self.GPUDriverPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *PowerOFFPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.PowerOFFPage) main_screen.SetCurPage(self.PowerOFFPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *PowerOptionsPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.PowerOptionsPage) main_screen.SetCurPage(self.PowerOptionsPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -307,8 +307,7 @@ func (self *SettingsPlugin) Init(main_screen *UI.MainScreen) {
func (self *SettingsPlugin) Run(main_screen *UI.MainScreen) { func (self *SettingsPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushPage(self.Page) main_screen.PushPage(self.Page)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -34,8 +34,7 @@ func (self *SoundPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.SoundPage) main_screen.SetCurPage(self.SoundPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -29,8 +29,7 @@ func (self *StoragePlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.StoragePage) main_screen.SetCurPage(self.StoragePage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *TimeZonePlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.TimeZonePage) main_screen.SetCurPage(self.TimeZonePage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -20,8 +20,7 @@ func (self *UpdatePlugin) Init(main_screen *UI.MainScreen) {
func (self *UpdatePlugin) Run(main_screen *UI.MainScreen) { func (self *UpdatePlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushPage(self.Page) main_screen.PushPage(self.Page)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -49,10 +49,8 @@ func (self *WifiPlugin) Init(main_screen *UI.MainScreen) {
func (self *WifiPlugin) Run(main_screen *UI.MainScreen) { func (self *WifiPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushPage(self.ScanPage)
main_screen.SetCurPage(self.ScanPage) main_screen.Refresh()
main_screen.Draw()
main_screen.SwapAndShow()
} }
} }

View File

@ -372,7 +372,6 @@ type WifiList struct {
Connecting bool Connecting bool
Scanning bool Scanning bool
ShowingMessageBox bool
MsgBox *WifiListMessageBox MsgBox *WifiListMessageBox
ConnectTry int ConnectTry int
@ -402,14 +401,7 @@ func NewWifiList() *WifiList {
func (self *WifiList) ShowBox(msg string) { func (self *WifiList) ShowBox(msg string) {
self.MsgBox.Text = msg self.MsgBox.Text = msg
self.ShowingMessageBox = true self.Screen.ShowMsg(msg,1)
self.Screen.ShowMsg(msg,0)
}
func (self *WifiList) HideBox() {
self.Draw()
self.ShowingMessageBox = false
self.Screen.SwapAndShow()
} }
func (self *WifiList) GenNetworkList() { func (self *WifiList) GenNetworkList() {
@ -452,7 +444,7 @@ func (self *WifiList) GenNetworkList() {
li_idx++ li_idx++
} }
} }
self.WifiScanFinished() self.WifiScanFinished()
self.PsIndex = 0 self.PsIndex = 0
@ -495,9 +487,7 @@ func (self *WifiList) WifiScanFinished() {
self.ResetPageSelector() self.ResetPageSelector()
self.Scanning = false self.Scanning = false
self.HideBox()
self.BlockingUI = false
fmt.Println("dbus says scan finished") fmt.Println("dbus says scan finished")
} }
@ -508,8 +498,7 @@ func (self *WifiList) WifiScanStarted() {
} }
self.Scanning = true self.Scanning = true
self.ShowBox("Wifi scanning...") self.ShowBox("Wifi scanning")
self.BlockingUI = true
fmt.Println("dbus says start scan") fmt.Println("dbus says start scan")
} }
@ -602,7 +591,7 @@ func (self *WifiList) ConfigWireless(password string) {
ssid := self.MyList[self.PsIndex].Essid ssid := self.MyList[self.PsIndex].Essid
fmt.Println(ssid) fmt.Println(ssid)
fmt.Println(password) fmt.Println(password)
self.ShowBox("Connecting...") self.ShowBox("Connecting")
self.Connecting = true self.Connecting = true
cli := fmt.Sprintf("sudo nmcli dev wifi connect %s password \"%s\"", ssid, password) cli := fmt.Sprintf("sudo nmcli dev wifi connect %s password \"%s\"", ssid, password)
@ -674,7 +663,6 @@ func (self *WifiList) ScrollDown() {
} }
func (self *WifiList) AbortedAndReturnToUpLevel() { func (self *WifiList) AbortedAndReturnToUpLevel() {
self.HideBox()
self.Screen.FootBar.ResetNavText() self.Screen.FootBar.ResetNavText()
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
@ -739,6 +727,7 @@ func (self *WifiList) KeyDown(ev *event.Event) {
if ev.Data["Key"] == UI.CurKeys["X"] { if ev.Data["Key"] == UI.CurKeys["X"] {
self.Rescan(false) self.Rescan(false)
self.Screen.Refresh()
} }
if ev.Data["Key"] == UI.CurKeys["Y"] { if ev.Data["Key"] == UI.CurKeys["Y"] {

View File

@ -32,8 +32,7 @@ func (self *WareHousePlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.MainPage) main_screen.SetCurPage(self.MainPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -35,8 +35,7 @@ func (self *MusicPlayerPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.MusicPlayerPage) main_screen.SetCurPage(self.MusicPlayerPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *TinyCloudPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.MainPage) main_screen.SetCurPage(self.MainPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -30,8 +30,7 @@ func (self *PowerOFFPlugin) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.PowerOFFPage) main_screen.SetCurPage(self.PowerOFFPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

10
main.go
View File

@ -122,8 +122,7 @@ func RestoreLastBackLightBrightness(main_screen *UI.MainScreen) bool {
if main_screen.CounterScreen.Counting == true { if main_screen.CounterScreen.Counting == true {
main_screen.CounterScreen.StopCounter() main_screen.CounterScreen.StopCounter()
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
return false return false
} }
@ -221,7 +220,7 @@ func AutoRedraw(main_screen *UI.MainScreen) {
for { for {
if main_screen.TitleBar.InLowBackLight < 0 { if main_screen.TitleBar.InLowBackLight < 0 {
UI.SwapAndShow() UI.DisplayFlip()
} }
gotime.Sleep(650 * gotime.Millisecond) gotime.Sleep(650 * gotime.Millisecond)
} }
@ -324,10 +323,7 @@ func run() int {
sound_patch.Parent = main_screen sound_patch.Parent = main_screen
sound_patch.Init() sound_patch.Init()
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
UI.SwapAndShow()
//fmt.Println(main_screen) //fmt.Println(main_screen)
event.AllocEvents(5) event.AllocEvents(5)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -71,7 +71,6 @@ func (self *MyEmulator) Run(main_screen *UI.MainScreen) {
if main_screen != nil { if main_screen != nil {
main_screen.PushCurPage() main_screen.PushCurPage()
main_screen.SetCurPage(self.RomPage) main_screen.SetCurPage(self.RomPage)
main_screen.Draw() main_screen.Refresh()
main_screen.SwapAndShow()
} }
} }

View File

@ -68,24 +68,24 @@ func Init() {
for i := 10; i < 41; i++ { for i := 10; i < 41; i++ {
keyname := fmt.Sprintf("varela%d", i) keyname := fmt.Sprintf("varela%d", i)
Fonts[keyname] = font.Font(fonts_path["varela"], i) Fonts[keyname] = font.FontRW(fonts_path["varela"], i)
} }
Fonts["varela120"] = font.Font(fonts_path["varela"], 120) Fonts["varela120"] = font.FontRW(fonts_path["varela"], 120)
for i := 10; i < 26; i++ { for i := 10; i < 26; i++ {
keyname := fmt.Sprintf("veramono%d", i) keyname := fmt.Sprintf("veramono%d", i)
Fonts[keyname] = font.Font(fonts_path["veramono"], i) Fonts[keyname] = font.FontRW(fonts_path["veramono"], i)
} }
for i := 10; i < 28; i++ { for i := 10; i < 28; i++ {
keyname := fmt.Sprintf("notosansmono%d", i) keyname := fmt.Sprintf("notosansmono%d", i)
Fonts[keyname] = font.Font(fonts_path["noto"], i) Fonts[keyname] = font.FontRW(fonts_path["noto"], i)
} }
for i := 10; i < 28; i++ { for i := 10; i < 28; i++ {
keyname := fmt.Sprintf("notosanscjk%d", i) keyname := fmt.Sprintf("notosanscjk%d", i)
Fonts[keyname] = font.Font(fonts_path["notocjk"], i) Fonts[keyname] = font.FontRW(fonts_path["notocjk"], i)
} }
// //

View File

@ -26,7 +26,7 @@ func (self *FullScreen) SwapAndShow() {
if self.HWND != nil { if self.HWND != nil {
rect_ := rect.Rect(self.PosX, self.PosY, self.Width, self.Height) rect_ := rect.Rect(self.PosX, self.PosY, self.Width, self.Height)
surface.Blit(self.HWND, self.CanvasHWND, &rect_, nil) surface.Blit(self.HWND, self.CanvasHWND, &rect_, nil)
SwapAndShow() DisplayFlip()
} }
} }

View File

@ -281,7 +281,6 @@ func (self *MainScreen) SwapAndShow() {
surface.Blit(self.HWND, self.CanvasHWND, &rect_, nil) surface.Blit(self.HWND, self.CanvasHWND, &rect_, nil)
} }
display.Flip() display.Flip()
} }
@ -428,8 +427,7 @@ func (self *MainScreen) ShowMsg(content string, blocktime int) {
if blocktime > 0 { if blocktime > 0 {
time.BlockDelay(blocktime) time.BlockDelay(blocktime)
self.CurrentPage.Draw() self.Refresh()
self.SwapAndShow()
} }
} }

View File

@ -110,6 +110,8 @@ type TitleBar struct {
TitleFont *ttf.Font TitleFont *ttf.Font
TimeFont *ttf.Font TimeFont *ttf.Font
updateScreen chan bool
} }
func NewTitleBar() *TitleBar { func NewTitleBar() *TitleBar {
@ -136,13 +138,16 @@ func NewTitleBar() *TitleBar {
t.TimeFont = Fonts["varela12"] t.TimeFont = Fonts["varela12"]
t.InLowBackLight = -1 t.InLowBackLight = -1
t.updateScreen = make(chan bool,1)
return t return t
} }
func (self *TitleBar) Redraw() { func (self *TitleBar) Redraw() {
self.UpdateDownloadStatus() self.UpdateDownloadStatus()
SwapAndShow() DisplayFlip()
} }
func (self *TitleBar) UpdateDownloadStatus() { func (self *TitleBar) UpdateDownloadStatus() {
@ -176,7 +181,7 @@ func (self *TitleBar) RoundRobinCheck() {
self.CheckBluetooth() self.CheckBluetooth()
self.UpdateWifiStrength() self.UpdateWifiStrength()
self.UpdateDownloadStatus() self.UpdateDownloadStatus()
SwapAndShow() self.Refresh()
} else if self.InLowBackLight >= 0 { } else if self.InLowBackLight >= 0 {
self.InLowBackLight += 1 self.InLowBackLight += 1
@ -187,6 +192,7 @@ func (self *TitleBar) RoundRobinCheck() {
self.UpdateWifiStrength() self.UpdateWifiStrength()
self.UpdateDownloadStatus() self.UpdateDownloadStatus()
self.InLowBackLight = 0 // reset self.InLowBackLight = 0 // reset
self.Refresh()
} }
} }
@ -293,8 +299,6 @@ func (self *TitleBar) SetSoundVolume(vol int) {
func (self *TitleBar) CheckBatteryStat() { func (self *TitleBar) CheckBatteryStat() {
bat_segs := [][]int{[]int{0, 6}, []int{7, 15}, []int{16, 20}, []int{21, 30}, []int{31, 50}, []int{51, 60}, []int{61, 80}, []int{81, 90}, []int{91, 100}} bat_segs := [][]int{[]int{0, 6}, []int{7, 15}, []int{16, 20}, []int{21, 30}, []int{31, 50}, []int{51, 60}, []int{61, 80}, []int{81, 90}, []int{91, 100}}
self.Icons["battery"] = self.Icons["battery_unknown"]
if FileExists(sysgo.Battery) == false { if FileExists(sysgo.Battery) == false {
return return
} }
@ -337,14 +341,11 @@ func (self *TitleBar) CheckBatteryStat() {
break break
} }
} }
if val, ok := bat_uevent["POWER_SUPPLY_STATUS"]; ok { if val, ok := bat_uevent["POWER_SUPPLY_STATUS"]; ok {
if val == "Charging" { if val == "Charging" {
self.Icons["battery_charging"].SetIconIndex(cap_ge) self.Icons["battery"].SetIconIndex(1+cap_ge)
self.Icons["battery"] = self.Icons["battery_charging"]
} else { } else {
self.Icons["battery_discharging"].SetIconIndex(cap_ge) self.Icons["battery"].SetIconIndex(1+9+cap_ge)
self.Icons["battery"] = self.Icons["battery_discharging"]
} }
} }
@ -392,29 +393,13 @@ func (self *TitleBar) Init(main_screen *MainScreen) {
self.Icons["wifistatus"] = icon_wifi_status self.Icons["wifistatus"] = icon_wifi_status
battery_charging := NewTitleBarIconItem()
battery_charging.MyType = ICON_TYPES["STAT"]
battery_charging.Parent = self
battery_charging.ImageName = self.icon_base_path + "withcharging.png"
battery_charging.Adjust(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2, self.IconWidth, self.IconHeight, 0)
self.Icons["battery_charging"] = battery_charging
battery_discharging := NewTitleBarIconItem()
battery_discharging.MyType = ICON_TYPES["STAT"]
battery_discharging.Parent = self
battery_discharging.ImageName = self.icon_base_path + "without_charging.png"
battery_discharging.Adjust(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2, self.IconWidth, self.IconHeight, 0)
self.Icons["battery_discharging"] = battery_discharging
battery_unknown := NewTitleBarIconItem() battery_unknown := NewTitleBarIconItem()
battery_unknown.MyType = ICON_TYPES["STAT"] battery_unknown.MyType = ICON_TYPES["STAT"]
battery_unknown.Parent = self battery_unknown.Parent = self
battery_unknown.ImageName = self.icon_base_path + "battery_unknown.png" battery_unknown.ImageName = self.icon_base_path + "battery.png"
battery_unknown.Adjust(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2, self.IconWidth, self.IconHeight, 0) battery_unknown.Adjust(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2, self.IconWidth, self.IconHeight, 0)
self.Icons["battery_unknown"] = battery_unknown self.Icons["battery"] = battery_unknown
self.CheckBatteryStat() self.CheckBatteryStat()
@ -493,6 +478,12 @@ func (self *TitleBar) ClearCanvas() {
self.Icons["round_corners"].SetIconIndex(1) self.Icons["round_corners"].SetIconIndex(1)
self.Icons["round_corners"].Draw() self.Icons["round_corners"].Draw()
go func() {
sdl.Do(func() {
self.RefreshLoop()
})
}()
} }
func (self *TitleBar) UpdateTimeLocation() { func (self *TitleBar) UpdateTimeLocation() {
@ -576,3 +567,22 @@ func (self *TitleBar) Draw(title string) {
title_text_surf.Free() title_text_surf.Free()
time_text_surf.Free() time_text_surf.Free()
} }
func (self *TitleBar) Refresh() {
self.updateScreen <- true
}
func (self *TitleBar) RefreshLoop() {
L:
for {
select {
case v:= <- self.updateScreen:
if v == true {
DisplayFlip()
}
if v== false {
break L
}
}
}
}

View File

@ -128,10 +128,15 @@ func ReplaceSuffix(orig_file_str string, new_ext string) string {
return orig_file_str // failed just return back where it came return orig_file_str // failed just return back where it came
} }
func SwapAndShow() { func DisplayFlip() {
display.Flip() display.Flip()
} }
func AsyncDisplayFlip() {
display.ASync(func() {
display.Flip()
})
}
func ReadLines(path string) (lines []string, err error) { func ReadLines(path string) (lines []string, err error) {
var ( var (
file *os.File file *os.File