123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package Emulator
- import (
- "fmt"
- //"strconv"
- "strings"
-
- "path/filepath"
-
- "github.com/cuu/gogame/event"
- "github.com/clockworkpi/LauncherGoDev/sysgo"
- "github.com/clockworkpi/LauncherGoDev/sysgo/UI"
- )
- type RomSoConfirmPage struct {
- UI.ConfirmPage
- Parent EmulatorPageInterface
- DownloadPage *UI.DownloadProcessPage
-
- }
- func NewRomSoConfirmPage() *RomSoConfirmPage {
- p := &RomSoConfirmPage{}
- p.PageIconMargin = 20
- p.SelectedIconTopOffset = 20
- p.EasingDur = 10
- p.Align = UI.ALIGN["SLeft"]
-
- p.ListFont = UI.Fonts["veramono18"]
- p.FootMsg = [5]string{"Nav","","","Cancel","Yes"}
- p.ConfirmText ="Do you want to setup this game engine automatically?"
-
- return p
-
- }
- func (self *RomSoConfirmPage) Init() {
- self.PosX = self.Index * self.Screen.Width
- self.Width = self.Screen.Width
- self.Height = self.Screen.Height
- self.CanvasHWND = self.Screen.CanvasHWND
-
- li := UI.NewMultiLabel()
- li.SetCanvasHWND(self.CanvasHWND)
- li.Width = 160
- li.Init(self.ConfirmText,self.ListFont,nil)
-
- li.PosX = (self.Width - li.Width)/2
- li.PosY = (self.Height - li.Height)/2
- self.BGPosX = li.PosX-20
- self.BGPosY = li.PosY-20
- self.BGWidth = li.Width+40
- self.BGHeight = li.Height+40
-
- self.MyList = append(self.MyList ,li )
-
- }
- func (self *RomSoConfirmPage) SnapMsg(msg string) {
- self.MyList[0].SetText(msg)
- self.Screen.Draw()
- self.Screen.SwapAndShow()
- self.MyList[0].SetText(self.ConfirmText)
- }
- func (self *RomSoConfirmPage) OnReturnBackCb() {
- self.ReturnToUpLevelPage()
- self.Screen.Draw()
- self.Screen.SwapAndShow()
- }
- 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()
- }
-
- if ev.Data["Key"] == UI.CurKeys["B"] {
- bat := UI.CheckBattery()
- if bat < 5 && bat >= 0 {
- self.SnapMsg("Battery must over 5%")
- }else { // -1 or something else,
- if self.DownloadPage == nil {
- self.DownloadPage = UI.NewDownloadProcessPage()
- self.DownloadPage.Screen = self.Screen
- self.DownloadPage.Name = "Downloading"
- self.DownloadPage.Init()
- }
-
- self.Screen.PushPage(self.DownloadPage)
- self.Screen.Draw()
- self.Screen.SwapAndShow()
- ec := self.Parent.GetEmulatorConfig()
- if sysgo.CurKeySet == "PC" {
-
- so_url := ec.SO_URL
- so_url = strings.Replace(so_url,"armhf","x86_64",-1)
- fmt.Println(so_url)
- self.DownloadPage.StartDownload(so_url,filepath.Dir(ec.ROM_SO))
-
- }else{
- so_url := ec.SO_URL
- self.DownloadPage.StartDownload(so_url,filepath.Dir(ec.ROM_SO))
- }
- }
- }
- }
- func (self *RomSoConfirmPage) Draw() {
- self.ClearCanvas()
- self.DrawBG()
- for _,v := range self.MyList{
- v.Draw()
- }
-
- }
|