Commit graph

813 commits

Author SHA1 Message Date
Pierre Krieger 4eacfce59e Split creating an EGL context in two parts 2015-07-18 18:43:23 +02:00
Ty Overby 5af2d6e84c Update events.rs 2015-07-15 09:37:15 -07:00
Robert Knight d960753360 Address code review feedback
* Fix an issue where PollEventsIterator::next() would fail to return
   keyboard input and mouse events immediately but instead only
   return them on the next call to next()

 * Inline process_generic_event() and queue_event()
2015-07-13 07:26:07 +01:00
tomaka a15d42069e Merge pull request #519 from tomaka/win32-err
Better win32 error messages
2015-07-09 11:06:51 +02:00
tomaka d3fd00968e Merge pull request #513 from meh/key-consistency
Fix some inconsistencies in VirtualKeyCode variant names
2015-07-09 11:06:44 +02:00
tomaka bb96e8a58a Merge pull request #511 from thelink2012/drop-win32
[0.3] DroppedFile event for Win32
2015-07-09 11:06:38 +02:00
Pierre Krieger bbd31608e8 Better win32 error messages 2015-07-09 08:55:29 +02:00
meh cd6577065f Fix some inconsistencies in VirtualKeyCode variant names 2015-07-02 09:52:44 +02:00
tomaka 836e53e55a Merge pull request #477 from rozaliev/feature/ios
[WIP] ios support
2015-06-29 09:29:46 +02:00
Robert Knight 573a7aeaf1 Report focus in/out events under X11
Fixes #377
2015-06-28 22:16:43 +01:00
Robert Knight edc95d554d X11 - Ignore scroll events that happen outside of Glutin windows
Scroll deltas are calculated in X11 by comparing the current and
previous absolute values for the scroll axis when a scroll motion
event is received. If the user scrolls whilst the cursor is outside
of the window then an incorrect delta is reported when the cursor
re-enters the window.

Fix this by resetting the last-seen axis values whenever the cursor
re-enters the window.
2015-06-28 22:09:26 +01:00
Robert Knight cb08d9b05b Remove XInput2 code for handling keyboard events
* For the moment we're still using plain core X11 events
   for handling keyboard activity, so remove the XInput2 code for that

 * Small refactoring of X11 input handling and documentation fixes
2015-06-28 21:55:54 +01:00
Robert Knight 94c31e42a4 Use XInput2 for event handling
This provides smooth scrolling for touchpad devices and will
enable support for touch events etc. in future.
2015-06-28 13:25:09 +01:00
Pierre Krieger 23f6f177fe Ignore errors generated by SwapBuffers on windows 2015-06-27 16:16:54 +02:00
Pierre Krieger 942e2a8e85 Fix fullscreen mode on X11 2015-06-26 17:13:22 +02:00
tomaka 86300dfb79 Merge pull request #500 from tomaka/no-error
Add support for the EGL_KHR_create_context_no_error extension
2015-06-26 11:34:14 +02:00
Pierre Krieger 29261c8b50 Fix the discovery of the WGL_EXT_swap_control extension 2015-06-25 20:29:10 +02:00
Pierre Krieger bff79c02ce Add support for the EGL_KHR_create_context_no_error extension 2015-06-25 09:35:58 +02:00
Denilson M. Amorim 826931e2c2 DroppedFile event for Win32 2015-06-23 19:05:37 -03:00
tomaka 40b84577c3 Merge pull request #497 from tomaka/robustness
Add with_robustness and handle robustness on all implementations
2015-06-23 16:46:52 +02:00
tomaka 717ea3d5ba Merge pull request #495 from tomaka/fix-multisampling
Makes sure that the pixel format has the same multisampling settings as the requirements
2015-06-23 16:46:49 +02:00
Victor Berger 2ac78cadf6 Update wayland dependency to 0.2. 2015-06-23 11:23:10 +02:00
Pierre Krieger dbaca24cde Add with_robustness and handle robustness on all implementations 2015-06-22 19:42:03 +02:00
Pierre Krieger 3c889636ad Makes sure that the pf has the same multisampling settings as the requirements 2015-06-21 13:07:24 +02:00
tomaka 7773996d7b Merge pull request #488 from tomaka/rem-is-closed
Remove the is_closed function
2015-06-17 07:36:16 +02:00
tomaka 90b28c2052 Merge pull request #486 from tomaka/context-error
Handle errors from MakeCurrent and SwapBuffers
2015-06-17 07:36:00 +02:00
ecoal95 0a1a7208c3 glx: Unbind the context if it's the current one 2015-06-17 06:29:25 +02:00
Pierre Krieger 39128dd7e1 Remove the is_closed function 2015-06-16 14:03:58 +02:00
Felix Kaaman bbaa129842 Add transparency support for cocoa. Closes #472 2015-06-16 11:29:17 +02:00
Pierre Krieger f6c26ec593 Handle errors from MakeCurrent and SwapBuffers 2015-06-16 10:44:44 +02:00
Felix Kaaman a8fef35dbf Make legacy functions crash on osx core contexts 2015-06-16 09:00:02 +02:00
tomaka e48c853b9c Merge pull request #484 from pinumbernumber/master
Implement transparency for X11
2015-06-16 08:52:29 +02:00
Robert Knight b2c2f300dc Correct MouseWheel doc comment.
Remove incomplete sentence and obsolete comment
about the meaning of the parameter.
2015-06-15 23:57:07 +01:00
pinumbernumber da4bcad6e3 Implement transparency for X11 2015-06-14 22:20:32 +01:00
Robert Knight 5b08220df5 Report scroll deltas in lines for non-touch devices on OS X
Scroll deltas on OS X may be reported either as pixel deltas
to scroll by if supported by the device or line/row deltas
otherwise.
2015-06-14 18:09:02 +01:00
Robert Knight 5e626b7fdf Correct typo in MouseScrollDelta docs 2015-06-13 23:22:51 +01:00
Robert Knight f0bab95c4d Express scroll deltas as either line or pixel deltas
Depending on the platform and device, scroll deltas may either
be represented as pixel deltas specifying the amount
in pixels to scroll or they may be expressed in 'lines' or 'chunks'
for low resolution devices (eg. a traditional mouse wheel).

