Commit graph

352 commits

Author SHA1 Message Date
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 c956559a51 Add missing with_* functions 2014-12-31 07:34:27 +01:00
Pierre Krieger e1b5d9c103 Add build_strict function on builders 2014-12-31 07:34:26 +01:00
Pierre Krieger b9710f05a9 Unify WindowBuilder and HeadlessRendererBuilder for easier implementations 2014-12-31 07:34:26 +01:00
Patrick Horlebein 0e64651db8 Removed NSOpenGLPFAOpenGLProfiles enum in favor of the one defined in the AppKit bindings 2014-12-30 17:02:49 +01:00
Patrick Horlebein b0dddb2d3f Fixed missing std::ascii::AsciiExt import 2014-12-30 17:01:37 +01:00
Pierre Krieger b9a6366f96 Update for changes in Send/Sync traits 2014-12-30 08:20:50 +01:00
Patrick Horlebein 09cf026a9d Minor match clause cleanup 2014-12-29 13:46:44 +01:00
Patrick Horlebein 1b0064f9f7 Fixed deprecation warnings 2014-12-29 13:27:24 +01:00
Patrick Horlebein 86af6b6387 Started adding support for selection OpenGL versions on OS X. Needs issue #176 to be fixed. 2014-12-29 13:26:44 +01:00
Andrey Lesnikov 9a5f02984d android: Implemented basic poll_events() 2014-12-26 01:29:54 +03:00
Andrey Lesnikov e441247d61 Removed 'extern crate gl_generator' 2014-12-26 01:28:48 +03:00
Pierre Krieger 7f6f4f8d04 Update for gl_generator's changes 2014-12-24 08:12:10 +01:00
tomaka 6b0dd62681 Merge pull request #170 from tomaka/update-rustc
Update for rustc
2014-12-23 17:18:08 +01:00
Pierre Krieger dbb82968ba Update for rustc 2014-12-23 17:12:29 +01:00
Glenn Watson bd28ebb34f Fix passing visibility through for mac. 2014-12-23 10:08:50 +10: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 f8d3b232a5 Add support for visible parameter on mac. 2014-12-19 08:44:45 +10:00
Glenn Watson f2d112213b Add experimental attribute since this API will need to be cleaned up. 2014-12-19 05:44:47 +10: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
tomaka 0164449955 Merge pull request #161 from glennw/thread-proxy
Introduce a WindowProxy for accessing a subset of functionality
2014-12-18 20:36:37 +01:00
Glenn Watson 95f82927b3 Change todo to unimplemented 2014-12-19 05:00:43 +10:00
tomaka 9434811328 Merge pull request #164 from glennw/scroll-wheel
Add scroll wheel events for mac.
2014-12-18 08:03:41 +01:00
Glenn Watson 3c1a803d8d Add scroll wheel events for mac. 2014-12-18 15:18:22 +10:00
Glenn Watson 2c150143d8 Add mac implementation of wakeup_event_loop. 2014-12-18 14:26:02 +10:00
Glenn Watson 435c64f473 Fix event name 2014-12-18 10:57:12 +10:00
Pierre Krieger 03d6a41ba3 Update for rustc for x11 2014-12-17 10:25:38 +01: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 a79bc34807 Update for Rustc 2014-12-13 20:07:35 +01:00
Jakob Fries 12d5d5beea Avoid warning; if_let and tuple_indexing now part of language. 2014-12-08 21:12:03 +01:00
Pierre Krieger c893e4faec Add get_api() function 2014-12-07 13:52:08 +01:00
tomaka 2320c2bc97 Merge pull request #156 from tomaka/remove-compile-msg
Remove the dependency to compile_msg
2014-12-05 15:47:29 +01:00
tomaka ab387dc2a3 Merge pull request #157 from ozkriff/master
android: updated for rust 5484d6f6d 2014-12-02 00:22:00 +0000
2014-12-04 22:40:33 +01:00
Andrey Lesnikov b28273de04 android: updated for rust 5484d6f6d 2014-12-02 00:22:00 +0000 2014-12-05 01:30:17 +04:00
Pierre Krieger ffba8564c8 Remove the dependency to compile_msg 2014-12-04 20:44:12 +01:00
Ruben Bakker e979f316e7 Qualify enum namespacing for NSOpenGLCPSwapInterval 2014-12-03 20:54:10 +02:00
tomaka c6f5b4a107 Merge pull request #150 from tomaka/winapi
Use the winapi crate instead of our own ffi
2014-12-03 08:25:02 +01:00
tomaka 6652cd0bdf Merge pull request #154 from tomaka/fix-warning-x11
Fix deprecation warning on X11
2014-12-02 20:48:15 +01:00
Pierre Krieger 7b84121500 Fix deprecation warning on X11 2014-12-02 20:44:38 +01:00
Pierre Krieger f8aa6d676c Fix multisampling not working on X11 2014-12-02 20:41:46 +01:00
Pierre Krieger 3cf487ac70 Use the winapi crate instead of our own ffi 2014-12-02 14:58:20 +01:00
David Partouche 3ae8352464 Fixed issue with menu bar showing in fullscreen 2014-11-28 19:13:58 +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
tomaka 596132dc93 Merge pull request #138 from DavidPartouche/cocoa_offscreen
Added headless rendering on osx
2014-11-27 10:48:53 +01:00
tomaka dee448628a Merge pull request #142 from DavidPartouche/cocoa_vsync
Added swap interval to osx
2014-11-27 10:48:36 +01:00
Pierre Krieger 71d463f865 Update for rustc 2014-11-26 21:22:44 +01:00
David Partouche 23b108d436 Added swap interval to osx 2014-11-26 14:53:08 +01:00
Andrey Lesnikov adc6c00aa8 android: Updated for rust 395901393 2014-11-24 00:46:30 +0000 2014-11-26 17:11:08 +04:00
Glenn Watson 02f3287d70 Add support for GLESv2 on android. Remove a few warnings. 2014-11-26 15:21:58 +10:00
David Partouche f865d9ac01 Added headless rendering on osx 2014-11-25 23:55:39 +01:00
Glenn Watson d99ba30216 Allows android to compile when headless feature is enabled. 2014-11-26 08:17:09 +10:00
Pierre Krieger 4c0413bc7c Implement lists sharing 2014-11-24 20:13:52 +01:00
Glenn Watson 583506dca0 Fix some rustc warnings 2014-11-24 07:36:13 +10:00
tomaka 2762142960 Merge pull request #131 from tomaka/update
Update for rustc
2014-11-23 12:05:31 +01:00
Pierre Krieger 77df8e52bc Update for rustc 2014-11-23 11:56:30 +01:00
Andrey Lesnikov f4be17b92e android: Updated for rust e583c4d24 2014-11-21 09:01:50 +0000 2014-11-21 18:33:29 +04:00
Glenn Watson d8a1fe5c97 Implement get_inner_size() for mac. 2014-11-21 07:47:08 +10:00
Glenn Watson cac0025abb Add support for setting a window delegate, and implement close event on mac. 2014-11-21 07:08:05 +10:00
David Partouche 29892fbb7c Fixed some compilation errors on osx 2014-11-19 16:55:44 +01:00
Pierre Krieger ff3a29aaf5 Update for rustc 2014-11-19 07:06:27 +01:00
Glenn Watson c9e1912eb7 Add support for with_visibility(), show(), hide() on X11. 2014-11-18 10:27:45 +10:00
Andrey Lesnikov c0305c4781 Android: Implemented basic inputs 2014-11-17 13:32:28 +04:00
Glenn Watson d4bed68dbe Add ctrl, shift, alt events for X11. 2014-11-17 11:35:15 +10:00
tomaka 28227a2142 Merge pull request #115 from tomaka/detect-osmesa-errors
Detect OSMesa errors
2014-11-14 16:03:36 +01:00
Pierre Krieger 9b39d99f6e Detect OSMesa errors 2014-11-14 15:59:45 +01:00
David Partouche 77d00a8e5a Fixed an issue with the updated rust-cocoa crate 2014-11-11 23:45:20 +01:00
Brendan Zabarauskas c86368291e Implement Window::set_title for Cocoa 2014-11-10 20:12:32 +11:00
Pierre Krieger 37bdb997ce Remove call to glViewport in X11 implementation 2014-11-09 20:12:41 +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
tomaka 9926e179d6 Merge pull request #102 from tomaka/keys-rework
Reorder and add comments to some of the virtual keys
2014-11-06 17:11:36 +01:00
David Partouche 2d76e0666f Added fullscreen support to osx 2014-11-06 16:40:30 +01:00
Tomaka17 04f4135110 Reorder and add comments to some of the virtual keys 2014-11-06 13:26:42 +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
David Partouche 9dd592600a Retrieve the monitors and their info for osx 2014-11-04 18:03:38 +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
tomaka a6d52b6517 Merge pull request #86 from glennw/x11-resize
Fix resize event on X11. Without this change, resizing window larger tha...
2014-10-28 07:59:04 +01:00
Glenn Watson ad54e01a91 Fix resize event on X11. Without this change, resizing window larger than initial size doesn't work. 2014-10-28 13:34:47 +10:00
Glenn Watson 1755568b30 Fix a few more string memory issues. 2014-10-28 13:33:04 +10:00
Tomaka17 0392dc697a Fix default window name 2014-10-27 13:10:10 +01:00
Tomaka17 f7a50c162c Bugfix in swap interval for win32 2014-10-27 13:09:36 +01:00
tomaka a6bc0b0ba0 Merge pull request #72 from tomaka/vsync
Add `with_vsync` to WindowBuilder, plus the win32 implementation
2014-10-27 09:24:31 +01:00
tomaka 60e9ba4feb Merge pull request #74 from glennw/x11-key-events
Add backspace event and map some more keys on x11.
2014-10-27 07:43:02 +01:00
tomaka 391c42d177 Merge pull request #76 from glennw/fix-x11-window-res
Only reject modes based on resolution when using fullscreen. This fixes ...
2014-10-27 07:30:28 +01:00
Glenn Watson 84cd668bb6 Add backspace event and map some more keys on x11. 2014-10-27 16:29:32 +10:00
tomaka 18d9b493d7 Merge pull request #78 from glennw/x11-wheel-events
Add support for mouse wheel events on x11.
2014-10-27 07:25:30 +01:00
tomaka 32eba16994 Merge pull request #77 from glennw/x11-modifiers
Add support for keyboard modifiers on x11.
2014-10-27 07:20:00 +01:00
Glenn Watson 7800b14749 Fix bad memory being passed (due to going out of scope) to set title on X11. 2014-10-27 15:00:06 +10:00
Glenn Watson 8fee1950c6 Add support for mouse wheel events on x11. 2014-10-27 14:59:19 +10:00
Glenn Watson 22b434bf1d Only reject modes based on resolution when using fullscreen. This fixes creating a window that is not the same resolution as an existing video mode. 2014-10-27 14:58:04 +10:00
Glenn Watson e19dd83925 Add support for keyboard modifiers on x11. 2014-10-27 14:57:19 +10: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
tomaka 2c9eaf8651 Merge pull request #65 from glennw/x-threads
Add an interface for providing system wide initialization options to the windowing system.
2014-10-24 12:31:33 +02:00
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