Commit Graph

328 Commits

Author SHA1 Message Date
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