Hajime Hoshi
ac08ebe080
internal/ui: set SwapInterval(0) when resizing the window
...
This mitigates flickering at least on macOS with OpenGL.
Updates #2144
2022-10-29 17:49:32 +09:00
Hajime Hoshi
3a0f28ce6b
internal/ui: refactoring: reduce global-variable usages
2022-09-26 00:46:03 +09:00
Hajime Hoshi
4a82a109be
internal/ui: use sync/atomic for performance
2022-09-26 00:27:04 +09:00
Hajime Hoshi
909f2fe492
internal/ui: bug fix: make inFrame concurrent-safe
...
Updates #1816
2022-09-25 23:56:14 +09:00
Hajime Hoshi
12f42544dd
internal/ui: refactoring: simplify logic by removing setSizeCallbackEnabled
...
Closes #1816
2022-09-25 23:48:40 +09:00
Hajime Hoshi
70ebd34d99
internal/ui: refactoring: separate setWindowSizeInDIPImpl to setWindowSizeInDIP and setFullscreen
2022-09-25 22:55:56 +09:00
Hajime Hoshi
f0dbf86799
internal/ui: refactoring: adjust the width earlier
2022-09-25 22:34:14 +09:00
Hajime Hoshi
c7deed6e72
internal/ui: add setFullscreen
2022-09-25 22:31:26 +09:00
Hajime Hoshi
9302230fef
internal/ui: refactoring
2022-09-25 19:56:53 +09:00
Hajime Hoshi
98076bd512
internal/ui: refactoring: simplify initializing fullscreen
2022-09-25 18:28:57 +09:00
Hajime Hoshi
6167cc4f54
internal/ui: remove unnecessary function calls
...
updateSize was introduced at 7eff5cbd4a
, but
apparently calling setWindowSizeInDIP was originally not needed.
2022-09-25 18:19:35 +09:00
Hajime Hoshi
25405783a7
internal/ui: refactoring
...
Updates #1816
2022-09-25 02:05:26 +09:00
Hajime Hoshi
86706c0335
internal/graphicsdriver/opengl: add opengles
build tag
...
This enables to use OpenGL ES instead of OpenGL.
Closes #292
2022-09-13 11:10:48 -07:00
Hajime Hoshi
1d487be57b
internal/ui: refactoring: remove unused members from EbitengineWindowDelegate
...
Closes #2297
2022-09-03 23:48:40 +09:00
Hajime Hoshi
0a92204e04
internal/ui: remove comments
2022-09-02 20:39:16 +09:00
Hajime Hoshi
7045605fdf
internal/ui: bug fix: restore the window position after fullscreen exit on macOS
...
glfw.PollEvents was necessary to enable SetPos and SetSize after
exiting from fullscreen on macOS.
Closes #2296
2022-09-02 20:31:48 +09:00
Hajime Hoshi
4e4533c89d
internal/ui: bug fix: do not call setFrame in windowDidExitFullScreen
...
Calling setFrame in windowDidExitFullScreen caused unexpected results
like a strange window size after fullscreen. Let's remove this.
By removing this, setting window position and size during fullscreen
will no longer work again. Let's fix this later.
Closes #2295
2022-09-02 17:48:23 +09:00
Kacper Drobny
9c177c1b8e
internal/ui: allow maximizeWindow when no max boundaries are set ( #2291 )
...
Closes #2290
2022-09-01 22:34:17 +09:00
Hajime Hoshi
833473316f
internal/ui: forbide RestoreWindow when the window size limits are specified
...
Closes #2259
2022-08-20 22:36:37 +09:00
Hajime Hoshi
e150745598
internal/ui: bug fix: do not register a framebuffer-size callback on macOS
...
When a decorating state is switched, a framebuffer-size callback was
invoked but with wrong parameters on macOS.
This callback was originally implemented for i3 window manager, and
was not needed for macOS. Then, let's not use this on macOS. Probably
we can also skip this registering on Windows.
Updates #1960
Closes #2257
2022-08-20 19:10:42 +09:00
Hajime Hoshi
5b182efe7e
internal/ui: forbide SetWindowSize
when the window is maximized
...
On Windows, changing the size of a maximized window results in
unexpected states. Let's forbid this.
On macOS, a maximized window is just a regular window so it is
OK to allow resizing by `SetWindowSize`.
On Linux or other Unix, the behavior depends on window systems
and it is hard to expect what would happen, so forbid this just in
case.
Closes #1986
2022-08-15 16:29:20 +09:00
Hajime Hoshi
bc8e2fe6ac
internal/glfw: bug fix: the window should be focused when closing is handled
...
Closes #2165
2022-08-12 22:34:19 +09:00
Hajime Hoshi
e7c0a121c4
all: remove the build tag 'ebitencbackend'
...
This also automatically enables 'egl' when 'nintendosdk' is specified.
Updates #2242
2022-08-12 13:15:39 +09:00
Hajime Hoshi
dac6548c0c
all: rename ebitenginecbackend to nintendosdk
...
Updates #2242
2022-08-12 02:05:29 +09:00
Hajime Hoshi
4104abdf77
internal/ui: refactoring
2022-08-10 21:34:39 +09:00
Hajime Hoshi
7a936f7052
internal/ui: enable SetWindowSize even with fullscreen on macOS
...
Closes #1590
2022-08-10 15:57:59 +09:00
Hajime Hoshi
085b64006d
internal/ui: refactoring: indentation
2022-08-10 15:47:50 +09:00
Hajime Hoshi
2ab255dd1c
internal/ui: refactoring: delay the call of outsideSize()
2022-08-10 14:53:28 +09:00
Hajime Hoshi
7eff5cbd4a
internal/ui: refactoring: separate updateSize into updateSize and outsideSize
2022-08-10 14:50:20 +09:00
Hajime Hoshi
a57560105f
internal/ui: refactoring: add userInterfaceImplNative for each OS
2022-08-10 11:44:03 +09:00
mattn
2bacecca24
fix typos ( #2227 )
2022-08-03 22:40:39 +09:00
Hajime Hoshi
428b1263d9
add ebitenginecbackend build tag besides ebitencbackend
...
Updates #2111
Updates #2190
2022-07-09 15:23:52 +09:00
Hajime Hoshi
506d534370
internal/ui: fix window sizes for Xbox
...
Updates #2084
2022-06-23 14:50:41 +09:00
Hajime Hoshi
138463e219
internal/ui: rename chooseGraphicsDriver -> newGraphicsDriver
2022-06-17 02:40:39 +09:00
Hajime Hoshi
7484df0c5e
internal/graphicsdriver/metal: replace Get with NewGraphics
...
This is a prepartion to return an error when a graphics driver, especially
DirectX, fails to initialize.
Updates #2142
2022-06-17 02:40:35 +09:00
Hajime Hoshi
44cfb92cee
internal/ui: bug fix: MaximizeWindow before Run caused an unexpected error on Windows
...
Closes #2137
2022-06-13 12:28:20 +09:00
Hajime Hoshi
2eb4ef1a94
internal/gamepad: give a window from another package instead of GetActiveWindow
...
GetActiveWindow doesn't work on Xbox.
Updates #2084
2022-06-03 18:42:54 +09:00
Hajime Hoshi
9c15bda275
internal/ui: return a null Window on Xbox
...
Updates #2084
2022-06-01 01:26:31 +09:00
Hajime Hoshi
f67b4cc1d6
internal/glfw: use a pure Go implementation of GLFW
...
This change removes internal/glfw/glfw, that is a DLL loader, and
replaces the usages with internal/glfwwin, that is a pure Go
implementation of GLFW for Windows.
The build tag `ebitenexternaldll` is also removed.
Closes #1764
2022-05-20 22:10:00 +09:00
Hajime Hoshi
eec5ea00ec
internal/glfw: refactoring: use pointers or functions for callbacks
2022-05-20 17:49:46 +09:00
Hajime Hoshi
8d2b08dd14
internal/glfw: refactoring: make callback handlers consistent
2022-05-19 01:49:21 +09:00
Hajime Hoshi
2a5b5b4823
internal/ui: avoid a busy loop in restoreWindow
...
Updates #1826
2022-04-10 17:55:39 +09:00
Hajime Hoshi
3fe1df8b3b
internal/ui: bug fix: ebiten.WindowSize() returned (1,1) when iconified
2022-04-10 16:50:47 +09:00
Hajime Hoshi
aae866350a
internal/ui: bug fix: (*glfw.Window).GetSize() returns (0,0) when iconified
...
Closes #2066
2022-04-10 16:43:03 +09:00
Hajime Hoshi
90070c09fe
internal/ui: rename origPos -> origWindowPos
2022-04-08 15:59:16 +09:00
Hajime Hoshi
352d332097
internal/ui: remove redundant comments
2022-04-08 15:51:56 +09:00
Hajime Hoshi
ee124baf60
internal/ui: bug fix: WindowSize returned a wrong value on fullscreen on macOS
...
Closes #2062
2022-04-08 14:57:51 +09:00
Hajime Hoshi
4b0967be42
internal/ui: gofmt
2022-04-04 01:48:15 +09:00
Hajime Hoshi
f1f9f74e5c
internal/ui: bug fix: force to refresh the framebuffer by resizing the window very quickly
...
Closes #2050
2022-04-03 18:43:22 +09:00
Hajime Hoshi
ea1c18d124
internal/ui: rename contextImpl -> context
2022-04-01 17:59:44 +09:00