Hajime Hoshi
5e459bbe42
internal/graphicsdriver/opengl, metal, directx: use premultiplied alpha format for color scales
...
Updates #2365
2022-10-02 13:38:21 +09:00
Hajime Hoshi
d00bd1cb16
internal/ui: refactoring: move setVerticesCache
to ui.Image
...
Updates #2362
2022-09-29 01:21:46 +09:00
Hajime Hoshi
3a0f28ce6b
internal/ui: refactoring: reduce global-variable usages
2022-09-26 00:46:03 +09:00
Hajime Hoshi
fa108ca717
internal/ui: bug fix: compiie errors on mobiles and browsers
2022-09-26 00:34:44 +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
e47f9ac38f
internal/ui: bug fix: wrong bit operations
...
Closes #2349
2022-09-25 20:10:37 +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
c5867c3357
internal/ui: bug fix: avoid 0 as arguments for Layout
...
Updates #2340
2022-09-20 22:50:39 +09:00
Hajime Hoshi
b5ddee3e4a
internal/ui: bug fix: reentering updateImpl caused double unlocking
...
updateImpl can be invoked in multiple ways. This should have been
protected by a mutex, or this caused unexpected reentrance.
Closes #2339
2022-09-20 13:19:43 +09:00
TotallyGamerJet
043397c20e
internal/ui: remove Cgo on darwin in ui_glfw_darwin.go ( #2329 )
...
Updates #1162
2022-09-16 11:53:46 +09:00
Hajime Hoshi
655cd4bf68
all: remove the build tag
...
Updates #1415
2022-09-15 00:23:40 +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
Terra Brown
a1cc44833d
add errcheck static analysis ( #2293 )
...
Closes #2287
2022-09-10 01:52:46 +09:00
Hajime Hoshi
e505098e55
internal/ui: handle error at forceUpdateOnMinimumFPSMode
...
Updates #2287
2022-09-09 22:49:34 +09:00
Hajime Hoshi
bd43b42ee5
internal/ui: reland the screen shader in Kage
...
This change relads a part of the change to use the screen shader
instead of FilterScreen, but with the issue on iOS fixed.
Let's remove FilterScreen later.
Updates #2282
2022-09-06 18:48:19 +09:00
Hajime Hoshi
1d487be57b
internal/ui: refactoring: remove unused members from EbitengineWindowDelegate
...
Closes #2297
2022-09-03 23:48:40 +09:00
Hajime Hoshi
55f6e8c3a1
internal/ui: rename EbitenWindowDelegate -> EbitengineWindowDelegate
2022-09-02 23:34:02 +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
ae41530f1c
internal/graphicscommand: move availableFilename to graphicscommand
2022-08-31 13:26:14 +09:00
Hajime Hoshi
63e3c4adea
Revert "internal/graphics: remove FilterScreen and use an original Kage program instead"
...
This reverts these commits
* 3259ef3daf
* 7c55065490
* 5bb70f485e
Reason: iOS crash. Probably we have to prepare a special rendering
pipeline for the final screen.
Closes #2278
2022-08-30 01:56:06 +09:00
Hajime Hoshi
3259ef3daf
internal/ui: fix comments
2022-08-26 22:55:22 +09:00
Hajime Hoshi
7c55065490
internal/ui: simplify the screen shader
2022-08-26 22:49:17 +09:00
Hajime Hoshi
5bb70f485e
internal/graphics: remove FilterScreen and use an original Kage program instead
...
Updates #2046
2022-08-26 17:41:29 +09:00
Hajime Hoshi
3b50e57f19
internal/ui: move convertUniforms to ui.Shader
...
This is a preparation to use a Kage program as the screen filter.
Update #2046
2022-08-26 17:41:26 +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
31141d5112
internal/ui: forbid maximizing window when a window size is limited
...
Closes #2258
2022-08-20 22:24:13 +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
8081d0636a
internal/cbackend: rename to nintendosdk
...
Updates #2242
2022-08-12 17:19:37 +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
85aabf734b
internal/ui: remove panic at (*glfwWindow).Maximize
...
Just doing nothing is more consistent with other functions.
Updates #1990
2022-08-10 22:18:55 +09:00
Hajime Hoshi
4104abdf77
internal/ui: refactoring
2022-08-10 21:34:39 +09:00
Hajime Hoshi
b5196a5a7c
internal/ui: bug fix: glfwWindow.IsMaximized should not return true on fullscreen
...
Closes #2239
2022-08-10 21:17:13 +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