Pixel deltas are currently available on OS X. X11 currently
supports only integer line deltas, though pixel deltas
are available via XInput2. Windows supports fractional
line deltas.
2015-06-13 23:19:31 +01:00
Evgeny Rozaliev 7053837ac1 [add] content scale 2015-06-08 12:26:42 +03:00
Pierre Krieger 30c525a5b1 Fix leaking color map and destruction of IM 2015-06-05 16:03:07 +02:00
Evgeny Rozaliev 84703027d6 [add] ios support 2015-06-05 16:38:35 +03:00
Jack Moffitt dbec1bf79d Switch to the official crates.
cocoa, core-foundation, and core-graphics are now on crates.io.
2015-06-03 23:06:54 -06:00
tomaka 70c88cf18f Merge pull request #475 from fkaa/cocoa-glcap
Add OS version detection on cocoa for selecting latest gl version. Fixes #470
2015-05-26 16:12:12 +02:00
Eduard Bopp 267b2c027a Fix set_cursor_state on X11
When the state is not changed, no code must be executed. Such no-ops previously
hit the unimplemented cursor hiding.
2015-05-25 21:01:39 +02:00
Felix Kaaman f74f0b52a3 Add OS version detection on cocoa for selecting latest gl version. Fixes #470 2015-05-24 17:37:41 +02:00
Pierre Krieger 9117bcf3d3 Switch to dwmapi 2015-05-24 09:10:45 +02:00
Pierre Krieger 81314f91d8 Add API for transparency and decorations and add support for win32 2015-05-24 09:10:44 +02:00
tomaka 1377f276b7 Merge pull request #469 from fkaa/cocoa-vsync
Fix vsync not being disabled by default in cocoa
2015-05-23 19:25:56 +02:00
Felix Kaaman e1ab181cdb Fix vsync not being disabled by default in cocoa 2015-05-23 18:35:47 +02:00
Pierre Krieger ead31e3ef8 Several WGL cleanups 2015-05-22 11:54:28 +02:00
Pierre Krieger 9c21899249 Fix the compilation on 32bits linux 2015-05-21 21:31:41 +02:00
Pierre Krieger 01ecd24fe2 Allow creating EGL contexts on win32 with the AMD DLLs 2015-05-21 18:59:30 +02:00
Pierre Krieger ea17038ac2 Detach wgl and win32 2015-05-21 16:47:19 +02:00
Avi Weinstock 966c2f2e54 fixup! Fix handling of numpad keys w.r.t. numlock (derived from fix mentioned at http://www.kaffe.org/pipermail/kaffe/2000-April/175201.html). 2015-05-18 13:02:23 -04:00
Avi Weinstock b6a63ad11f Fix handling of numpad keys w.r.t. numlock (derived from fix mentioned at http://www.kaffe.org/pipermail/kaffe/2000-April/175201.html).
Conflicts:
	src/api/x11/window.rs
2015-05-18 12:55:59 -04:00
Pierre Krieger 3376332a85 Rework the X implementation to use only one X connection 2015-05-17 19:33:07 +02:00
Pierre Krieger 848f6cd2a7 Fix GLX creating only 3.0 contexts 2015-05-16 11:37:58 +02:00
tomaka 129df983ce Merge pull request #452 from vberger/wayland
Implement Keyboard support for the wayland backend
2015-05-15 14:50:46 +02:00
Victor Berger 8150d1216e Implement most of the keysyms for wayland. 2015-05-15 13:04:23 +02:00
Victor Berger 178b7b133b UTF8 keyboard events for wayland. 2015-05-15 12:20:25 +02:00
Victor Berger 02bd3758ee Basic raw keyboard handling. 2015-05-14 21:46:29 +02:00
Victor Berger 1dc2cb27cf Do the linux backend choice only once at startup. 2015-05-13 17:31:34 +02:00
Victor Berger 9e489fee01 Update to new Platform structure. 2015-05-13 08:32:20 +02:00
Victor Berger 562d6cd1e3 Move WaylandContext in its own file. 2015-05-13 08:12:09 +02:00
Victor Berger 40322a2c69 Implement some more functions for wayland.
- set/get_inner_size()
 - set_title
2015-05-13 08:12:09 +02:00
Victor Berger 1278d9779d wayland: Fix MonitorID::get_dimensions() and fullscreen support. 2015-05-13 08:12:09 +02:00
tomaka 41af4406cb Merge pull request #448 from vberger/x-wayland-split
Make platform::linux generic over X11 and Wayland
2015-05-13 07:20:40 +02:00
Victor Berger 9a144a6869 Disable Wayland backend.
It is not ready for production yet.
2015-05-12 22:49:29 +02:00
Victor Berger 310b44f35b Make platform::linux generic over X11 and Wayland. 2015-05-12 22:49:03 +02:00
Pierre Krieger b3044809c2 Fixes in EGL context creation 2015-05-12 21:28:56 +02:00
Mike Blumenkrantz 1519459471 implement get_platform_window() return for X11 2015-05-11 21:35:06 -04:00
Victor Berger a3921ea88a Continue wayland API: WindowProxy, MonitorID,
and some other little stuff.
2015-05-09 11:12:44 +02:00
Esption c973a1f83e Fixed build warnings 2015-05-08 12:31:56 -05:00
Esption 0d10dda72a Added mut so glutin can compile on nightly. 2015-05-08 06:35:38 -05:00
Daggerbot 68aff5ba0d Using x11_dl instead of x11. 2015-05-07 11:20:25 +00:00
Pierre Krieger 7ee416ab88 Make it work under the raspi 2015-05-07 13:49:33 +02:00
Pierre Krieger 2414f87ceb Make x11 dynamic 2015-05-07 13:14:09 +02:00
Victor Berger 1e0dd2290e Firsts steps of a wayland backend. 2015-05-06 23:30:45 +02:00
Daggerbot 9f13395cac Removed import of x11::xlib::xkb, which has been absorbed by x11::xlib. 2015-05-06 13:03:34 +00:00
tomaka 119bd6393f Merge pull request #405 from tomaka/win32-wheel
[Breaking change] Fix mouse wheel value on win32 and return a f64 instead of i32 in the MouseWheel event
2015-05-06 16:56:24 +02:00
tomaka 2d97e0380f Merge pull request #429 from tomaka/remove-headless
[Breaking change] Remove the "headless" feature entirely
2015-05-06 16:56:20 +02:00
Felix Kaaman 87e8018cf3 Add cursor grabbing on cocoa 2015-05-05 21:46:33 +02:00
Pierre Krieger 430ae43528 Remove the "headless" feature entirely 2015-05-04 18:36:26 +02:00
Sven Nilsen f68116fd76 Fix compiler errors on OSX
Closes https://github.com/tomaka/glutin/issues/425
2015-05-04 16:30:44 +02:00
Pierre Krieger ace4808fac Remove the "headless" feature 2015-05-04 07:48:42 +02:00
Tomaka17 de7b1aa2eb Basic implementation of emscripten 2015-05-03 10:24:42 +02:00
Kevin Butler 81d0dc97e1 Fix further compilation of cocoa 2015-05-02 06:41:36 +01:00
Pierre Krieger ad21d31b6b Fix compilation of cocoa 2015-05-02 06:56:47 +02:00
tomaka 4882a94080 Merge pull request #409 from kvark/core
GL core profile flag
2015-05-01 14:07:10 +02:00
Dzmitry Malyshau 171986c7e8 Introduced GlProfile enum 2015-05-01 07:32:48 -04:00
Pierre Krieger 0eaa8fd9eb Use the EGL API with Android 2015-05-01 09:44:35 +02:00
Dzmitry Malyshau a42f1f5833 Implemented gl_core flag 2015-04-30 22:50:15 -04:00
datalus 899e021666 Adding SWP_NOMOVE flag to prevent the window from moving to 0,0 when setting the inner size on Windows 8+ 2015-04-30 18:52:48 -05:00
Felix Kaaman c1ca5d1d87 Fix typo in cocoa module 2015-04-30 18:25:55 +02:00
Pierre Krieger aa58f4149a Add a GlContext trait 2015-04-30 16:57:07 +02:00
Pierre Krieger 36de5a5e5a Fix PixelFormat for x11, egl and win32 2015-04-30 16:15:37 +02:00
Felix Kaaman 80c49856b2 Add pixelformat for cocoa and remove individual color components 2015-04-30 15:53:27 +02:00
Pierre Krieger 9531174813 Rework EGL 2015-04-30 08:31:33 +02:00
Pierre Krieger d9f0d92584 Rework MouseWheel event and fix the values on win32 2015-04-29 14:35:09 +02:00
Pierre Krieger 9ed1a0ec19 Add a fallback on win32 if enumerate_arb_pixel_formats returns vec![] 2015-04-29 14:27:34 +02:00
Pierre Krieger d4dcff582e Extract headless context from api/win32 to platform/windows 2015-04-29 10:19:59 +02:00
Felix Kaaman f2bbb7d49c Add multisampling for cocoa, fixes #145 2015-04-27 15:46:31 +02:00
Pierre Krieger 7df4de2ce7 Use the shared_library crate instead of loading symbols manually 2015-04-27 14:31:26 +02:00
Pierre Krieger d3cc9064f4 Add libcaca backend 2015-04-26 17:26:48 +02:00
tomaka 2532357253 Merge pull request #398 from fkaa/cocoa-window-pos
Fix window position getters and setters on cocoa
2015-04-26 08:05:35 +02:00
Pierre Krieger 0417f7003f Allow using EGL with X11 2015-04-25 22:28:43 +02:00
Pierre Krieger 5561e58646 Split GLX and X11 in "api" 2015-04-25 12:10:40 +02:00
Felix Kaaman 32e14a9a0a Fix window position getters and setters on cocoa 2015-04-24 19:40:43 +02:00
tomaka 7eeb96909c Merge pull request #384 from fkaa/keypress-sound
Fix alert sounds on keypress for cocoa
2015-04-24 19:27:49 +02:00
Felix Kaaman 44e954895f Fix alert sounds on keypress on cocoa
Passing on keypress event to parent would make it think the event was
not consumed and emit an alert sound.
2015-04-24 15:53:02 +02:00
Pierre Krieger a72e06cf1b Reorganize the Linux implementation and split OSMesa and X11 2015-04-24 15:40:17 +02:00
Pierre Krieger 828500256c Add draft for the EGL API 2015-04-24 14:12:57 +02:00
Pierre Krieger 3ad7f9a584 Create reorganization 2015-04-24 09:51:23 +02:00
tomaka c1af76550f Merge pull request #391 from glennw/upstream-i3-vis
Add Expose event handler which is needed on some window managers.
2015-04-24 07:50:38 +02:00
Glenn Watson 4a83ab6e02 Set WM_CLASS based on initial window title. 2015-04-24 07:57:47 +10:00
Glenn Watson 0670b1ec2e Add Expose event handler which is needed on some window managers. 2015-04-24 07:32:36 +10:00
Tim Cuthbertson bc2472f32b Fix x11 XK_bracketright keycode 2015-04-22 11:06:47 +10:00
tomaka f81a430c6d Merge pull request #383 from tomaka/remove-deprecated
Remove functions marked as #[deprecated]
2015-04-19 11:29:29 +02:00
Pierre Krieger 1ec168fed0 Remove functions marked as #[deprecated] 2015-04-19 09:52:03 +02:00
Andrey Lesnikov 65c2884dc3 android: Updated for Rust be9bd7c93 2015-04-05 2015-04-18 21:12:40 +03:00
Felix Kaaman e294441049 Add mouse hiding and more cursors for Cocoa 2015-04-17 18:01:06 +02:00
Pierre Krieger 677e69fd3a Fix compilation on linux 2015-04-17 17:59:37 +02:00
tomaka 2d7a800aee Merge pull request #368 from Daggerbot/wip
Using `x11-rs` and `osmesa-rs`.
2015-04-17 17:42:46 +02:00
tomaka 079212961d Merge pull request #378 from bobakker/master
Fixes #358
2015-04-13 06:25:27 +02:00
Dzmitry Malyshau ac23d3114c Implemented get_pixel_format for X11 2015-04-12 13:45:41 -04:00
tomaka d5138d2708 Merge pull request #371 from tomaka/get-pixel-format
Adds get_pixel_format() to Window
2015-04-12 19:44:12 +02:00
Bo Bakker 53663d0ecc Fixes #358 2015-04-12 16:02:06 +02:00
Pierre Krieger b81cd0cd2f Fix get_primary_monitor on win32 2015-04-12 09:32:25 +02:00
Daggerbot c9194e922e Fixes for x11-rs/osmesa-sys conversion. 2015-04-11 18:17:49 -07:00
Pierre Krieger 1e94d85d35 Adds get_pixel_format() to Window 2015-04-11 09:06:08 +02:00
Daggerbot 2d20050b89 Using x11-rs and osmesa-rs. 2015-04-09 10:38:58 +00:00
Pierre Krieger 65f4809280 Add support for sRGB attribute and fix creation on windows 2015-04-08 09:44:19 +02:00
tomaka 41044c160a Merge pull request #364 from tomaka/x11-cursor-pos
Implement set_cursor_position() on X11
2015-04-08 09:03:36 +02:00
tomaka 3da91fbc92 Merge pull request #360 from SSheldon/delegate_refactor
Modify WindowDelegate to own its state
2015-04-07 21:58:55 +02:00
Pierre Krieger 5a31b2e438 Implement set_cursor_position() on X11 2015-04-07 21:54:53 +02:00
Pierre Krieger 80a9e2c316 Fix wait_events() not stopping when window is closed on X11 2015-04-06 16:47:39 +02:00
Steven Sheldon b87193c674 Modify WindowDelegate to own its state. 2015-04-05 20:56:58 -07:00
Bo Bakker 1a33192187 Fix OS X window closing bug 2015-04-04 01:00:10 +02:00
Pierre Krieger b99309bee2 Remove deprecated functions 2015-04-03 18:41:11 +02:00
tomaka 424cc5ea49 Merge pull request #347 from tomaka/win32-pixel-format-details
Fix missing parameter for pixel formats infos on win32
2015-04-03 13:54:20 +02:00
Steven Sheldon a65a4fd15a Removed unstable clone_from method so OSX can compile. 2015-04-03 02:30:29 -07:00
Pierre Krieger 0f7bd9071e Remove all features for 1.0 beta 2015-04-03 09:42:45 +02:00
tomaka 1c74614c4a Merge pull request #349 from binsoftware/update-rust-cocoa
updating use statements from recent rust-cocoa module changes
2015-04-03 08:15:13 +02:00
Ryan Stewart 348de5cbe4 updating use statements from recent rust-cocoa module changes 2015-04-02 15:19:51 -07:00
Pierre Krieger d33c138164 Rustup 2015-04-02 22:41:35 +02:00
Pierre Krieger 4d81cc2df1 Fix missing parameter for pixel formats infos on win32 2015-04-02 13:53:15 +02:00
tomaka aa97fac6ff Merge pull request #344 from tomaka/gles-win32
Add support for GLES on Win32
2015-04-02 13:22:59 +02:00
Pierre Krieger eabfa9e624 Add support for GLES on Win32 2015-04-02 11:17:14 +02:00
Pierre Krieger 8cf875434c Fix the default value for OpenGL flag again 2015-04-02 10:13:01 +02:00
tomaka e51b694d59 Merge pull request #340 from tomaka/winimpl-platform
Rename "winimpl" module to "platform"
2015-04-02 09:52:21 +02:00
Pierre Krieger eb430ff207 Fix default OpenGL debug flag being the opposite of what it should be 2015-04-02 09:06:33 +02:00
Pierre Krieger 414335e0fc Rename "winimpl" to "platform" 2015-04-02 08:27:32 +02:00
tomaka a0ac31b70f Merge pull request #338 from XMPPwocky/master
Fix WM_SETCURSOR
2015-04-01 19:41:26 +02:00
Nathaniel Theis e51dd82478 cursor state on w32 2015-04-01 10:12:53 -07:00
mitchmindtree ee2a5e4a2f Fixed error where rustc couldn't infer the type 2015-04-01 21:23:30 +11:00
Pierre Krieger 2089e9c476 Add draft for raw input 2015-03-30 13:12:37 +02:00
Pierre Krieger 9bef21048e Fix wrong grabbing rect 2015-03-30 12:56:08 +02:00
Pierre Krieger bae1e42b8b More work on win32 implementation 2015-03-30 11:42:19 +02:00
Pierre Krieger bb418efcc7 Partially implement cursor state on win32 2015-03-30 11:32:18 +02:00
Pierre Krieger 556e1b4caf Update for winapi 2015-03-30 05:58:13 +02:00
tomaka 9ce644618b Merge pull request #329 from tomaka/choose-pixel-format
choose_pixel_format now returns a Result
2015-03-28 20:40:46 +01:00
Pierre Krieger 697d42a64f choose_pixel_format now returns a Result 2015-03-28 20:17:30 +01:00
Steven Sheldon 0ef63cd9d3 Audit msg_send return types. 2015-03-28 08:55:50 -07:00
Pierre Krieger b27306f972 Fix compilation on win32 2015-03-28 11:07:41 +01:00
Pierre Krieger aaa1c76841 Fix compilation on x11 2015-03-28 10:30:46 +01:00
Pierre Krieger 3d692870e2 Change grab_cursor and ungrab_cursor to set_cursor_state 2015-03-26 17:15:18 +01:00
tomaka d6ebaaaf5c Merge pull request #227 from aepsil0n/grab-cursor
Implement grabbing of the mouse pointer for X11
2015-03-26 16:48:40 +01:00
Corey Farwell 82367772bb Fix typo in Window::get_position docs 2015-03-25 23:44:21 -04:00
Brendan Zabarauskas eeb314d3aa Merge pull request #321 from SSheldon/objc_lib
Use objc crate for Objective-C runtime functionality
2015-03-26 09:58:26 +11:00
Pierre Krieger cedc85c550 Rustup 2015-03-25 20:27:18 +01:00
Steven Sheldon 4b1cfe8801 Updated to use objc lib. 2015-03-25 10:08:42 -04:00
Eduard Bopp 18f9bc44c9 Implement grabbing of the mouse pointer for X11
Contains new methods in the Window API that closely mirror the Xlib API. The
methods are left unimplemented for other platforms for now.
2015-03-25 13:10:55 +01:00
tomaka 8c78cabcf2 Merge pull request #324 from binsoftware/win32-monitor
Win32 monitor handling
2015-03-25 06:17:35 +01:00
Cam Jackson 589c4d188a Fix compilation by replacing "range" with ".." syntax 2015-03-25 15:54:57 +11:00
Ryan Stewart 1c9c5c018a enumerate monitors in addition to adapters; this allows the MonitorID implementation to return a more useful monitor name, and the correct native monitor ID 2015-03-24 13:29:17 -07:00
Ryan Stewart 1c20ff87f1 honor top-left coordinates when requesting fullscreen to make sure window appears on the correct monitor 2015-03-24 13:25:24 -07:00
Brendan Zabarauskas 8a463f6643 Merge pull request #316 from binsoftware/cocoa-fixes
Cocoa fixes: memory leaks, monitor handling, is_current()
2015-03-24 18:33:53 +11:00
Sven Nilsen 9a5dd996cd Upgrade to latest Rust 2015-03-23 13:03:07 +01:00
tomaka a6485045f1 Merge pull request #318 from glennw/thread-wake-mac
Fix waking up mac event loop from thread.
2015-03-23 10:35:31 +01:00
Nicholas Bishop 3413a2d973 Fix compilation by replacing "range" with ".." syntax 2015-03-22 18:54:18 -04:00
Pierre Krieger 63f69d6f2f Rustup 2015-03-21 13:43:14 +01:00
Glenn Watson 918833b19f Fix waking up mac event loop from thread. 2015-03-20 08:06:46 +10:00
York Xiang 0be7b072f0 Update for latest Rust 2015-03-19 18:06:50 +08:00
Ryan Stewart cf630ec041 add and use IdRef::non_nil() instead of doing deref'd comparisons against nil 2015-03-18 14:49:16 -07:00
Ryan Stewart 1b2fd6e6d0 fix headless build by ensuring NativeMonitorId enum is available internally even without the window feature; add Eq/PartialEq to NativeMonitorId 2015-03-18 14:16:35 -07:00
Ryan Stewart 779f3ce888 fix X11 build issue due to missing import 2015-03-16 15:43:33 -07:00
Ryan Stewart 9cecb7ee55 implement Window is_current() for cocoa backend 2015-03-16 14:13:21 -07:00
Ryan Stewart 70776fab41 honor the passed-in MonitorID when using with_fullscreen() in cocoa backend 2015-03-16 14:13:21 -07:00
Ryan Stewart 9914d826b8 expose platform-native monitor identifier 2015-03-16 14:11:49 -07:00
Ryan Stewart 0fa5e541e8 handle retain/release on cocoa objects 2015-03-16 14:11:49 -07:00
Pierre Krieger daa086759c Redirect size_hint method to the underlying iterators 2015-03-16 13:50:23 +01:00
Pierre Krieger 330767d0c3 Pull all dependencies from crates.io 2015-03-13 21:24:59 +01:00
Pierre Krieger c61c33a833 Add set_cursor_position function 2015-03-10 10:29:07 +01:00
nwin 10490be8ba Fix scrolling wheel behavior on OSX
Fix regression introduced by #95b1c96 for the fix in #25fa4df
2015-03-05 11:54:48 +01:00
Pierre Krieger 689ace8b25 Add is_current function 2015-03-04 07:43:55 +01:00
Jan Niklas Hasse 4a56ac53de Fix doc 2015-03-02 00:01:36 +01:00
Pierre Krieger d091323b22 Minor changes in documentation 2015-03-01 14:07:50 +01:00
Pierre Krieger 4f98ea3128 Add a guard for the calls to MakeCurrent during initialization 2015-03-01 13:57:09 +01:00
Pierre Krieger cca23f8544 Add wrappers for safer error recovery during initialization 2015-03-01 13:41:00 +01:00
Pierre Krieger 65d5589e3c Fix various warnings 2015-03-01 13:18:36 +01:00
Pierre Krieger 36619ee40e Mark functions as unsafe instead of having a lot of blocks 2015-03-01 13:14:58 +01:00
tomaka 65046ffc41 Merge pull request #298 from andreasgal/master
Make headless rendering work on Mac OS X 10.10
2015-03-01 12:03:48 +01:00
Pierre Krieger 42d38e66ab Allow using non-hardware-accelerated pixel formats 2015-03-01 11:46:58 +01:00
Pierre Krieger 7ba8fdf3f3 Fix creating non-hardware-accelerated contexts 2015-03-01 11:07:46 +01:00
Pierre Krieger cf252c29b4 Use the WGL API to determine extended pixel format, plus fix creation 2015-03-01 10:33:25 +01:00
Bryan Bell 903c9b1aad Implement set_cursor for osx 2015-02-27 01:56:33 -08:00
Andreas Gal 9cb397fc92 simplify pixel format requirements for cocoa offscreen rendering 2015-02-23 22:42:06 +01:00
tomaka e04288f812 Do not call wglShareLists is ctxt is null 2015-02-23 15:37:23 +01:00
tomaka 6608cbb20c Fix win32 compilation 2015-02-23 14:46:47 +01:00
Andrey Lesnikov 2da557c0cc android: Updated to latest android-rs-glue 2015-02-22 22:58:08 +03:00
tomaka 07a584fd28 Merge pull request #290 from frewsxcv/cleanup
Various cleanup commits
2015-02-22 08:40:42 +01:00
mitchmindtree 246837adc8 Fix MouseMoved by checking for NSDrag events as well, closes #288 2015-02-22 15:58:37 +11:00
Corey Farwell 5ff649e5db Stop using deprecated CString::from_slice constructor 2015-02-21 18:32:05 -05:00
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