Hajime Hoshi
f19e349d38
web: Remove IsNodeJS
...
gjbt now creates a pseudo-Node environment by creating
window.process object, and this conflicted with an assumption that
Ebiten doesn't nothing on Node environment. See
https://github.com/myitcv/gjbt/pull/13 for the detail.
This change allows Ebiten work on pseudo-Node environment. Even
after this change, Ebiten doesn't work on real Node environment
due to lack of DOM.
2018-06-28 00:12:24 +09:00
Hajime Hoshi
a9359e4ef8
Use GopherJS/GopherWasm
2018-06-24 16:10:24 +09:00
Hajime Hoshi
8d644479cc
opengl: Initialize consts first to avoid 'Get' calls
2018-06-19 04:02:56 +09:00
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
c2df8326fc
ui: Refactoring: Use IsNodeJS
2018-05-16 22:02:33 +09:00
Hajime Hoshi
d8dba69b47
ui: Add MonitorSize
...
Fixes #470
2018-05-05 02:42:45 +09:00
Hajime Hoshi
9efccea31c
ui: Add SetWindowTitle
...
Fixes #595
2018-05-02 19:21:17 +09:00
Hajime Hoshi
2d3c6ab5b8
ui: Remove build tag 'gomobilebuild'
...
Fixes #573
2018-04-07 02:14:54 +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
526fbd3619
ui: Implement SetWindowDecorated and IsWindowDecorated
...
Fixes #430 .
2018-03-17 18:30:55 +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
a644e92298
restorable: Better calculation to clear restorable.Image
2018-02-24 21:16:30 +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
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
c82809867d
Add internal/devicescale
2018-01-03 05:22:56 +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
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
Hajime Hoshi
99d170b454
ui: Remove isSafari that is not used anywhere
2017-08-27 02:14:23 +09:00
Jake
0d703ca3d4
InputChars ( #403 )
...
This implements #400
2017-08-15 04:11:51 +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
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
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
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
b569eb9c5a
ui: Add SetFullscreen / IsFullscreen ( #267 )
2017-06-30 01:28:00 +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
0cd692d26a
ui: Use code instead of keyCode on browsers but Safari
2017-04-14 03:02:38 +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
e11bc62059
ui: SetScreenSize/Scale no longer returns error
2017-03-03 10:58:29 +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
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
cd885ce7c5
ui: Add SetCursorVisibility ( #258 )
2016-09-03 18:54:21 +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
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
f556b19f22
Add error checks
2016-08-03 23:44:54 +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
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
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
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
b0a7e13502
ui: Remove ScreenSizeEvent.Scale
2016-06-19 05:10:27 +09:00
Hajime Hoshi
eb8e8b6034
ui: Remove FinishRendering
2016-06-10 01:49:21 +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
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
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
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
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
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
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
3588d0b485
ui: Move vsync to ui.SwapBuffers on JavaScript version
2016-02-28 03:49:57 +09:00
Hajime Hoshi
8069c980c3
ui: Refactoring: Add ui.ActualScale()
2016-02-27 01:44:01 +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
2b8e98cfbc
js: Revert 60 FPS from 30 FPS
2015-06-14 03:50:43 +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
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
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
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
9d12a23172
Bug fix: preventDefault may prevent other events
2015-01-07 02:24:47 +09:00
Hajime Hoshi
0ab90197a3
Implement IsMouseButtonPressed / CursorPosition in JS ( #53 )
2015-01-06 23:41:03 +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