Hajime Hoshi
62bd35e412
Avoid 'Get' call if possible
...
(*js.Value).Get has some overhead especially on Wasm.
2018-06-19 03:43:24 +09:00
Philipp Steinhaus
39b3170185
input: Enable mouse wheel input ( #628 )
2018-06-18 00:38:30 +09:00
Hajime Hoshi
b87a851c0e
ui: New GopherWASM API
2018-06-16 00:26:28 +09:00
Hajime Hoshi
be665a3526
ui: Better way to avoid blocking
...
Fixes #625
2018-06-09 13:36:35 +09:00
Hajime Hoshi
6e12f287b0
ui: Use goroutine to avoid blocking on GopherJS
2018-06-09 03:05:37 +09:00
Hajime Hoshi
311788dfe2
ui: Remove warnings of deadlock
...
Now gopherwasm fixed this problem by avoiding js.MakeFunc.
See also: 3fe87b73c0
2018-05-27 04:10:14 +09:00
Hajime Hoshi
8e9c3bd304
ui: Use gopherwasm
2018-05-27 02:35:17 +09:00
Hajime Hoshi
5976e4bbbc
audio: More intellegent suspending/resuming ( #617 )
...
Before this change, the audio is suspended when the game stops for
1/12[s]. However, as game often stops for more than 1/12[s]
especially on mobiles, this implemntation caused some audio
glitches.
This change fixes this problem by re-implementing suspending/
resumeing audio by detecting the window is active/focused or not.
2018-05-26 23:31:04 +09:00
Hajime Hoshi
d88d1be4ad
mobile: Refactoring
2018-05-26 22:51:30 +09:00
Hajime Hoshi
c2df8326fc
ui: Refactoring: Use IsNodeJS
2018-05-16 22:02:33 +09:00
Hajime Hoshi
3ccfe087d9
Refactoring
2018-05-12 15:25:01 +09:00
Hajime Hoshi
453921f1d3
ui: Bug fix: sizeChange must be set after updateFullscreenScaleIfNeeded
2018-05-12 02:11:37 +09:00
Hajime Hoshi
d8dba69b47
ui: Add MonitorSize
...
Fixes #470
2018-05-05 02:42:45 +09:00
Hajime Hoshi
d41f959b96
ui: Initialize GLFW before Run
2018-05-04 23:55:23 +09:00
Hajime Hoshi
9efccea31c
ui: Add SetWindowTitle
...
Fixes #595
2018-05-02 19:21:17 +09:00
Hajime Hoshi
899f007fd0
ui: Panic when error is found on mobile
2018-04-07 03:33:20 +09:00
Hajime Hoshi
2d3c6ab5b8
ui: Remove build tag 'gomobilebuild'
...
Fixes #573
2018-04-07 02:14:54 +09:00
Hajime Hoshi
fcf4657a70
ui: Adjust touch positions at ui package (mobile)
2018-04-03 01:50:07 +09:00
Hajime Hoshi
76cb43a7f8
input: Refactoring: Remove unused arguments
2018-04-03 01:21:52 +09:00
Hajime Hoshi
0f2beab260
ui: Adjust touch positions in ui package (js)
2018-04-03 00:53:09 +09:00
Hajime Hoshi
c540d0fc0d
ui: Add AdjustedTouches for consistency
2018-04-02 01:54:44 +09:00
Hajime Hoshi
7d2fd9654a
input: Adjust mouse cursor position in ui package
2018-04-01 23:53:26 +09:00
Hajime Hoshi
4de2dc0240
Add input package
2018-04-01 23:20:45 +09:00
Hajime Hoshi
2110191794
mobile: Accept gomobile build ( #249 )
2018-03-24 02:52:42 +09:00
Hajime Hoshi
5ec5cf2450
ui: Add comments
2018-03-17 18:34:20 +09:00
Hajime Hoshi
526fbd3619
ui: Implement SetWindowDecorated and IsWindowDecorated
...
Fixes #430 .
2018-03-17 18:30:55 +09:00
Hajime Hoshi
ef5de62780
Follow the standard comment rule
...
See https://golang.org/s/generatedcode
2018-03-08 02:47:59 +09:00
Hajime Hoshi
4c1cc9e699
ui: Bug fix: exit update function once when the context is lost ( #526 )
2018-03-02 01:05:54 +09:00
Hajime Hoshi
0cc456b534
ui: Rename sizeChanged -> toChangeSize
2018-02-25 00:44:45 +09:00
Hajime Hoshi
04341a014c
ui: Add comments
2018-02-25 00:44:41 +09:00
Hajime Hoshi
a644e92298
restorable: Better calculation to clear restorable.Image
2018-02-24 21:16:30 +09:00
Hajime Hoshi
692f36f664
graphics: Add comments
2018-02-24 20:40:26 +09:00
Hajime Hoshi
78a58fd1ae
ui: Bug fix: userInterface.fullscreen() must be called from the main thread
2018-02-24 18:10:39 +09:00
Hajime Hoshi
a87f197c1b
ui: Add TODO
2018-02-24 14:50:45 +09:00
Hajime Hoshi
d4b8b99784
ui: Bug fix: return is needed for Edge case
...
Fixes #507
2018-02-21 21:53:49 +09:00
Hajime Hoshi
cc423c276d
ui: Avoid creating empty slice at Touches
2018-02-12 20:23:24 +09:00
Hajime Hoshi
7d9b901ab3
ui: Avoid creating empty slice at GamepadIDs
2018-02-12 20:20:39 +09:00
Hajime Hoshi
e3023889ac
ui: Change RegularTermination to a value
2018-02-04 00:22:38 +09:00
Hajime Hoshi
8b2ed6cddd
ui: Update GraphicsContext every frame ( #490 )
2018-02-02 02:08:03 +09:00
Hajime Hoshi
38c72faf95
ui: Deprecate SetCursorVisibility and add SetCursorVisible ( #407 )
2018-01-09 02:01:33 +09:00
Hajime Hoshi
0a911b28b2
ui: Remove unneeded variable deviceScale
2018-01-07 14:51:25 +09:00
Hajime Hoshi
34d2e9a3fb
ui: Remove unused function
2018-01-07 05:25:29 +09:00
Hajime Hoshi
0469ef386b
ui: Fix comment
2018-01-06 23:53:35 +09:00
Hajime Hoshi
9ec0785203
Rename files _xwindow.go to _unix.go
2018-01-03 23:38:47 +09:00
Hajime Hoshi
a64367f906
ui: Refactoring: remove an unneeded member
2018-01-03 17:35:34 +09:00
Hajime Hoshi
c82809867d
Add internal/devicescale
2018-01-03 05:22:56 +09:00
Hajime Hoshi
9578307d7b
ui: Organize members
2018-01-03 00:23:18 +09:00
Hajime Hoshi
9478801076
ui: Implement SetScreenSize/Scale for mobiles
...
Fixes #250
2017-12-31 21:01:48 +09:00
Hajime Hoshi
473aeaa8b1
ui: Remove unneeded early return
2017-12-31 18:37:04 +09:00
Hajime Hoshi
362f002d36
ui: Delete local variables asap on Android
2017-11-13 01:30:08 +09:00
Hajime Hoshi
cea9bd5a19
input: Bug fix: runeBuffer should be reset on each frame
2017-11-10 01:21:15 +09:00
Hajime Hoshi
4b83a060fe
ui: Add more keys not for charCode
2017-11-10 00:46:37 +09:00
Hajime Hoshi
fb8bef99c3
ui: Bug fix: key event on Edge browser
2017-11-10 00:39:46 +09:00
Hajime Hoshi
37ca48dc38
ui: Rename functions from Safari to Edge
2017-11-10 00:35:46 +09:00
Hajime Hoshi
0c0cd7e9d6
ui: Bug fix: call preventDefault for arrow keys
...
Fixes #450
2017-11-10 00:32:47 +09:00
Hajime Hoshi
ededc5874b
ui: Bug fix: Scale was wrong when magnifier is enabled
...
Fixes #244
2017-11-09 02:06:35 +09:00
Hajime Hoshi
7bcc9ee79f
ui: Add GamepadIDs and remove IsGamepadPresent ( #447 )
2017-10-26 23:59:09 +09:00
Hajime Hoshi
600baf2cc7
ui: Add IsGamepadPresent
...
Fixes #447
2017-10-26 02:59:33 +09:00
Hajime Hoshi
05e220e105
ui: Allow smaller window width ( #444 )
2017-10-20 03:25:21 +09:00
Hajime Hoshi
414170b138
ui: Refactoring
2017-10-20 02:50:39 +09:00
Hajime Hoshi
b590005c7a
opengl: BindFramebuffer no longer returns error
2017-09-25 00:14:25 +09:00
Hajime Hoshi
835d199f02
ui: Rename SetIcon to SetWindowIcon ( #386 )
2017-09-23 17:40:09 +09:00
Hajime Hoshi
dacda0d176
ui: Add SetIcon ( #386 )
2017-09-23 04:28:57 +09:00
Hajime Hoshi
0dcba7844b
ui: Bug fix: SetScreenSize didn't work on browsers
...
This fixes #427
2017-09-07 11:58:04 +09:00
1l0
5d2393c3c1
glfw: Add StickyModes to window.InputMode ( resolve #314 #399 ) ( #423 )
2017-08-28 23:29:19 +09:00
Hajime Hoshi
99d170b454
ui: Remove isSafari that is not used anywhere
2017-08-27 02:14:23 +09:00
Hajime Hoshi
bb6dfeefd4
ui: Add comments on Touches
2017-08-22 00:58:38 +09:00
Jake
0d703ca3d4
InputChars ( #403 )
...
This implements #400
2017-08-15 04:11:51 +09:00
Hajime Hoshi
5f538bff82
ui: Bug fix: initCursorVisible must be true by default
2017-08-12 18:32:51 +09:00
Hajime Hoshi
783e57d3f2
ui: Remove 'fullscreen' member variable
2017-08-12 18:31:16 +09:00
Hajime Hoshi
b186bc1e94
ui: Add IsCursorVisible ( #377 )
2017-08-12 15:45:16 +09:00
Hajime Hoshi
f0d47312c4
ui: Add IsRunnableInBackground / SetRunnableInBackground ( #272 )
2017-08-03 03:21:51 +09:00
Hajime Hoshi
bb5036b3e1
ui: Refactoring
2017-08-03 01:07:04 +09:00
Hajime Hoshi
1021521591
ui: initFullscreen should always be protected by lock
2017-08-03 00:19:04 +09:00
Hajime Hoshi
434d5bb00b
ui: Bug fix: SetFullscreen / IsFullscreen should be concurrent safe; IsFullscreen should return the correct value even before Run
2017-08-02 23:48:08 +09:00
Hajime Hoshi
807d03eb3b
ui: Delay initialize until Run ( #397 )
2017-07-30 20:26:40 +09:00
Hajime Hoshi
3bfb5054af
Fix misspelling
2017-07-23 22:50:18 +09:00
Hajime Hoshi
5ae03494f2
ui: Resize canvas size when the window is resized ( #387 )
2017-07-22 02:04:15 +09:00
Hajime Hoshi
63e3bc73d6
ui: Implement fullscreen for browsers ( #387 )
2017-07-22 01:52:08 +09:00
Hajime Hoshi
f591ca3d2b
ui: Bug fix: SetFullscreen didn't work without Run
2017-07-15 21:43:33 +09:00
Hajime Hoshi
c94c994bd1
ui: Allow SetFullscreen without Run
2017-07-15 20:29:13 +09:00
Hajime Hoshi
e582a661c9
ui: Bug fix: Should add <meta> to <head> instead of <body>
2017-07-02 04:18:43 +09:00
Hajime Hoshi
d6466fdcaf
ui: Bug fix: initial scale must be 1 for proper scaling
2017-07-02 04:08:25 +09:00
Hajime Hoshi
d7b7aac6e4
ui: Fix wrong comment
2017-07-01 13:03:27 +09:00
Hajime Hoshi
7d236950c2
ui: Bug fix: SwapInterval needs to be called after SetMonitor ( #357 )
2017-07-01 12:41:16 +09:00
Hajime Hoshi
ba204c6d3b
ui: Adjust cursor positoin on fullscreen mode ( #374 )
2017-07-01 04:27:38 +09:00
Hajime Hoshi
c694851765
ui: Center the screen on fullscreen mode ( #374 )
2017-07-01 04:12:09 +09:00
Hajime Hoshi
3168af1db4
ui: Refactoring: refresh rate is ignored when no monitor is specified at SetMonitor
2017-06-30 23:20:53 +09:00
Hajime Hoshi
68fbf59720
ui: Refactoring
2017-06-30 11:07:19 +09:00
Hajime Hoshi
cefa86ce13
ui: Fullscreen scale can be recalculated during fullscreen mode
2017-06-30 10:54:13 +09:00
Hajime Hoshi
6336b59493
ui: Bug fix: original positions must not be updated during fullscreen mode ( #376 )
2017-06-30 10:48:18 +09:00
Hajime Hoshi
af8b5d72c3
ui: Bug fix: Fullscreen scale must be recalculated
2017-06-30 10:22:30 +09:00
Hajime Hoshi
76da09f74c
ui: Bug fix: Window title might lost on macOS ( #267 )
2017-06-30 02:14:14 +09:00
Hajime Hoshi
64ed7b93f6
ui: Bug fix: better restoring position ( #267 )
2017-06-30 02:11:54 +09:00
Hajime Hoshi
1d60c009ed
ui: Bug fix: fullscreen scale calculation was wrong ( #267 )
2017-06-30 02:08:12 +09:00
Hajime Hoshi
2996f778b6
ui: Bug fix: position was wrong when changing window size
2017-06-30 01:53:14 +09:00
Hajime Hoshi
5b6fa2d384
ui: Adjust cursor position on fullscreen ( #267 )
2017-06-30 01:39:26 +09:00
Hajime Hoshi
e7370d8a54
ui: Adjust fullscreen scale ( #267 )
2017-06-30 01:28:35 +09:00
Hajime Hoshi
5dbfafb200
ui: Reserve window position before entering fullscreen-mode ( #267 )
2017-06-30 01:28:03 +09:00
Hajime Hoshi
b569eb9c5a
ui: Add SetFullscreen / IsFullscreen ( #267 )
2017-06-30 01:28:00 +09:00
Hajime Hoshi
d0f086323b
ui: Use returning values
2017-06-30 00:37:24 +09:00
Hajime Hoshi
f7a8c7efa6
ui: Avoid recalc the scale factor
2017-06-05 00:06:40 +09:00
Hajime Hoshi
1d59938295
ui: Refactoring: Remove unneeded error handlings
2017-05-31 10:47:52 +09:00
Hajime Hoshi
7d181e3182
opengl: Hide OpenGL context usages into internal/graphics package
2017-05-31 02:18:04 +09:00
Hajime Hoshi
93cdfe107e
ui: Keep the device scale to avoid re-calculation
2017-05-14 04:21:20 +09:00
Hajime Hoshi
d6219e38d8
ui: Rename files
2017-05-13 19:50:40 +09:00
Hajime Hoshi
b409631515
Add FreeBSD support ( #352 )
2017-05-11 19:09:13 +09:00
Hajime Hoshi
4e22bd770f
ui: Remove Input interface and remove locks on browsers to improve performance ( #346 )
2017-04-28 23:45:01 +09:00
Hajime Hoshi
0dafbfe99d
ui: Speed optimization for browser keyboard inputs
2017-04-27 11:40:32 +09:00
Hajime Hoshi
fb612a4b87
ui: Adjust window size in case when glfwGetVideoMode fails ( #328 )
2017-04-19 00:51:15 +09:00
Hajime Hoshi
95cb0133de
ui: Add keys ( #339 )
2017-04-14 03:09:00 +09:00
Hajime Hoshi
0cd692d26a
ui: Use code instead of keyCode on browsers but Safari
2017-04-14 03:02:38 +09:00
Hajime Hoshi
88cfdf8878
ui: Remove println
2017-04-11 12:00:40 +09:00
Hajime Hoshi
187a93d80a
ui: Bug fix: IsKeyPressed might return a wrong value when only one of Shift/Ctrl/Alt keys is pressed
2017-04-11 11:56:05 +09:00
Hajime Hoshi
aa1e7e9cd6
Revert "ui: Use code instead of keyCode on browsers ( #339 )"
...
This reverts commit d7ea02d8c1
.
2017-04-10 20:38:23 +09:00
Hajime Hoshi
d7ea02d8c1
ui: Use code instead of keyCode on browsers ( #339 )
2017-04-10 20:30:28 +09:00
Hajime Hoshi
33ff25cc40
gofmt -s -w
2017-03-04 00:00:04 +09:00
Hajime Hoshi
cad051437d
ui: Refactoring
2017-03-03 11:15:07 +09:00
Hajime Hoshi
e11bc62059
ui: SetScreenSize/Scale no longer returns error
2017-03-03 10:58:29 +09:00
Hajime Hoshi
b6b61fc003
ui: setScreenSize in ui_glfw.go no longer returns error
2017-03-03 10:50:47 +09:00
Hajime Hoshi
0ba28d1183
ui: Remove unused function
2017-03-03 02:27:39 +09:00
Hajime Hoshi
ae378dc7f5
input: Extend number of gamepad buttons from 16 to 32 (for PS4)
2017-02-25 22:49:17 +09:00
Hajime Hoshi
9634794e7e
ui: Use GetWindowThreadProcessId to check who created the console ( #304 , #318 )
2017-02-09 03:49:45 +09:00
Hajime Hoshi
bd1a486b3a
Bug fix: gopherjs build failed on Windows
2017-02-09 02:37:40 +09:00
Hajime Hoshi
93684d5df3
ui: Hide console window by checking the parent process ( #304 , #318 )
2017-02-09 02:01:03 +09:00
gonutz
112654995f
Hide console window on Windows ( #318 )
...
* Hide console only if double-clicking Windows exe
When building on Windows the console window is hidden on start-up if
double-clicking the executable but not if running the program from the
command line (as a developer).
See the code comments for an explanation of the used heuristic.
2017-02-07 20:44:10 +09:00
Hajime Hoshi
0ef1e61d55
mobile: Fix iOS tag usages ( #310 )
2017-01-26 01:32:33 +09:00
Hajime Hoshi
6e897d1479
graphcis: Bug fix: Can't dispose textures/framebuffers after the context is lost (fixing #305 )
2017-01-22 01:37:08 +09:00
Hajime Hoshi
d3e1f91511
graphis: Bug fix: blurred screen after restoring the context ( #306 )
2017-01-21 15:16:47 +09:00
Hajime Hoshi
bccf76867e
graphics: Try to restore the context on browsers (WIP)
2017-01-21 02:56:26 +09:00
Hajime Hoshi
b86f1771e4
ui: Add goroutine so that blocking is available everywhere
2016-11-29 01:40:06 +09:00
Hajime Hoshi
a1e868b822
ui: Don't use 'image-rendering' CSS on Safari ( #293 )
2016-11-26 23:45:06 +09:00
Hajime Hoshi
411721a4da
ui: Add TODO
2016-11-26 02:35:55 +09:00
Hajime Hoshi
07294a98b6
Move internal/graphics/opengl -> internal/opengl
2016-11-03 23:31:25 +09:00
Hajime Hoshi
dc0254db40
ui: Optimized scaling on browsers
2016-09-15 10:04:48 +09:00
Hajime Hoshi
1f8cd41326
windows: Add comments
2016-09-11 22:34:39 +09:00
Hajime Hoshi
071b65f173
loop: Remove IsRunning
2016-09-03 21:14:06 +09:00
Hajime Hoshi
cd885ce7c5
ui: Add SetCursorVisibility ( #258 )
2016-09-03 18:54:21 +09:00
Hajime Hoshi
87efaafcff
Update GLFW version 3.1 -> 3.2
2016-09-03 16:25:43 +09:00
Hajime Hoshi
84b512a3ac
ui: Bug fix: Remove unneeded argument
2016-09-03 02:12:11 +09:00
Hajime Hoshi
ec70ea3be5
ui: Refactoring
2016-09-03 01:06:16 +09:00
Hajime Hoshi
db782ff0d9
ui: Remove UserInterface interface
2016-09-03 00:20:05 +09:00
Hajime Hoshi
f204c14f90
ui: Rename Run -> RunMainThreadLoop
2016-09-03 00:00:44 +09:00
Hajime Hoshi
6164ecb9fc
ui: Reduce functions in UserInterface
2016-09-02 23:45:54 +09:00
Hajime Hoshi
128dcaa342
ui: Rename Main -> Run
2016-09-02 02:59:40 +09:00
Hajime Hoshi
571d67f967
ui: Reduce methods in UserInterface
2016-09-02 02:31:03 +09:00
Hajime Hoshi
93a994f1d6
ui: Refactoring on mobile
2016-09-02 01:34:51 +09:00
Hajime Hoshi
453c2c4589
ui: Remove Terminate
2016-09-02 01:07:41 +09:00
Hajime Hoshi
6da16aa1a0
ui: Refactoring: Remove events
2016-09-02 00:53:05 +09:00
Hajime Hoshi
1e0bdf844d
loop: Bug fix: vsync should not use channels on browsers ( #259 )
2016-09-01 10:36:00 +09:00
Hajime Hoshi
cddaae55dd
ui: Simplify vsync
2016-08-28 17:09:58 +09:00
Hajime Hoshi
de1bb1b392
go generate
2016-08-27 00:50:26 +09:00
Hajime Hoshi
612d3b07b0
ui: Bug fix: ui.funcs might be closed before sending a value
2016-08-17 01:57:20 +09:00
Hajime Hoshi
3619a796dc
ui: Check the return value of ReleaseDC()
2016-08-09 00:25:47 +09:00
Hajime Hoshi
96a43bcb4d
ui: Bug fix: must call ReleaseGC ( #251 )
2016-08-09 00:09:22 +09:00
Hajime Hoshi
f556b19f22
Add error checks
2016-08-03 23:44:54 +09:00
Hajime Hoshi
8e58f3ce0a
ui: Bug fix: closed channel never blocks
2016-08-03 01:07:46 +09:00
Hajime Hoshi
30b521f3b8
Add error checks
2016-08-03 01:02:05 +09:00
Hajime Hoshi
6968e898c3
Bug fix: ui.Main should be suspended when error occurs in the loop
2016-08-02 02:48:19 +09:00
Hajime Hoshi
e118a755f5
ui: Bug fix: Sizing also calls GLContext
2016-07-24 05:29:47 +09:00
Hajime Hoshi
efe64d56f4
ui: Bug fix: Avoid dead lock
2016-07-24 04:32:12 +09:00
Hajime Hoshi
c5e42c91be
ui: Add glcontext.go
2016-07-24 00:05:36 +09:00
Hajime Hoshi
121063ee2b
ui: Initialize GLContext at Start
2016-07-23 22:17:36 +09:00
Hajime Hoshi
5a3ea34cfc
ui: Delay initializing the context
2016-07-23 21:43:35 +09:00
Hajime Hoshi
3553fc55c3
ui: Unify the context thread and the UI thread
2016-07-23 21:22:59 +09:00
Hajime Hoshi
8371426888
ui: Refactoring
2016-07-23 21:01:30 +09:00
Hajime Hoshi
1953539e22
ui: Refactoring: Simplify initializing
2016-07-23 20:25:52 +09:00
Hajime Hoshi
193c03ea58
ui: Bug fix: Don't use integer scale (JavaScript)
2016-07-09 18:27:29 +09:00
Hajime Hoshi
910e1b760c
ui: Introduce glfwScale
2016-07-04 11:37:34 +09:00
Hajime Hoshi
55bfe19bf8
opengl: Add context.DoWork (mobile)
2016-07-04 01:25:35 +09:00
Hajime Hoshi
61ba8dad17
opegnl: Remove initialization (use Reset instead) (mobile)
2016-07-04 01:04:35 +09:00
Hajime Hoshi
0d91883fb9
opengl: Remove init (desktops)
2016-07-04 00:51:58 +09:00
Hajime Hoshi
0e2a1a1636
mobile: Change the unit from px to dp on Android ( #241 )
2016-07-03 05:37:56 +09:00
Hajime Hoshi
47a0b3ccfa
ui: Need LockOSThread for mobile
2016-07-01 00:44:15 +09:00
Hajime Hoshi
3ebc5cc15a
ui: Stop the game when the window is deactivated ( #230 )
2016-06-30 01:07:54 +09:00
Hajime Hoshi
328ef85606
opengl: Prepare Context Losing for JavaScript ( #217 )
2016-06-29 23:18:02 +09:00
Hajime Hoshi
bb511b2c13
ui: Scale is now float64 ( #236 )
2016-06-25 01:26:59 +09:00
Hajime Hoshi
989ae1ebc5
ui: Fix deviceScale for mobiles
2016-06-19 05:14:02 +09:00
Hajime Hoshi
b0a7e13502
ui: Remove ScreenSizeEvent.Scale
2016-06-19 05:10:27 +09:00
Hajime Hoshi
6f50ef3604
ui: Get correct device scale for iOS
2016-06-19 05:10:27 +09:00
Hajime Hoshi
858b391592
ui: Bug fix: unused variable
2016-06-19 05:05:56 +09:00
Hajime Hoshi
ea377b8e20
ui: More accurate device scale factor
2016-06-19 05:04:38 +09:00
Hajime Hoshi
bc2703c345
opengl: Call glViewport each time when different framebuffer is set
2016-06-18 22:47:34 +09:00
Hajime Hoshi
83ab4352f8
opengl: Consider framebuffer size on iOS
2016-06-18 19:55:04 +09:00
Hajime Hoshi
5eb77d2fb5
Remove 'default framebuffer' and add 'screen framebuffer' for iOS
2016-06-18 04:56:13 +09:00
Hajime Hoshi
dfe4db67be
Fix for iOS
2016-06-17 02:08:25 +09:00
Hajime Hoshi
10ebe3274c
Fix build tags
2016-06-15 03:35:35 +09:00
Hajime Hoshi
13f594baed
Fix build tags for iOS (WIP)
2016-06-15 00:19:02 +09:00
Hajime Hoshi
a1fbf2cd2d
graphics: Remove 'Resume'
2016-06-12 23:54:36 +09:00
Hajime Hoshi
f322aaec02
mobile: Add a comment
2016-06-11 05:49:53 +09:00
Hajime Hoshi
f71dcd3466
Remove 'Pause'
2016-06-11 00:57:10 +09:00
Hajime Hoshi
eb8e8b6034
ui: Remove FinishRendering
2016-06-10 01:49:21 +09:00
Hajime Hoshi
8121b2102f
mobile: Implement Pause and Resume to work correctly
2016-06-10 01:21:46 +09:00
Hajime Hoshi
83a96dc532
android: Bug fix: Black flicking ( #226 )
2016-06-07 02:24:36 +09:00
Hajime Hoshi
583fc07f3a
input: Fix compile error
2016-05-29 22:15:28 +09:00
Hajime Hoshi
05104744d3
input: Bug fix: Touches requries lock
2016-05-29 22:13:42 +09:00
Hajime Hoshi
e4ca01db31
mobile: Multitouches ( #101 )
2016-05-28 23:15:28 +09:00
Hajime Hoshi
e84f798c7c
input: Bug fix: Coordinate calculation of touch events
2016-05-27 01:47:24 +09:00
Hajime Hoshi
bdaff72af9
input: Implement Touches function (WIP) ( #101 )
2016-05-27 01:31:30 +09:00
Hajime Hoshi
3195ae32d8
mobile: Implement Pause/Resume
2016-05-24 00:00:54 +09:00
Hajime Hoshi
f251ae8b49
mobile: Handle touch events
2016-05-23 02:06:01 +09:00
Hajime Hoshi
6d06b01cae
gomobile bind works
2016-05-22 04:25:15 +09:00
Hajime Hoshi
c36dd3df52
ui: Change Input to be an interface
2016-05-20 00:15:05 +09:00
Hajime Hoshi
d09bb63f71
ui: Change UserInterface to be an interface
2016-05-20 00:07:06 +09:00
Hajime Hoshi
76ea075896
Add example/mobile (not-compilable yet)
2016-05-19 03:17:50 +09:00
Hajime Hoshi
335781759c
ui: Introduce ScreenSizeEvent to simplify the run loop
2016-05-18 11:56:43 +09:00
Hajime Hoshi
faff188574
ui: Move Now() to internal/loop and hide it
2016-05-18 11:24:17 +09:00
Hajime Hoshi
cd5436712b
ui: Hide Init() func
2016-05-18 11:12:23 +09:00
Hajime Hoshi
a35064db7d
ui: Add ui.GLContext()
2016-05-18 11:10:03 +09:00
Hajime Hoshi
063ed564fd
Move the run loop to internal/loop
2016-05-18 10:59:37 +09:00
Hajime Hoshi
7f19d4a1ac
ui: Remove CurrentUI()
2016-05-18 10:51:11 +09:00
Hajime Hoshi
4d04413bf9
ui: Move the run loop to internal/ui
2016-05-18 10:46:23 +09:00
Hajime Hoshi
5c68ee4034
ui: Use events in the game loop
2016-05-18 02:03:41 +09:00
Hajime Hoshi
49c156d2b5
ui: Rename DoEvents -> Update
2016-05-18 01:22:01 +09:00
Hajime Hoshi
d6bfa72c5c
graphics: Remove openGLState.initialize
2016-05-16 11:32:26 +09:00
Hajime Hoshi
9f2b53d24c
graphics: Add InitializeIfNeeded function (preparing for Android)
2016-05-15 04:05:57 +09:00
Hajime Hoshi
295e3c0a0a
ui: Bug fixed: there was an error shadowed and not used
2016-05-14 03:25:44 +09:00
Hajime Hoshi
a04ce352f8
opengl: Bug fixed: there were some errors shadowed and not used
2016-05-14 03:24:01 +09:00
Hajime Hoshi
0083fe5df1
Changed the copyright year to 2013 ( #216 )
2016-05-14 00:20:27 +09:00
Hajime Hoshi
57a9ecd821
ui: Refactoring
2016-05-07 22:27:10 +09:00
Hajime Hoshi
209b4e6864
ui: Add Main for the OS main thread
2016-05-06 21:30:23 +09:00
Hajime Hoshi
5a379cb7cb
Reduce panics ( #196 )
2016-04-11 01:48:40 +09:00
Hajime Hoshi
3ec0020f02
graphics: Bug fix ( #201 ): Remove gl.Flush for performance (this ws added by #161 but no longer needed because of BindZeroFrameBuffer)
2016-04-08 21:45:53 +09:00
Hajime Hoshi
75ef9a6d47
ui: Add read-write lock
2016-03-26 17:24:40 +09:00
Hajime Hoshi
4a60343fe6
ui: Don't use currentUI directly
2016-03-26 15:17:01 +09:00
Hajime Hoshi
95485441f4
ui: Remove dataset attributes
2016-03-25 01:15:47 +09:00
Hajime Hoshi
fb3bf4e3b4
ui: Add CurrentUI()
2016-03-25 00:38:30 +09:00
Hajime Hoshi
6ac6b8e7c0
input: Make functions goroutine-safe ( #192 )
2016-03-24 23:51:20 +09:00
Hajime Hoshi
6efead974f
ui: Rename ActualScale -> ActualScreenScale
2016-03-23 01:14:28 +09:00
Hajime Hoshi
62dffe5405
Add ebiten.ScreenScale() ( #191 )
2016-03-23 00:44:16 +09:00
Hajime Hoshi
2157061479
ui: Use actualScale to calc minimum window size
2016-03-22 12:01:53 +09:00
Hajime Hoshi
993a55abde
ui: Set window width limitation for Windows ( #165 )
2016-03-22 11:56:40 +09:00
Hajime Hoshi
8f15978c83
ui: Bug fix: Quit soon after the window is closed ( #185 )
2016-03-15 00:32:06 +09:00
Hajime Hoshi
b1f856a0e0
Add FPS const
2016-03-13 04:57:31 +09:00
Hajime Hoshi
3588d0b485
ui: Move vsync to ui.SwapBuffers on JavaScript version
2016-02-28 03:49:57 +09:00
Hajime Hoshi
fc200ec6f2
ui: Bug fix: The default framebuffer must be bound before swapping buffers
2016-02-28 00:56:39 +09:00
Hajime Hoshi
05eaec6dd9
ui: Bug fix: scale for cursor was wrong ( #166 )
2016-02-27 17:04:35 +09:00
Hajime Hoshi
7617a225f6
ui: deviceScaleFactor -> deviceScale
2016-02-27 02:17:31 +09:00
Hajime Hoshi
651d803107
ui: Change how to calc framebuffer scale
2016-02-27 01:53:02 +09:00
Hajime Hoshi
8069c980c3
ui: Refactoring: Add ui.ActualScale()
2016-02-27 01:44:01 +09:00
Hajime Hoshi
138a689382
ui: Refactoring
2016-02-27 01:35:14 +09:00
Hajime Hoshi
e2cf288ed7
ui: Bug fix: Wrong framebuffer scale
2016-02-26 03:50:00 +09:00
Hajime Hoshi
c97cae9598
ui: Remove println :-(
2016-02-26 03:45:52 +09:00
Hajime Hoshi
868eef0c2f
ui: Bug fix: Consider that (frame buffer width) / (window width) can be more than 1 ( #164 )
2016-02-26 03:44:37 +09:00
Hajime Hoshi
fc7be5be3c
ui: Bug fix: monitor's size might be 0 e.g. on Linux VM
2016-02-26 03:14:51 +09:00
Hajime Hoshi
4d53cf20da
ui: Calculate DPI and set the actual scale based on DPI
2016-02-26 03:09:23 +09:00
Hajime Hoshi
922f392544
ui: Bug fix: Call glFinish before glfwSwapBuffers to make sure all OpenGL tasks are executed ( #161 )
2016-02-24 22:57:19 +09:00
Hajime Hoshi
ffb8a78e37
ui: Error prefix
2016-02-23 03:27:06 +09:00
Hajime Hoshi
59adc6979a
ui: Bug fix: Adjust scaling factor on Linux ( #157 )
2016-02-23 01:41:57 +09:00
Hajime Hoshi
9e161864f6
ui: Bug fix: Make sure current framebuffers rendered ( #158 )
2016-02-22 03:14:31 +09:00
Hajime Hoshi
18a798f85c
ui: Refactoring
2016-02-22 01:30:33 +09:00
Hajime Hoshi
0a07d8531b
ui: Bug fix: SetPos should be called after Show at least on Linux
2016-02-21 23:11:39 +09:00
Hajime Hoshi
6e98e0716d
ui: SwapBuffer is now done on the rendering context thread
2016-02-21 22:20:33 +09:00
Hajime Hoshi
bb39766873
ui: Bug fix: gl* method should be called after looping starts
2016-02-21 21:53:48 +09:00
Hajime Hoshi
60a504543f
ui: Add OpenGL version
2016-02-21 17:27:26 +09:00
Hajime Hoshi
6c14c31c55
ui: Remove an unneeded prefix
2016-02-21 17:12:00 +09:00
Hajime Hoshi
591d71b447
ui: Bug fix: Init should always return a opengl context
2016-02-21 04:56:27 +09:00
Hajime Hoshi
46c74ec818
ui: Bug fix: compile error (a return value is required)
2016-02-21 02:19:40 +09:00
Hajime Hoshi
a4092a1bf1
ui: Bug fix: compile error
2016-02-21 02:15:14 +09:00
Hajime Hoshi
408444842a
Refactoring: ui.Init now returns gl.Context object
2016-02-20 20:08:53 +09:00
Hajime Hoshi
63f2c3cb9f
graphics: Refactoring: remove ExecOnUIThread
2016-02-20 04:39:43 +09:00
Hajime Hoshi
5cfefaf1a2
graphics: Refactoring: remove ui goroutines
2016-02-20 04:08:06 +09:00
Hajime Hoshi
269d94b145
graphics: Add worker consumer
2016-02-19 11:43:16 +09:00
Hajime Hoshi
5687d9d0ef
go generate
2016-02-11 03:53:36 +09:00
Hajime Hoshi
ccf7b0c159
Revert an unreasonable change at 633ee409
2016-02-06 15:54:29 +09:00
Hajime Hoshi
633ee4096e
#132 Temporal hack to run with Go1.5
2015-07-22 23:28:15 +09:00
Hajime Hoshi
e3608d08eb
Use GL 2.1 (for Windows)
2015-06-21 01:33:28 +09:00
Hajime Hoshi
4b9c740ee8
Update the version of GLFW to 3.1
2015-06-20 18:52:17 +09:00
Hajime Hoshi
2b8e98cfbc
js: Revert 60 FPS from 30 FPS
2015-06-14 03:50:43 +09:00
Hajime Hoshi
82ea3fa020
#125 : Fix import paths (Use go-gl/gl and go-gl/glfw instead of go-gl/glow and go-gl/glfw3
2015-04-13 00:49:30 +09:00
Hajime Hoshi
bca600a093
Update for the latest GopherJS (use *js.Object instead of js.Object)
2015-03-01 01:26:16 +09:00
Hajime Hoshi
246ac055bf
ui: Frame skip on JS
2015-02-21 22:19:26 +09:00
Hajime Hoshi
936942a28d
Add comments
2015-02-20 02:01:56 +09:00
Hajime Hoshi
8c2301e542
Fix misspelling
2015-02-16 02:49:17 +09:00
Hajime Hoshi
ba3feaf52f
ui: More precise clock
2015-02-15 19:30:29 +09:00
Hajime Hoshi
c5fc7ea0ab
ui: More precise space calc
2015-02-14 23:23:11 +09:00
Hajime Hoshi
beecf31937
Resolve some TODOs
2015-02-10 10:44:58 +09:00
Hajime Hoshi
cd4188b0a3
Add SetScreenScale ( #115 )
2015-02-10 00:10:50 +09:00
Hajime Hoshi
249add3979
Add SetScreenSize
2015-02-09 11:02:04 +09:00
Hajime Hoshi
3964944deb
Move ui_*.go back to internal/ui again
2015-01-27 22:37:00 +09:00
Hajime Hoshi
23b3f1afce
Move some files of internal/ui to the root
2015-01-27 01:10:17 +09:00
Hajime Hoshi
346bc53d53
Move internal/opengl -> internal/graphics/internal/opengl
2015-01-26 23:27:28 +09:00
Hajime Hoshi
4c37efd673
Merge branch 'master' into audio
2015-01-21 10:12:14 +09:00
Hajime Hoshi
5b41374ac7
Support touch events (esp. for mobile browsers) ( #76 )
2015-01-21 02:58:29 +09:00
Hajime Hoshi
59ed15b2f7
Bug fix: Use prevent default properly
2015-01-15 22:28:05 +09:00
Hajime Hoshi
f27ba0ea03
Enable gopherjs test
2015-01-14 23:16:06 +09:00
Hajime Hoshi
02dbeef1b9
Add docs for gamepad API (I checked it worked on Chrome)
2015-01-12 14:59:12 +09:00
Hajime Hoshi
8987f7a645
Implement Gamepad API for JavaScript (working on Firefox so far)
2015-01-12 14:36:13 +09:00
Hajime Hoshi
a500d3a3f8
Improve example/gamepad
2015-01-12 13:33:21 +09:00
Hajime Hoshi
a6b7eab71b
Add Gamepad API
2015-01-12 02:29:56 +09:00
Hajime Hoshi
355da1bcbc
Add Experimental Audio API
2015-01-11 18:03:51 +09:00
Hajime Hoshi
3b02993a5d
Modify comments
2015-01-10 19:59:47 +09:00
Hajime Hoshi
15c7341816
Replace .on* = func -> addEventListener = func
2015-01-10 15:51:07 +09:00
Hajime Hoshi
e656b607f6
Add TODO comment
2015-01-10 01:02:26 +09:00
Hajime Hoshi
e7599a6d85
docs: Move example *.js and *.js.map files to another repository
2015-01-10 00:45:21 +09:00
Hajime Hoshi
eb325c9684
Update docs
2015-01-08 23:45:30 +09:00
Hajime Hoshi
5dade52621
Bug fix: Use document.hidden (focus/blue event is not reliable when using <iframe>)
2015-01-08 11:56:21 +09:00
Hajime Hoshi
d933c54e20
Bug fix: Check window.top's focus in case that game is in <iframe>
2015-01-08 02:24:05 +09:00
Hajime Hoshi
a1214ff735
Stop the game when the window is not active ( #69 )
2015-01-08 01:35:09 +09:00
Hajime Hoshi
6efb806cc2
Stabilize FPS for JS
2015-01-08 00:44:41 +09:00
Hajime Hoshi
9915e6764a
Bug fix: blurred canvas in Retina display ( #68 )
2015-01-08 00:01:18 +09:00
Hajime Hoshi
27cd0610d1
Add 'auto-generated' notices ( #66 )
2015-01-07 23:21:52 +09:00
Hajime Hoshi
4eaa16b8d1
Rename mod key names
2015-01-07 23:18:40 +09:00
Hajime Hoshi
6bdc875596
Bug fix: Ignore unknown keys
2015-01-07 23:02:58 +09:00
Hajime Hoshi
f78c79a5dd
Bug fix: onkeydown function should return false to prevent browser shortcuts
2015-01-07 23:01:23 +09:00
Hajime Hoshi
a710db4c9e
Bug fix: invalidate function keys, backspace on browsers
2015-01-07 11:22:48 +09:00
Hajime Hoshi
9f40da41fc
Add backspace (not tested)
2015-01-07 11:22:25 +09:00
Hajime Hoshi
62d1395670
Arrange key's order
2015-01-07 11:00:15 +09:00
Hajime Hoshi
74e3c40740
Yield focus to canvas on clicking body
2015-01-07 04:39:33 +09:00
Hajime Hoshi
795e7c8eb2
Focus canvas on start ( #64 )
2015-01-07 04:34:47 +09:00
Hajime Hoshi
03cf0a7069
Bug fix: glfw.MouseButton should be converted to MouseButton
2015-01-07 04:04:04 +09:00
Hajime Hoshi
7677d885a2
Remove MouseButtonMax
2015-01-07 03:08:33 +09:00
Hajime Hoshi
bc26690b14
Add genkey.go
2015-01-07 03:05:59 +09:00
Hajime Hoshi
9d12a23172
Bug fix: preventDefault may prevent other events
2015-01-07 02:24:47 +09:00
Hajime Hoshi
a9f1b4f0e9
Add keys_glfw.go and keys_js.go
2015-01-07 00:05:46 +09:00
Hajime Hoshi
0ab90197a3
Implement IsMouseButtonPressed / CursorPosition in JS ( #53 )
2015-01-06 23:41:03 +09:00
Hajime Hoshi
c98631a703
Add input_glfw.go; Rename ui.go -> ui_glfw.go
2015-01-06 21:54:42 +09:00
Hajime Hoshi
324e8653fb
Update docs to use GopherJS ( #54 )
2015-01-06 00:44:39 +09:00
Hajime Hoshi
3f45685136
Centering <canvas>
2015-01-05 22:22:47 +09:00
Hajime Hoshi
1a4b25b23f
Change <title> on ui.Start ( #56 )
2015-01-05 22:08:22 +09:00
Hajime Hoshi
62f47ed02f
Change the body's background color black
2015-01-03 01:19:25 +09:00
Hajime Hoshi
ae04bb17f6
Reduce calling glFlush
2015-01-03 01:14:36 +09:00
Hajime Hoshi
47227139db
Implement keyboard events for js
2015-01-03 00:52:49 +09:00
Hajime Hoshi
bd4434c62c
Add loadimage_js.go
2015-01-02 16:48:07 +09:00
Hajime Hoshi
cadb3fffdf
Add ui_js.go and input_js.go
2015-01-02 15:20:05 +09:00
Hajime Hoshi
c95390801a
Add keys.go
2015-01-02 03:29:51 +09:00
Hajime Hoshi
c4e104a5d2
Remove ui.ActualScale()
2015-01-02 03:28:43 +09:00
Hajime Hoshi
3d01084a2a
Hide structs in internal/ui
2015-01-02 03:25:31 +09:00
Hajime Hoshi
a9e323d02c
Rename input -> Input
2015-01-02 02:44:00 +09:00
Hajime Hoshi
8994bf4fad
Rename RealScale -> ActualScale
2015-01-02 02:23:47 +09:00
Hajime Hoshi
96f5315c49
Add internal/ui module
2015-01-02 02:13:27 +09:00