big update, add goroutine sdl render

replace a lot of self.Screen.Draw() to self.Screen.Refresh()
This commit is contained in:
cuu
2023-01-23 14:04:11 +00:00
parent 057bcc86f1
commit 7814f9ca6f
40 changed files with 358 additions and 403 deletions

View File

@@ -13,7 +13,7 @@ import (
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
"github.com/cuu/gogame/color"
"github.com/cuu/gogame/time"
//"github.com/cuu/gogame/time"
)
type FavListPage struct {
@@ -378,8 +378,7 @@ func (self *FavListPage) Click() {
} else {
self.Screen.PushCurPage()
self.Screen.SetCurPage(self.RomSoConfirmDownloadPage)
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
}
@@ -387,8 +386,7 @@ func (self *FavListPage) Click() {
}
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
func (self *FavListPage) ReScan() {
@@ -417,14 +415,12 @@ func (self *FavListPage) ReScan() {
func (self *FavListPage) OnReturnBackCb() {
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
func (self *FavListPage) OnLoadCb() {
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
func (self *FavListPage) SpeedScroll(thekey string) {
@@ -447,22 +443,19 @@ func (self *FavListPage) KeyDown(ev *event.Event) {
if ev.Data["Key"] == UI.CurKeys["Menu"] || ev.Data["Key"] == UI.CurKeys["Left"] {
self.ReturnToUpLevelPage()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Up"] {
self.SpeedScroll(ev.Data["Key"])
self.ScrollUp()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Down"] {
self.SpeedScroll(ev.Data["Key"])
self.ScrollDown()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Enter"] {
@@ -471,8 +464,7 @@ func (self *FavListPage) KeyDown(ev *event.Event) {
if ev.Data["Key"] == UI.CurKeys["X"] { //Scan current
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Y"] { // del
@@ -484,13 +476,9 @@ func (self *FavListPage) KeyDown(ev *event.Event) {
if cur_li.(*EmulatorListItem).IsFile() {
uid := UI.GetUid(cur_li.(*EmulatorListItem).Path)
os.Chown(cur_li.(*EmulatorListItem).Path, uid, uid)
self.Screen.MsgBox.SetText("Deleting")
self.Screen.MsgBox.Draw()
self.Screen.SwapAndShow()
time.BlockDelay(600)
self.Screen.ShowMsg("Deleting",600)
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
}
}

View File

@@ -9,7 +9,7 @@ import (
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
"github.com/cuu/gogame/color"
"github.com/cuu/gogame/event"
"github.com/cuu/gogame/time"
//"github.com/cuu/gogame/time"
"github.com/veandco/go-sdl2/ttf"
"os/exec"
"path/filepath"
@@ -406,8 +406,7 @@ func (self *RomListPage) Click() {
} else {
self.Screen.PushCurPage()
self.Screen.SetCurPage(self.RomSoConfirmDownloadPage)
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
}
@@ -415,8 +414,7 @@ func (self *RomListPage) Click() {
}
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
func (self *RomListPage) ReScan() {
@@ -435,8 +433,7 @@ func (self *RomListPage) ReScan() {
func (self *RomListPage) OnReturnBackCb() {
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
func (self *RomListPage) SpeedScroll(thekey string) {
@@ -459,29 +456,25 @@ func (self *RomListPage) KeyDown(ev *event.Event) {
if ev.Data["Key"] == UI.CurKeys["Menu"] {
self.ReturnToUpLevelPage()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Right"] {
self.Screen.PushCurPage()
self.Screen.SetCurPage(self.Leader.FavPage)
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Up"] {
self.SpeedScroll(ev.Data["Key"])
self.ScrollUp()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Down"] {
self.SpeedScroll(ev.Data["Key"])
self.ScrollDown()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Enter"] {
@@ -502,21 +495,15 @@ func (self *RomListPage) KeyDown(ev *event.Event) {
fmt.Println(err)
}
self.Screen.MsgBox.SetText("Add to favourite list")
self.Screen.MsgBox.Draw()
self.Screen.SwapAndShow()
time.BlockDelay(600)
self.Screen.ShowMsg("Add to favourite list",600)
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
}
if ev.Data["Key"] == UI.CurKeys["X"] { //Scan current
self.ReScan()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["Y"] { // del
@@ -531,9 +518,8 @@ func (self *RomListPage) KeyDown(ev *event.Event) {
self.Screen.PushCurPage()
self.Screen.SetCurPage(self.Leader.DeleteConfirmPage)
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
}
}

View File

@@ -59,23 +59,20 @@ func (self *RomSoConfirmPage) Init() {
func (self *RomSoConfirmPage) SnapMsg(msg string) {
self.MyList[0].SetText(msg)
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
self.MyList[0].SetText(self.ConfirmText)
}
func (self *RomSoConfirmPage) OnReturnBackCb() {
self.ReturnToUpLevelPage()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
func (self *RomSoConfirmPage) KeyDown(ev *event.Event) {
if ev.Data["Key"] == UI.CurKeys["Menu"] || ev.Data["Key"] == UI.CurKeys["A"] {
self.ReturnToUpLevelPage()
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
}
if ev.Data["Key"] == UI.CurKeys["B"] {
@@ -91,8 +88,7 @@ func (self *RomSoConfirmPage) KeyDown(ev *event.Event) {
}
self.Screen.PushPage(self.DownloadPage)
self.Screen.Draw()
self.Screen.SwapAndShow()
self.Screen.Refresh()
ec := self.Parent.GetEmulatorConfig()
if sysgo.CurKeySet == "PC" {