Commit graph

444 commits

Author SHA1 Message Date
tomaka 8e1d0f7a97 Merge pull request #282 from tomaka/gl-api
Improve the OpenGL context request system
2015-02-19 21:55:15 +01:00
Pierre Krieger 1ee6f8fa1a Update for rustc 2015-02-19 20:18:50 +01:00
Pierre Krieger f4f84c6566 Improve the OpenGL context request system 2015-02-18 17:15:01 +01:00
Pierre Krieger ba7f2a923f Don't call MakeCurrent(null, null) when destroying 2015-02-18 09:00:00 +01:00
Pierre Krieger 1a33c9ce9f Extract load_opengl32_dll 2015-02-16 15:59:06 +01:00
Pierre Krieger 950fd58b77 Implement enumerate_arb_pixel_formats 2015-02-16 15:55:26 +01:00
Pierre Krieger d1bc85c011 Switch to create_context for the real context 2015-02-16 15:42:00 +01:00
Pierre Krieger 6bec85e0cc Implement better handling for pixel formats 2015-02-16 15:36:32 +01:00
Pierre Krieger dfbf2adf4a Extract and add create_context function 2015-02-16 15:07:03 +01:00
Pierre Krieger 353567b216 Start splitting win32::init into multiple functions 2015-02-16 13:58:48 +01:00
tomaka 40591806dc Merge pull request #274 from tomaka/cleanup
Cleanup crate root by moving headless and window to modules
2015-02-16 13:58:29 +01:00
tomaka 19debf3eb2 Merge pull request #277 from tomaka/win32-callback
Extract callback from win32/init.rs to its own module
2015-02-16 11:03:21 +01:00
tomaka cba56a208d Merge pull request #276 from tomaka/win32-headless
Extract win32 HeadlessContext to a "headless" module
2015-02-16 10:51:02 +01:00
Pierre Krieger 7f03400a2b Extract callback from win32/init.rs 2015-02-16 10:08:08 +01:00
Pierre Krieger 91c50ed046 Extract win32 HeadlessContext to a "headless" module 2015-02-16 10:01:47 +01:00
Pierre Krieger 94254521dc Style improvement in win32/event.rs 2015-02-16 09:53:01 +01:00
Pierre Krieger 009be2ab2b Cleanup crate root by moving headless and window to modules 2015-02-16 09:39:46 +01:00
tomaka 59220d35ce Fix poll_events returning None when it shouldn't 2015-02-12 18:42:02 +01:00
tomaka d1bf1e8ac0 Fix poll_events() blocking on win32 2015-02-11 15:34:08 +01:00
tomaka 4500702a02 Merge pull request #70 from tomaka/fix-iterators
Use platform-specific iterators instead
2015-02-10 22:34:18 +01:00
tomaka 4c8628ed67 Implement get_outer_size() on x11 2015-02-10 14:40:03 +01:00
Pierre Krieger e9a775c6b1 Implement win32 initialization in a cleaner way 2015-02-10 12:58:38 +01:00
Glenn Watson 95b1c96181 Mac: Use platform specific iterators. 2015-02-10 08:36:59 +01:00
Glenn Watson 8b3750ec3d Android: Use platform specific iterators. 2015-02-10 08:32:29 +01:00
Pierre Krieger 4bfcedad3e X11: use platform specific iterators instead 2015-02-10 08:31:31 +01:00
Tomaka17 49e3fbdd71 Win32: use platform-specific iterators instead 2015-02-10 08:27:52 +01:00
Glenn Watson 25fa4dfef6 Make the mouse wheel events match natural direction on osx. 2015-02-10 12:22:17 +10:00
Andrey Lesnikov 81dbaea29e android: Implemented color_bits and depth_bits 2015-02-08 02:32:29 +03:00
tomaka 6b52bf95a4 Merge pull request #254 from aepsil0n/mousebutton-renaming
Rename enum variants of MouseButton
2015-02-05 18:37:53 +01:00
Manish Goregaokar 256645cc3c Add some more support for X11 keys (partially fixes #251) 2015-02-05 22:28:54 +05:30
Eduard Bopp b2367fe2e6 Rename enum variants of MouseButton
With enums that are namespaced by default, it seems reasonable to be less
redundant in the variant naming here.
2015-02-05 16:52:53 +01:00
tomaka 03e9d78b3a Merge pull request #250 from bjz/osx-window
Add tempory fix for #248
2015-02-03 12:31:55 +01:00
Brendan Zabarauskas 4632e83156 Add tempory fix for #248 2015-02-03 22:17:59 +11:00
Akos Kiss e4469cfce7 Reorder the fields of XErrorEvent to match the struct layout found in recent Xlib.h
Fixes #244
2015-02-01 22:08:34 +00:00
tomaka be092183a6 Merge pull request #241 from tomaka/add-webgl
Add WebGL in the APIs list
2015-01-30 21:07:20 +01:00
Brendan Zabarauskas 9b530cdf40 Fix OSX build 2015-01-30 22:14:49 +11:00
Glenn Watson 1b73aeaa24 On some X11 driver implementations, calling XCloseDisplay from a different thread
causes memory corruption, resulting in a crash. Change window proxy to be a weak
reference so that the XCloseDisplay is always called from the main window.
2015-01-30 07:11:55 +10:00
Pierre Krieger 48ab960176 Add WebGL in the APIs list 2015-01-29 18:36:03 +01:00
Andrew Kelley 6a27fa9d26 fix for rust nightly 2015-01-28 12:43:44 -07:00
tomaka 1a9cf9bc5c Merge pull request #231 from bjz/osx-window
Implement some more Cocoa stuff
2015-01-26 10:55:35 +01:00
Brendan Zabarauskas 73078e0569 Rename osx->cocoa 2015-01-26 14:28:12 +11:00
Brendan Zabarauskas 44c21c4bbb Implement some more osx stuff 2015-01-26 14:22:50 +11:00
Peter Atashian 33cd252f99 Upgrade to latest winapi
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-01-25 21:52:17 -05:00
Brendan Zabarauskas 6b31fe9b1c {true, false}->{YES, NO} 2015-01-26 10:59:40 +11:00
tomaka f8c66ff2a9 Merge pull request #220 from tomaka/x11-vsync
Implement vsync for x11 and add vsync example
2015-01-25 12:56:15 +01:00
tomaka a2e03e7c15 Merge pull request #221 from tomaka/fix-rc
Fix race condition with XOpenIM
2015-01-25 12:55:58 +01:00
Andrew Kelley 02a57e0422 fix for latest rustc 2015-01-23 19:18:22 -07:00
Ms2ger 8005b012ce Fix a use-after-free in Android get_proc_address. 2015-01-23 19:24:42 +01:00
Pierre Krieger 56c6afd03c Fix race condition with XOpenIM 2015-01-23 11:10:23 +01:00
tomaka 36538b5634 Merge pull request #219 from bjwbell/remove-deadcode-warning
Remove deadcode warning in BuilderAttribs
2015-01-23 09:40:41 +01:00
Pierre Krieger b05ef16d81 Implement vsync for x11 and add vsync example 2015-01-23 09:33:22 +01:00
Bryan Bell 3e06c1c0e2 Remove deadcode warning in BuilderAttribs
In src/lib.rs remove the deadcode warning about the 'headless' builder
attribute. Headless is /actually/ set to false or true depending on if
HeadlessRendererBuilder is used.
2015-01-23 00:15:18 -08:00
Bryan Bell 6ea483dc78 Disable compiler unstable warnings
To cleanup the compiler output when building, disable
warnings about using unstable crates/features.
2015-01-22 23:40:17 -08:00
tomaka 1d6b863cd4 Merge pull request #217 from glennw/context-fallback
Some GPU/driver combinations have glxCreateContextAttribsARB present, bu...
2015-01-22 21:37:07 +01:00
Glenn Watson de3f354566 Fix log prefix 2015-01-23 06:01:22 +10:00
Glenn Watson 19475f8521 Some GPU/driver combinations have glxCreateContextAttribsARB present, but it fails with an X error. In this case, catch the X error and fall back to the old method of creating a context. 2015-01-22 12:07:31 +10:00
Josh Matthews e12e4bf38f Fix OS X build. 2015-01-21 10:58:08 -05:00
Akos Kiss 935e5a36a2 c_char isn't always i8 2015-01-20 21:49:23 +00:00
Brendan Zabarauskas 4d12d3ea3d Merge pull request #214 from bjz/osx-window
Move osx delegate stuff into separate type
2015-01-20 22:38:25 +11:00
Brendan Zabarauskas de8fe684e7 Move osx delegate stuff into separate type 2015-01-20 08:12:53 +11:00
tomaka d48ccb381a Merge pull request #213 from tomaka/permanent-iterators
Iterators returned by wait_events and poll_events are now persistent
2015-01-19 13:46:30 +01:00
Pierre Krieger 8fcd676714 Iterators returned by wait_events and poll_events are now persistent 2015-01-19 13:11:33 +01:00
Brendan Zabarauskas a203385e76 if letify 2015-01-19 22:35:34 +11:00
Glenn Watson 213f8b8534 Fix android API 2015-01-19 11:59:34 +10:00
Glenn Watson fd5e77f23e Add missing get_api stubs.
Add hidpi_factor() support for retina displays.
Fix Resize and MouseMoved events to handle retina displays.
Fix inverted y position for MouseMoved events on mac.
Fix initial painting on retina display.
2015-01-19 11:54:11 +10:00
Brendan Zabarauskas 1891764afd Clean up pattern matches 2015-01-18 20:22:33 +11:00
Brendan Zabarauskas f8f2950afd Remove unnecessary inner method 2015-01-18 20:11:52 +11:00
James Gilles 75c14c5213 Remove AsciiExt import, s/uint/u32/, delete some files I accidentally
committed (whoops)
2015-01-17 21:13:57 -05:00
James Gilles 211a326036 Merge PixelPirate's changes and fix merge conflicts 2015-01-17 20:42:44 -05:00
Bryan Bell e7e66b057d Change &mut self to &self in set_cursor 2015-01-17 08:28:52 +01:00
Pierre Krieger 3ce5fd08a8 More OS/X fixes 2015-01-15 21:01:09 +01:00
Pierre Krieger c3b2f45ca3 More OS/X fixes 2015-01-15 20:49:03 +01:00
Pierre Krieger 7652cc5860 Blind attempt to fix the OS/X build 2015-01-15 20:20:52 +01:00
Andrey Lesnikov 5a589b1783 android: Fixed depth buffer 2015-01-15 10:05:19 +03:00
Andrey Lesnikov 5a4fee967a x11, android, win32: [ui]size, [u]int -> [ui]32 2015-01-13 16:23:30 +03:00
Andrey Lesnikov d11f63a749 Fixed android: Added 'MouseCursor' import 2015-01-13 13:58:05 +03:00
tomaka 05a03fb6a1 Merge pull request #192 from bjwbell/mouse-cursors
Add mouse cursor support
2015-01-13 10:43:46 +01:00
Bryan Bell 0fba0a9a73 Code review comments
- Revert version back to 0.0.4
- Add comment that set_cursor has no effect on Android
2015-01-13 01:23:34 -08:00
Bryan Bell 5389c73b85 Fix OS X & Win32 builds 2015-01-12 19:45:20 -08:00
Bryan Bell 995bd37c78 Change uint/int to usize/isize
From https://github.com/rust-lang/rfcs/pull/544 the types uint/int were
renamed to usize/isize.
2015-01-12 19:33:31 -08:00
Bryan Bell 95f0990074 Refine X11 cursor selections
For MouseCursor::Cell, NotAllowed, NoDrop, Grab, Grabbing, ... set the
appropriate X11 cursor.

Also alphabetize the cursors listed in the MouseCursor enum.
2015-01-12 19:00:45 -08:00
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
Sam Ward 879f61dbbc OSX compatibility for Rust 1.0 alpha 2015-01-10 01:56:47 -08:00
Pierre Krieger 469d0eafd1 Update for rust alpha 1.0 2015-01-10 08:23:20 +01:00
Andrey Lesnikov dbe38ff49a android: Updated for Rust ea6f65c5f 2015-01-06 2015-01-08 20:57:04 +03:00
Pierre Krieger 3920cd5e80 Merge remote-tracking branch 'cybergeek94/master' into update-rustc
Conflicts:
	examples/support/mod.rs
	src/lib.rs
	tests/headless.rs
2015-01-08 12:58:58 +01:00
Austin Bonander 8d9133d331 Update to latest Rust nightly 2015-01-08 03:45:46 -08: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
Mike Dilger 53482b2a46 fix for Iterator now using associated types 2015-01-05 16:06:16 +13:00
Andrey Lesnikov 2b7e74d55a android: Updated for rust fc2ba1393 2015-01-03 2015-01-04 21:49:30 +03: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 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