Commit graph

149 commits

Author SHA1 Message Date
Bryan Bell b532b8c65f Add mouse cursor support
Add a new api, window.set_cursor, for setting the cursor. The enum MouseCursor lists the possible cursors.

Only X11 is implemented. On OSX, Android, & Win32 the window.set_cursor function
either does nothing or calls the "unimplemented!" macro.
2015-01-12 16:22:37 -08:00
Pierre Krieger 469d0eafd1 Update for rust alpha 1.0 2015-01-10 08:23:20 +01:00
Pierre Krieger dbdb43f077 Update for Rustc 2015-01-08 09:28:22 +01:00
Pierre Krieger 885d5e9c38 Update for Rustc 2015-01-05 14:39:58 +01:00
Pierre Krieger 4c5e430dd3 Update for Rustc 2015-01-03 23:15:39 +01:00
Ty Overby a698146943 Change the way that events are represented.
The bulk of this commit is changing instances of Vec to RingBuf which is
optimized for the push_back() / pop_front() strategy that is used
internaly in the event system.

The glutin custom iterators are now just wrappers around the RingBuf
iterator type.  This will bring the running time of iterator traversal from
O(n^2) to O(n) because shifting-on-delete won't be performed.
2015-01-01 23:44:02 -08:00
Pierre Krieger b9710f05a9 Unify WindowBuilder and HeadlessRendererBuilder for easier implementations 2014-12-31 07:34:26 +01:00
Pierre Krieger b9a6366f96 Update for changes in Send/Sync traits 2014-12-30 08:20:50 +01:00
Pierre Krieger 7f6f4f8d04 Update for gl_generator's changes 2014-12-24 08:12:10 +01:00
Pierre Krieger dbb82968ba Update for rustc 2014-12-23 17:12:29 +01:00
Pierre Krieger faf5812d05 Fix win32 build without the "window" feature 2014-12-20 18:49:57 +01:00
Michael Powell 6e9969ccc0 Add semicolons after macro invocations, as required by the latest nightly. 2014-12-19 21:34:20 -08:00
Glenn Watson fa5cb66cff Add resize example, fix warnings, make callback an option so it can be removed. 2014-12-19 05:44:47 +10:00
Glenn Watson 0ad9c3d453 Add callback function to allow resize messages to be sent on mac. 2014-12-19 05:44:20 +10:00
Glenn Watson 95f82927b3 Change todo to unimplemented 2014-12-19 05:00:43 +10:00
Glenn Watson 9dc5689eef Introduce a WindowProxy for accessing a subset of functionality
from other threads. This currently provides a way for other threads
to wakeup a blocked event loop on X11. Other platforms have stub
functions that need to be implemented. This is similar to
the functionality of glfwPostEmptyEvent.
2014-12-17 14:50:05 +10:00
Pierre Krieger 19d120b8b1 Update for Rustc for win32 2014-12-15 14:06:32 +01:00
Pierre Krieger c893e4faec Add get_api() function 2014-12-07 13:52:08 +01:00
Pierre Krieger 3cf487ac70 Use the winapi crate instead of our own ffi 2014-12-02 14:58:20 +01:00
Pierre Krieger 5072bc287f Update for rustc on win32 2014-11-27 15:52:07 +01:00
Pierre Krieger 729551f828 Implement multisampling for x11 2014-11-27 15:26:42 +01:00
Pierre Krieger 4c0413bc7c Implement lists sharing 2014-11-24 20:13:52 +01:00
Pierre Krieger 77df8e52bc Update for rustc 2014-11-23 11:56:30 +01:00
Pierre Krieger ff3a29aaf5 Update for rustc 2014-11-19 07:06:27 +01:00
Tomaka17 8c1b2dd633 Add support for the OpenGL debug flag 2014-11-09 16:44:53 +01:00
Tomaka17 ee8682caf2 Add CS_OWNDC flag when creating win32 window 2014-11-08 20:15:18 +01:00
Tomaka17 2be71306ec Remove key modifiers in KeyboardInput 2014-11-06 19:09:07 +01:00
Tomaka17 584bb3e7df Use a proper error type for window creation 2014-11-05 16:42:18 +01:00
Tomaka17 7ce851dad9 Update for changes in gl-rs 2014-11-05 15:32:01 +01:00
Tomaka17 2e44edea60 Merge branch 'master' of http://github.com/tomaka/gl-init-rs 2014-11-05 15:23:20 +01:00
Tomaka17 4c674ef843 Fix some warnings in win32 ffi 2014-11-04 14:08:28 +01:00
Tomaka17 b6f7491157 Add visibility-related functions to window 2014-11-01 09:03:21 +01:00
tomaka a908a14adc Merge pull request #90 from tomaka/remove-glflush
Remove call to glFlush() before swap_buffers on win32
2014-10-31 17:46:16 +01:00
Tomaka17 7de3d55e71 fail! -> panic! 2014-10-30 08:14:09 +01:00
Tomaka17 bbcb4c8bea Remove call to glFlush() before swap_buffers
We may not want to call `swap_buffers` in the same thread as the
current thread, so we're moving the call to `glFlush` out of the scope
of glutin.
2014-10-29 19:01:58 +01:00
Tomaka17 f7a50c162c Bugfix in swap interval for win32 2014-10-27 13:09:36 +01:00
Tomaka17 8249e545f8 Add with_vsync to WindowBuilder, plus the win32 implementation 2014-10-26 16:35:24 +01:00
tomaka fa99f0e701 Revert "Add platform_display impls for win32 and android" 2014-10-25 10:40:27 +02:00
Tomaka17 0eda82c28f Add platform_display impls for win32 and android
Fix the cocoa function
2014-10-24 12:54:58 +02:00
Glenn Watson 5693fbcce3 Add accessor for underlying display handle on Linux. Although unimplemented on other platforms, this applies to at least android as well. 2014-10-24 15:20:25 +10:00
Tomaka17 2ff393fe62 Update for rustc and gl-rs 2014-10-22 11:23:21 +02:00
Tomaka17 0d0c14e6ec Update for gl-rs 2014-10-21 08:11:08 +02:00
Tomaka17 9e9a3ae03a Fix win32 window not closing when destroying it 2014-10-11 20:52:48 +02:00
Tomaka17 64bbc4965f Fix win32 window not having a destructor in headless mode 2014-10-11 20:40:15 +02:00
Tomaka17 cdee854d2e Fix bug with 64bits rustc 2014-10-11 20:23:33 +02:00
Tomaka17 cb32e64b72 Fix warnings while compiling for win32 2014-10-11 17:58:17 +02:00
Tomaka17 c316c86e7c Update for rustc f9fc49c06 2014-10-10 00:07:08 +0000 2014-10-10 17:52:47 +02:00
Tomaka17 e565bfeb13 Implement headless rendering 2014-10-09 15:55:42 +02:00
Tomaka17 ea957ce1d7 Fix compilation warnings 2014-09-23 08:01:18 +02:00
Tomaka17 991dc50a31 Remove unnecessary win32 linkage 2014-09-15 13:08:35 +02:00
Tomaka17 ee2349f272 Fix warnings in win32 ffi 2014-09-15 12:09:17 +02:00
Tomaka17 2af367b55c Use the gl_generator macro to generate the bindings for WGL 2014-09-12 15:51:43 +02:00
Tomaka17 d870fa7ffa Remove call to glViewport after win32 initialization 2014-08-22 11:26:47 +02:00
Tomaka17 d6fec79334 Cleanup temporary objects in case of error during creation on win32
See #10
2014-08-22 11:26:00 +02:00
Tomaka17 5c92587442 Fix & add some comments for win32 2014-08-22 11:21:12 +02:00
Tomaka17 6b45d1ca25 Not specifiying dimensions on win32 now results in CW_USEDEFAULT
Close #11
2014-08-22 11:19:19 +02:00
Tomaka17 4c1503dc32 Win32: no longer fails when calling swap_buffers on a closed window 2014-08-15 15:34:30 +02:00
Tomaka17 ae65b423dd Implement new events system 2014-08-13 17:23:03 +02:00
Tomaka17 cd3fc3075a Fix #22
Thanks to @Anthiste
2014-08-12 21:21:06 +02:00
Tomaka17 32e9b5062c Add failure if SwapBuffers returns an error 2014-08-12 17:04:12 +02:00
Tomaka17 a8c056f83b Fixed compilation broken by #837efc54 2014-08-12 16:55:56 +02:00
Tomaka17 837efc5460 Fix attempt for #22 2014-08-12 11:01:18 +02:00
Tomaka17 5f1d8dbedf Add flags when choosing pixel format 2014-08-07 18:51:27 +02:00
Tomaka17 61781cf209 Call glViewport on windows init for win32
See #14
2014-08-07 18:48:34 +02:00
Pierre Krieger e567d7f4fd set_position now takes ints
Fix #12
2014-08-07 18:07:48 +02:00
Tomaka17 d574f6f1bb Fix GL context not being destroyed on win32 2014-08-03 17:33:48 +02:00
Tomaka17 3c9565ad25 Fix closed flag not being immediatly set on win32 2014-08-03 17:27:48 +02:00
Tomaka17 0152099c91 Correctly handling pixel format and fullscreen resolution on Win32 2014-08-02 12:23:05 +02:00
Tomaka17 b0d9d0b87f Dimensions will now match the monitor's in case of fullscreen 2014-08-02 11:23:32 +02:00
Tomaka17 abceca1121 Add get_dimensions() to MonitorID 2014-08-02 11:17:49 +02:00
Tomaka17 8c074af9fc Add support for specific OpenGL version for Win32 2014-08-02 11:03:09 +02:00
Tomaka17 49b0a20170 Now passing WindowBuilder to implwin::Window::new 2014-08-02 10:42:17 +02:00
Tomaka17 5dda167021 Add iterators for events and WindowBuilder 2014-08-02 08:29:37 +02:00
Tomaka17 959613870c Now using wglCreateContextAttribs when available 2014-08-02 00:01:45 +02:00
Tomaka17 c1ecc06baf Change the RegisterClass code.
Prevents an issue when creating multiple contexts.
2014-08-01 23:12:46 +02:00
Tomaka17 d93cea808d Add documentation to the Win32 implementation 2014-08-01 23:02:26 +02:00
Tomaka17 fd20346829 Put GetMessage in the same thread as the window creation.
Fixes #6
2014-07-31 20:55:30 +02:00
Tomaka17 91b0eeae8d Split win32/mod.rs 2014-07-31 20:14:36 +02:00
Tomaka17 d9d293667a Add monitor support for win32 2014-07-31 11:13:40 +02:00
Tomaka17 db8955a9d8 Add API for monitors 2014-07-31 10:02:01 +02:00
Tomaka17 8911e162ce MonitorID now defined by the implementations 2014-07-31 09:42:50 +02:00
Tomaka17 270e290af9 make_current() is now unsafe 2014-07-30 18:12:39 +02:00
Tomaka17 6d9c5eb2bd should_close() renamed to is_closed() 2014-07-30 13:29:28 +02:00
Tomaka17 aa7d88dbda Fix bad events 2014-07-30 13:11:49 +02:00
Tomaka17 838cc2b325 Window getters now return an Option in case where the Window has been closed 2014-07-30 13:10:17 +02:00
Tomaka17 1f0999e6a0 Implement get_position for win32 and fix interface 2014-07-27 22:46:30 +02:00
Tomaka17 14a697b272 Implement get_*_size() for win32 2014-07-27 22:36:55 +02:00
Tomaka17 d4e334aecb get/set_size() -> get/set_inner/outer_size() 2014-07-27 22:36:28 +02:00
Tomaka17 0d122cec47 Implement fullscreen for win32 2014-07-27 21:21:50 +02:00
Tomaka17 d824fb94db Draft for monitor API 2014-07-27 20:41:25 +02:00
Tomaka17 6133e17b9a Add moved events for win32 2014-07-27 20:08:31 +02:00
Tomaka17 1e615b59a6 Better events handling for win32 2014-07-27 19:58:27 +02:00
Tomaka17 7a8e7a7922 Implement focus events for win32 2014-07-27 19:45:29 +02:00
Tomaka17 f5080a2b29 Implement mouse clicks on win32 2014-07-27 19:41:02 +02:00
Tomaka17 a28282ef5f Implement Pressed and Released 2014-07-27 18:55:14 +02:00
Tomaka17 754a6ef60f Implement ReceivedCharacter on win32 2014-07-27 18:39:22 +02:00
Tomaka17 c67ab381bf Fix events handling on win32 2014-07-27 18:35:42 +02:00
Tomaka17 bf2773c233 Temporarily remove NeedRefresh event from win32 2014-07-27 13:10:59 +02:00
Tomaka17 1cc0447c5e Initial commit 2014-07-27 11:41:26 +02:00