Commit graph

346 commits

Author SHA1 Message Date
Glenn Watson 97c471dc05 Add an interface for providing system wide initialization options to the windowing system.
This allows setting up Linux based systems which use multithreaded OpenGL contexts.
2014-10-24 19:58:19 +10:00
tomaka fe8646c556 Merge pull request #66 from glennw/platform_data
Add accessor for underlying display handle on Linux.
2014-10-24 10:19:35 +02:00
Glenn Watson 21e3ff99fa Make platform data function as unsafe. 2014-10-24 18:12:03 +10: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
Glenn Watson 80e4fa9ad8 Fix closing X display in get_dimensions 2014-10-24 14:13:19 +10:00
David Partouche f86af01a99 Added the Alt key modifier 2014-10-23 18:01:09 +02:00
David Partouche 6f46c0c2dd Added the modifiers key as input 2014-10-23 17:30:17 +02:00
David Partouche 271b688910 Fixed switch from atomics to atomic in rust 2014-10-23 17:30:16 +02:00
David Partouche 86e8480550 Added the KeyPress and KeyRelease events 2014-10-23 17:30:16 +02:00
David Partouche dad539114d Added ReceivedCharacter event for cocoa 2014-10-23 17:30:16 +02:00
David Partouche ba8f55547f Added is_closed to osx window 2014-10-23 17:30:16 +02:00
David Partouche 421beefe67 Added mose move event 2014-10-23 17:30:16 +02:00
David Partouche 5969cfe886 Fixed a compilation error: setContentview changed setContentView_ 2014-10-23 12:04:39 +02: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
Pierre Krieger bb22087d1c Use gl-rs's GLX bindings for x11 2014-10-13 11:36:01 +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
David Partouche a2df6a8699 Changed statics to uppercase 2014-10-11 12:38:34 +02:00
David Partouche 10f625c2c8 Fixed static uppercase warning 2014-10-11 12:04:48 +02:00
Tomaka17 bfbc462511 Change implementations import system 2014-10-11 11:06:21 +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
DavidPartouche dc80f57bc2 Fixed a space missing 2014-10-06 18:37:06 +02:00
David Partouche 989fd1b505 Added events handling for left/right mouse clicking 2014-10-06 18:23:31 +02:00
David Partouche db578e6e1c Refactored window initialisation code for cocoa, making it more memory safe 2014-10-06 18:23:31 +02:00
David Partouche c38110cac7 Cocoa opens a window with OpenGL context inside 2014-10-06 18:23:31 +02:00
Pierre Krieger fe245e2929 Fix warnings 2014-10-05 15:54:37 +02:00
Tomaka17 ea957ce1d7 Fix compilation warnings 2014-09-23 08:01:18 +02:00
DavidPartouche 6d3d84ef75 Use the correct monitor when fullscreen for X11 2014-09-20 11:18:03 +02:00
DavidPartouche 4222d12e67 Added output to get_name for x11 monitors 2014-09-19 20:30:15 +02:00
DavidPartouche 906324e267 Get the monitors attached to the display, and their resolution for X11 2014-09-19 20:30:15 +02:00
DavidPartouche 6f47e6ff8c Changed is_fullscreen to monitor.is_some() 2014-09-19 20:30:13 +02:00
David Partouche 55ebd4935e Added fullscreen support for X11 2014-09-19 20:29:28 +02:00
DavidPartouche ac74db979c Get the monitors attached to the display, and their resolution for X11 2014-09-19 20:28:14 +02:00
DavidPartouche bd3b06e1a5 Changed is_fullscreen to monitor.is_some() 2014-09-19 20:28:11 +02:00
David Partouche b149fca83d Added fullscreen support for X11 2014-09-19 20:26:41 +02:00
tomaka 1ae81267f5 Merge pull request #35 from evant/master
Make x11 keyboard repeat detectable
2014-09-16 07:53:20 +02:00
Evan Tatarka bcd3da1fcd make x11 keyboard repeat detectable 2014-09-15 19:11:23 -04: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 ce052484f7 Remove some unused imports 2014-09-13 09:04:47 +02:00
Tomaka17 f3e0c57158 Use gl_generator to generate EGL bindings for Android 2014-09-13 09:01:21 +02:00
Tomaka17 2af367b55c Use the gl_generator macro to generate the bindings for WGL 2014-09-12 15:51:43 +02:00
Tomaka17 3043cb2848 Remove old "egl" module 2014-09-12 15:20:59 +02:00
Tomaka17 0bb82e8467 Add basic support for Android 2014-09-11 18:28:07 +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 761d82cd60 Remove forgotten debugging println
Closes #26
2014-08-22 10:57:31 +02:00
DavidPartouche 44c15bf6e6 Fixed broken build with latest rust update (use 'foo' = 'bar' syntax error) 2014-08-19 18:18:59 +02:00
Tomaka17 24dbe322f7 Track rust nightly 2014-08-15 16:12:40 +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 3aab801f29 Implement Default for Window 2014-08-13 14:52:12 +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 53b9d6398c Remove dummy context creation for X11 2014-08-12 09:42:48 +02:00
Tomaka17 f452999b8c Minor fix in consistency for #[cfg]s 2014-08-12 09:17:23 +02:00
Tomaka17 391c4e525c Now using compile_msg crate instead of static_assert 2014-08-12 09:16:08 +02:00
Tomaka17 87d62e5b6f get_proc_address now returns a libc::c_void 2014-08-11 10:32:33 +02:00
Tomaka17 5f1d8dbedf Add flags when choosing pixel format 2014-08-07 18:51:27 +02:00
Tomaka17 acb0ab7cac Add default title for windows 2014-08-07 18:49:47 +02:00
Tomaka17 61781cf209 Call glViewport on windows init for win32
See #14
2014-08-07 18:48:34 +02:00
Pierre Krieger 01fd8b1d9e Now calling glViewport on X11 when the window is created
See #14
2014-08-07 18:13:52 +02:00
Pierre Krieger e567d7f4fd set_position now takes ints
Fix #12
2014-08-07 18:07:48 +02:00
Pierre Krieger 3f69cbb189 Fix two warnings on X11 2014-08-07 18:05:51 +02:00
Pierre Krieger cbf07d3190 Add some error detection 2014-08-07 18:05:18 +02:00
Pierre Krieger d3e3590b84 Fix glXCreateContextAttrib always null 2014-08-07 18:03:56 +02:00
Pierre Krieger 76ebf39bcd Merge branch 'master' of https://github.com/tomaka/gl-init-rs 2014-08-07 17:54:04 +02:00
Pierre Krieger 5d997b618f Cleaner GL creation on X11 2014-08-07 17:53:41 +02:00
Pierre Krieger 2184e5e578 Minor style fix in X11 2014-08-07 17:36:48 +02:00
Pierre Krieger c7aa219ef1 Now using glXChooseFBConfig 2014-08-07 17:35:26 +02:00
Tomaka17 d2bd19bc21 Doc now ignored for doctest 2014-08-07 09:33:28 +02:00
Felix S. Klock II f1993be9ea Fix bugs from f4fb699b52 2014-08-03 18:30:31 +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 48632619c9 Add static assert for platform not supported 2014-08-03 10:30:04 +02:00
Tomaka17 f4fb699b52 Add dummy implementation for OS/X 2014-08-03 09:25:30 +02:00
Tomaka17 52cccb8dda Add doc to crate root 2014-08-02 20:49:48 +02:00
Pierre Krieger eee9e298ba Implement set_window_position for x11 2014-08-02 12:47:32 +02:00
Tomaka17 d08c94daac Remove Iconified and NeedRefresh events 2014-08-02 12:43:48 +02:00
Tomaka17 2aeec39156 Remove #[exprimental] from make_current 2014-08-02 12:32:08 +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 dbaef704ad Fix docs for Window 2014-08-02 11:07:29 +02:00
Tomaka17 bfc5d3e63d with_monitor -> with_fullscreen 2014-08-02 11:04:48 +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 21c8ffab80 Mark hints as deprecated 2014-08-01 23:22:29 +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 19b8474c4a Window is no longer NoSend 2014-07-31 20:56:56 +02:00
Tomaka17 14c59e8d81 Merge branch 'master' of http://github.com/tomaka/gl-init-rs 2014-07-31 20:55:55 +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
Pierre Krieger 26fec195d5 Implement ReceivedCharacter for X11 2014-07-31 18:44:44 +02:00
Pierre Krieger 59b4d23d58 Add mouse buttons press/release events for X11 2014-07-31 17:33:46 +02:00
Pierre Krieger 0d45c7fcb4 Fix warning in X11 ffi 2014-07-31 17:25:56 +02:00
Pierre Krieger 0c76ff8771 Add get_position and get_inner_size for X11 2014-07-31 17:01:58 +02:00
Pierre Krieger 37c5b5446b Add some keyboard events for X11 2014-07-31 16:46:29 +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 a9a42bd2ec Add draft for EGL 2014-07-30 17:13:30 +02:00
Tomaka17 ca89748414 Minor fix in docs 2014-07-30 14:18:31 +02:00
Tomaka17 17ad7ef50e Add docs to lib.rs 2014-07-30 14:13:42 +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
Pierre Krieger 67349d717a Better events handling on X11 2014-07-28 15:06:38 +02:00
Pierre Krieger c1da2b1273 Work on input support for X11 2014-07-28 14:41:12 +02:00
Pierre Krieger 433c5b956e Implement CursorPositionChanged event for X11 2014-07-28 13:25:28 +02:00
Pierre Krieger 5764b9c243 Implement resize events on X11 2014-07-28 13:16:55 +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 0103fb833e Remove FramebufferSizeChanged event 2014-07-27 19:45:02 +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
Pierre Krieger 24baf4d104 Add some events 2014-07-27 17:06:03 +02:00
Tomaka17 758fd069c6 Remove some reliquate comment 2014-07-27 16:11:23 +02:00
Pierre Krieger f29b2f91e1 Now using dimensions 2014-07-27 15:54:48 +02:00
Pierre Krieger 356394cc75 Better cleanup in X11 destruction 2014-07-27 15:49:43 +02:00
Pierre Krieger bd0ae7476c Work on X11 events 2014-07-27 15:21:42 +02:00
Pierre Krieger 5aa72279aa Window is now NoSend 2014-07-27 15:11:59 +02:00
Pierre Krieger 4028b925d3 X11 implementation 2014-07-27 15:10:58 +02:00
Tomaka17 bf2773c233 Temporarily remove NeedRefresh event from win32 2014-07-27 13:10:59 +02:00
Tomaka17 13b79ffaaf Cleanup crate root 2014-07-27 12:59:45 +02:00
Tomaka17 1cc0447c5e Initial commit 2014-07-27 11:41:26 +02:00