Commit graph

272 commits

Author SHA1 Message Date
Braden Evans 3b76b01cce Typo in error message 2015-08-04 18:02:55 -07:00
Braden Evans 9bcfad9f75 Implement Display, Error for ContextError 2015-08-04 18:01:38 -07:00
Pierre Krieger 2d4c382f0b Better choice for the pixel format 2015-07-25 15:57:03 +02:00
Pierre Krieger 7fe828bed3 Add smaall TODO 2015-07-20 19:43:36 +02:00
Pierre Krieger 57a1d546e7 Add CreationError::NoAvailablePixelFormat 2015-07-20 19:42:32 +02:00
Pierre Krieger 43dabf131a Add CreationError::OpenGlVersionNotSupported 2015-07-20 19:38:57 +02:00
Pierre Krieger ba5adfa1e1 Add CreationError::RobustnessNotSupported 2015-07-20 19:34:34 +02:00
Pierre Krieger baf9b92d3f Correct window creation on X11 2015-07-19 13:53:40 +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
tomaka 836e53e55a Merge pull request #477 from rozaliev/feature/ios
[WIP] ios support
2015-06-29 09:29:46 +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
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 90b28c2052 Merge pull request #486 from tomaka/context-error
Handle errors from MakeCurrent and SwapBuffers
2015-06-17 07:36:00 +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
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
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
Pierre Krieger ead31e3ef8 Several WGL cleanups 2015-05-22 11:54:28 +02:00
Esption c973a1f83e Fixed build warnings 2015-05-08 12:31:56 -05:00
Daggerbot 68aff5ba0d Using x11_dl instead of x11. 2015-05-07 11:20:25 +00:00
Pierre Krieger 430ae43528 Remove the "headless" feature entirely 2015-05-04 18:36:26 +02:00
Dzmitry Malyshau 171986c7e8 Introduced GlProfile enum 2015-05-01 07:32:48 -04:00
Dzmitry Malyshau a42f1f5833 Implemented gl_core flag 2015-04-30 22:50:15 -04:00
Pierre Krieger aa58f4149a Add a GlContext trait 2015-04-30 16:57:07 +02:00
Felix Kaaman 80c49856b2 Add pixelformat for cocoa and remove individual color components 2015-04-30 15:53:27 +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 a72e06cf1b Reorganize the Linux implementation and split OSMesa and X11 2015-04-24 15:40:17 +02:00
Pierre Krieger 3ad7f9a584 Create reorganization 2015-04-24 09:51:23 +02:00
Daggerbot c9194e922e Fixes for x11-rs/osmesa-sys conversion. 2015-04-11 18:17:49 -07: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
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
Pierre Krieger 0f7bd9071e Remove all features for 1.0 beta 2015-04-03 09:42:45 +02: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
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
Pierre Krieger 556e1b4caf Update for winapi 2015-03-30 05:58:13 +02:00
Pierre Krieger 697d42a64f choose_pixel_format now returns a Result 2015-03-28 20:17:30 +01:00
Pierre Krieger b27306f972 Fix compilation on win32 2015-03-28 11:07:41 +01:00
Pierre Krieger 3d692870e2 Change grab_cursor and ungrab_cursor to set_cursor_state 2015-03-26 17:15:18 +01: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
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
Pierre Krieger 63f69d6f2f Rustup 2015-03-21 13:43:14 +01: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 9914d826b8 expose platform-native monitor identifier 2015-03-16 14:11:49 -07:00
Pierre Krieger 330767d0c3 Pull all dependencies from crates.io 2015-03-13 21:24:59 +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
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
Pierre Krieger f4f84c6566 Improve the OpenGL context request system 2015-02-18 17:15:01 +01:00
Pierre Krieger 6bec85e0cc Implement better handling for pixel formats 2015-02-16 15:36:32 +01:00
Pierre Krieger 009be2ab2b Cleanup crate root by moving headless and window to modules 2015-02-16 09:39:46 +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
Pierre Krieger e9a775c6b1 Implement win32 initialization in a cleaner way 2015-02-10 12:58:38 +01:00
Tomaka17 49e3fbdd71 Win32: use platform-specific iterators instead 2015-02-10 08:27:52 +01: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
Peter Atashian 33cd252f99 Upgrade to latest winapi
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-01-25 21:52:17 -05:00
Andrew Kelley 02a57e0422 fix for latest rustc 2015-01-23 19:18:22 -07: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
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 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
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
Bryan Bell e7e66b057d Change &mut self to &self in set_cursor 2015-01-17 08:28:52 +01:00
Andrey Lesnikov 5a4fee967a x11, android, win32: [ui]size, [u]int -> [ui]32 2015-01-13 16:23:30 +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 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 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
Austin Bonander 8d9133d331 Update to latest Rust nightly 2015-01-08 03:45:46 -08:00
Mike Dilger 53482b2a46 fix for Iterator now using associated types 2015-01-05 16:06:16 +13: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
Andrey Lesnikov e441247d61 Removed 'extern crate gl_generator' 2014-12-26 01:28:48 +03: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
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 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
Pierre Krieger ffba8564c8 Remove the dependency to compile_msg 2014-12-04 20:44:12 +01:00
Pierre Krieger 3cf487ac70 Use the winapi crate instead of our own ffi 2014-12-02 14:58:20 +01:00
Pierre Krieger 729551f828 Implement multisampling for x11 2014-11-27 15:26:42 +01:00
Pierre Krieger 71d463f865 Update for rustc 2014-11-26 21:22:44 +01:00
Pierre Krieger 4c0413bc7c Implement lists sharing 2014-11-24 20:13:52 +01:00
Pierre Krieger ff3a29aaf5 Update for rustc 2014-11-19 07:06:27 +01:00
Tomaka17 8c1b2dd633 Add support for the OpenGL debug flag 2014-11-09 16:44:53 +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
David Partouche 9dd592600a Retrieve the monitors and their info for osx 2014-11-04 18:03:38 +01:00
Tomaka17 b6f7491157 Add visibility-related functions to window 2014-11-01 09:03:21 +01:00
Tomaka17 0392dc697a Fix default window name 2014-10-27 13:10:10 +01:00
Tomaka17 8249e545f8 Add with_vsync to WindowBuilder, plus the win32 implementation 2014-10-26 16:35:24 +01: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
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
Tomaka17 bfbc462511 Change implementations import system 2014-10-11 11:06:21 +02:00
Tomaka17 e565bfeb13 Implement headless rendering 2014-10-09 15:55:42 +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
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 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
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
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 3aab801f29 Implement Default for Window 2014-08-13 14:52:12 +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 acb0ab7cac Add default title for windows 2014-08-07 18:49:47 +02:00
Pierre Krieger e567d7f4fd set_position now takes ints
Fix #12
2014-08-07 18:07:48 +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 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
Tomaka17 2aeec39156 Remove #[exprimental] from make_current 2014-08-02 12:32:08 +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