mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-25 11:18:54 +01:00
parent
5ecd010f5a
commit
c021d6be6a
@ -167,7 +167,8 @@ func update(screen *ebiten.Image) error {
|
||||
op.GeoM.Translate(dx, dy)
|
||||
screen.DrawImage(gophersImage, op)
|
||||
|
||||
x, y := ebiten.CursorPosition()
|
||||
wx, wy := ebiten.WindowPosition()
|
||||
cx, cy := ebiten.CursorPosition()
|
||||
tpsStr := "Uncapped"
|
||||
if t := ebiten.MaxTPS(); t != ebiten.UncappedTPS {
|
||||
tpsStr = fmt.Sprintf("%d", t)
|
||||
@ -181,10 +182,11 @@ Press I key to change the window icon (only for desktops)
|
||||
Press V key to switch vsync
|
||||
Press T key to switch TPS (ticks per second)
|
||||
Press D key to switch the window decoration
|
||||
Windows Position: (%d, %d)
|
||||
Cursor: (%d, %d)
|
||||
TPS: Current: %0.2f / Max: %s
|
||||
FPS: %0.2f
|
||||
Device Scale Factor: %0.2f`, x, y, ebiten.CurrentTPS(), tpsStr, ebiten.CurrentFPS(), ebiten.DeviceScaleFactor())
|
||||
Device Scale Factor: %0.2f`, wx, wy, cx, cy, ebiten.CurrentTPS(), tpsStr, ebiten.CurrentFPS(), ebiten.DeviceScaleFactor())
|
||||
ebitenutil.DebugPrint(screen, msg)
|
||||
return nil
|
||||
}
|
||||
|
@ -32,6 +32,9 @@ type UIContext interface {
|
||||
var RegularTermination = errors.New("regular termination")
|
||||
|
||||
type UI interface {
|
||||
Run(width, height int, scale float64, title string, context UIContext, graphics Graphics) error
|
||||
RunWithoutMainLoop(width, height int, scale float64, title string, context UIContext, graphics Graphics) <-chan error
|
||||
|
||||
DeviceScaleFactor() float64
|
||||
IsCursorVisible() bool
|
||||
IsFullscreen() bool
|
||||
@ -39,11 +42,11 @@ type UI interface {
|
||||
IsVsyncEnabled() bool
|
||||
IsWindowDecorated() bool
|
||||
IsWindowResizable() bool
|
||||
Run(width, height int, scale float64, title string, context UIContext, graphics Graphics) error
|
||||
RunWithoutMainLoop(width, height int, scale float64, title string, context UIContext, graphics Graphics) <-chan error
|
||||
ScreenPadding() (x0, y0, x1, y1 float64)
|
||||
ScreenScale() float64
|
||||
ScreenSizeInFullscreen() (int, int)
|
||||
WindowPosition() (int, int)
|
||||
|
||||
SetCursorVisible(visible bool)
|
||||
SetFullscreen(fullscreen bool)
|
||||
SetRunnableInBackground(runnableInBackground bool)
|
||||
@ -54,5 +57,6 @@ type UI interface {
|
||||
SetWindowIcon(iconImages []image.Image)
|
||||
SetWindowResizable(resizable bool)
|
||||
SetWindowTitle(title string)
|
||||
|
||||
Input() Input
|
||||
}
|
||||
|
@ -997,6 +997,18 @@ func (u *UserInterface) currentMonitor() *glfw.Monitor {
|
||||
return u.currentMonitorFromPosition()
|
||||
}
|
||||
|
||||
func (u *UserInterface) WindowPosition() (int, int) {
|
||||
if !u.isRunning() {
|
||||
panic("ui: Run is not called yet")
|
||||
}
|
||||
x, y := 0, 0
|
||||
_ = u.t.Call(func() error {
|
||||
x, y = u.window.GetPos()
|
||||
return nil
|
||||
})
|
||||
return x, y
|
||||
}
|
||||
|
||||
func (u *UserInterface) Input() driver.Input {
|
||||
return &u.input
|
||||
}
|
||||
|
@ -479,6 +479,10 @@ func (u *UserInterface) updateScreenSize() {
|
||||
u.sizeChanged = true
|
||||
}
|
||||
|
||||
func (u *UserInterface) WindowPosition() (int, int) {
|
||||
return 0, 0
|
||||
}
|
||||
|
||||
func (u *UserInterface) Input() driver.Input {
|
||||
return &u.input
|
||||
}
|
||||
|
@ -443,6 +443,10 @@ func (u *UserInterface) DeviceScaleFactor() float64 {
|
||||
return deviceScale()
|
||||
}
|
||||
|
||||
func (u *UserInterface) WindowPosition() (int, int) {
|
||||
return 0, 0
|
||||
}
|
||||
|
||||
func (u *UserInterface) Input() driver.Input {
|
||||
return &u.input
|
||||
}
|
||||
|
@ -94,3 +94,12 @@ func SetWindowTitle(title string) {
|
||||
func SetWindowIcon(iconImages []image.Image) {
|
||||
uiDriver().SetWindowIcon(iconImages)
|
||||
}
|
||||
|
||||
// WindowPosition returns the window position.
|
||||
//
|
||||
// WindowPosition panics before Run is called.
|
||||
//
|
||||
// WindowPosition returns (0, 0) on browsers and mobiles.
|
||||
func WindowPosition() (int, int) {
|
||||
return uiDriver().WindowPosition()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user