Commit graph

401 commits

Author SHA1 Message Date
Corey Farwell 7fa19ab0df Remove deprecated 'allow' lint 2015-02-21 18:19:03 -05:00
Corey Farwell f4c9bd81bb Opt into features to silence warnings 2015-02-21 18:18:47 -05:00
Corey Farwell accf2f3cc3 Deref before matching
rust-guidelines encourages this
2015-02-21 18:07:35 -05:00
mitchmindtree 1055eed078 Removed as_slice_with_nul as CString now derefs to a CStr 2015-02-22 01:17:47 +11:00
mitchmindtree 0389c834e4 RingBuf -> VecDeque for other platforms, as_slice_with_nul -> as_bytes_with_nul 2015-02-22 00:40:23 +11:00
mitchmindtree 9bb41bf277 Fixed errors on latest nightly, RingBuf -> VecDeque 2015-02-21 23:59:37 +11:00
Ryan Stewart 25ce029cf6 expose the platform-specific window handle (currently Win only) 2015-02-20 12:33:25 -08:00
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