thefiddler
4005710b99
[X11] Fixed current resolution detection.
2013-12-30 09:23:33 +01:00
thefiddler
0d1df41393
[X11] Improve GraphicsMode fallback (fixes issue #23 )
...
When the user requests a GraphicsMode that is not directly supported
by the GPU/drivers, we should relax the requested parameters until
we find a supported mode. An exception should only be thrown when
there is no usable mode.
This makes the X11 backend match the behavior of Windows. The SDL/X11
backend works a little bit differently, in that it falls back to the
a default mode directly if the requested mode is not available. There
is nothing we can do about that.
2013-12-27 14:01:21 +02:00
thefiddler
88f7cd68f5
[X11] Fixed border size on Gnome 3
...
The _NET_FRAME_EXTENTS atom is implemented differently by
different window managers, when window decorations are hidden
with Motif. Unity returns a 0 size, while Gnome 3 returns the
previous size.
This patch removes that ambiguity: when decorations are hidden,
border size becomes zero. This should work everywhere, unless
some window manager decides to troll us by decorating the window
when we explicitly request no decorations. Sigh...
2013-12-27 13:31:51 +02:00
thefiddler
6c6e09aae6
[X11] Allow resizing with fixed borders
...
Windows can now be resized programmatically, even when they have
WindowBorder.Fixed. All resizing logic is now consolidated in the
Bounds property, and ConfigureNotify messages are now handled
correctly depending on their source (StructureNotify or
SubStructureNotify.)
2013-12-27 11:07:38 +01:00
thefiddler
4d27b6ee55
Implemented X11 KeyDown/KeyUp events and reduced code duplication
2013-12-25 11:46:02 +01:00
thefiddler
ffdf881cea
Do not raise KeyPress for control characters
2013-12-25 11:14:30 +01:00
Stefanos A
7e5307bd4a
Added IJoystickDevice2 interface
2013-12-24 17:18:03 +01:00
thefiddler
484af18673
Updated internal IGamePadDriver interface
2013-12-24 17:18:00 +01:00
Stefanos A.
c53c0bc66f
Added GetProcAddress(IntPtr) overloads
...
This might allow us to improve startup performance, by avoiding string
marshaling during extension loading.
2013-11-28 23:21:19 +01:00
Stefanos A.
803c575201
Corrected core profile selection
...
According to GLX_create_context, the correct flag for a core profile is
GLX_CONTEXT_CORE_PROFILE_BIT_ARB.
2013-11-14 08:29:06 +01:00
Stefanos A.
f9fdddea64
Re-added WindowHandle property
...
There are projects that use reflection to access
*WindowInfo.WindowHandle directly. This change ensures we don't break
them.
2013-11-13 18:25:49 +01:00
Stefanos A
b08e59e861
Allow non-realized GraphicsMode
...
It is now possible to pass a non-realized GraphicsMode to the X11GLContext and X11GLNative constructors. A non-realized GraphicsMode is a GraphicsMode with a null Index (i.e. which has not passed through SelectGraphicsMode()).
2013-11-09 18:55:17 +01:00
parallels
62d6791736
Use glXGetProcAddressARB
...
According to the Linux OpenGL ABI, glXGetProcAddressARB must be statically exported by libGL. This does *not* hold true for glXGetProcAddress. We must used the ARB version instead.
Furthermore, glx entry points, unlike wgl, do not depend on any specific OpenGL context. This means we can load them in the constructor of the Glx class.
2013-11-09 18:50:53 +01:00
Stefanos A
2725b3cd08
Fix support for 3.2+ contexts (issue 3111)
...
glXGetProcAddress may return a non-null value even if a function is not
supported by the server. We need to check the extension string using
any GLX extensions. Fixes issue http://www.opentk.com/node/3111 "GLX
extension support is not checked correctly".
Furthermore, mode selection is now performed explicitly by the
X11GLContext constructor.
2013-11-09 11:16:14 +01:00
Stefanos A
3c71634667
Temp context not necessary for GLX
...
GLX entry points are not bound to a specific context. This means that, unlike WGL, GLX does not require a temporary context in order to load its entry points!
2013-11-09 11:07:37 +01:00
Stefanos A
1130d988b0
Use OpenTK.Minimal to stub out missing System.Drawing functionality
...
when building on Android or iOS platforms.
2013-10-12 05:06:54 +02:00
Stefanos A
459313dca8
Fixed line endings
2013-10-10 00:18:59 +02:00
Stefanos A
a85cecdc59
Improved resource disposal
...
Added IDisposable interface to all classes holding native data that must be freed. OpenTK.Toolkit.Init() now returns an IDisposable instance that can be used to cleanup all native data held by OpenTK. This is useful when re-initializing OpenTK (possibly in a new AppDomain), as is the case in the Example browser.
2013-10-01 22:01:27 +02:00
Stefanos A.
b57e58dc47
Implemented Sdl2GLControl
...
SDL2 still fails with "not an OpenGL window".
2013-09-30 20:47:29 +02:00
Dean Ellis
9a39949249
Merge pull request #1 from elisee/fix-client-rectangle-setter
...
Fix ClientRectangle setter on Windows (WinGL) & Linux (X11)
2013-03-22 16:29:36 -05:00
Andy Korth
0f64af130a
Committing artfunkel patch for scan codes
2013-01-24 15:48:01 -06:00
Robert Rouhani
bf1401e115
Fixed the issues caused by merging in our changes as patches from the old repo.
2013-01-16 18:08:03 -08:00
Robert Rouhani
819c02c445
More hacking for gamepads
2013-01-16 17:59:52 -08:00
Robert Rouhani
b5591e1eee
Started implementing GamePad
2013-01-16 17:56:31 -08:00
the_fiddler
4fde3c4dab
Added conditional compilation and the necessary classes to compile OpenTK without referencing System.Drawing.dll. To build without System.Drawing, add "MINIMAL" to the conditional compilation symbols. Note that this is an experimental feature that will result in a source- and binary-incompatible dll.
2011-12-08 00:03:14 +00:00
the_fiddler
809d369c52
Implemented IGraphicsContext.SwapInterval property that supersedes IGraphicsContext.VSync. Fixes issue [ #2671 ]: "Expose SwapInterval to GameWindow".
2011-09-06 12:06:30 +00:00
the_fiddler
45a623a873
* X11Mouse.cs: Updated comments to clarify the capabilities of the driver.
2010-11-23 19:26:35 +00:00
the_fiddler
32a564c990
* XI2Mouse.cs: Removed unused code.
2010-11-23 19:21:28 +00:00
the_fiddler
88cbcc3a04
* X11Mouse.cs: Added SetPosition() implementation.
...
Added detection of pointer warping and used it to fake relative
motion.
2010-11-23 19:21:17 +00:00
the_fiddler
07cbb9dd8b
* Input/Mouse.cs:
...
* Input/IMouseDriver2.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/XI2Mouse.cs:
* Platform/X11/Functions.cs:
* Platform/Windows/WMInput.cs:
* Platform/X11/X11GLNative.cs:
* Platform/Windows/WinRawMouse.cs: Added ability to set the position
of the mouse cursor.
[X11] Avoid grabbing the pointer, as this causes unexpected
side-effects (XInput2 stops working, debugging becomes difficult).
We now use XWarpPointer and try to discard the spurious MouseMove
events it generates.
[X11] Make cursor visible when window loses focus, to make debugging
easier. Restore previous state when it regains focus.
2010-11-23 17:17:13 +00:00
the_fiddler
6c0da79687
Refactored and simplified DisplayDevice detection (devices are now stored in the platform-specific drivers instead of the frontend).
...
Made XRR resolution changes more robust.
Resolution changes now refresh the DisplayDevices on Windows.
2010-11-21 20:16:18 +00:00
the_fiddler
529a376d77
* X11GLNative.cs: Added missing KeyDown/KeyUp events.
2010-11-09 11:52:14 +00:00
the_fiddler
666355103b
* XI2Mouse.cs:
...
* X11Factory.cs: Removed window hooking, as it complicates code
unnecessarily.
2010-11-04 18:01:07 +00:00
the_fiddler
b646cfa06c
* X11KeyMap.cs: Added AltGr keycode.
...
* X11Mouse.cs: Use XQueryPointer instead of trying to hook events.
* X11Keyboard.cs: Improved handling of key modifiers.
* X11Factory.cs: Use new X11Mouse API.
* Functions.cs: Added XButtonGrab/XButtonUngrab.
* API.cs: Added missing XF86 keysyms.
2010-11-04 17:57:09 +00:00
the_fiddler
915f8e559f
* X11Keyboard.cs: Use XQueryKeymap to discover key state.
...
* X11Factory.cs: Use new X11Keyboard interface.
Temporarily disabled XI2Mouse for testing.
* Functions.cs: Fixed type declaration for Time.
Added support for XIGrabDevice, XIUngrabDevice, XGrabKey, XUngrabKey,
XAllowEvents and XKeycodeToKeysym/XKeysymToKeycode.
* API.cs: Enumerate modes for XAllowEvents.
2010-11-01 08:01:44 +00:00
the_fiddler
2934c9d004
Decoupled new driver API from old public interface.
...
WinRawMouse can now detect mouse disconnection/connection events.
2010-10-29 11:27:40 +00:00
the_fiddler
0044e4442d
Modified GetState() to return the combined state for all mouse/keyboard devices.
2010-10-28 11:10:57 +00:00
the_fiddler
a070918e93
Removed events that are not part of the INativeWindow interface.
2010-10-28 09:34:13 +00:00
the_fiddler
e13a8e25ae
Added code to raise all available events. Removed unused events from old OpenTK versions. Fixed potential race condition when raising events (an event might become null between the null check and the actual raising).
2010-10-28 09:31:00 +00:00
the_fiddler
b7a0a7c800
Removed unused field.
2010-10-28 09:01:54 +00:00
the_fiddler
ec01b1caae
Don't shadow class field.
2010-10-28 09:01:43 +00:00
the_fiddler
5ff74aa685
Suppressed unused field warnings. The fields are necessary for interop, even if not explicitly accessed.
2010-10-28 09:01:25 +00:00
the_fiddler
bb01babfbd
* XI2Mouse.cs:
...
* X11Factory.cs: Detect whether XInput2 is not supported without
throwing an exception.
2010-10-22 07:41:56 +00:00
the_fiddler
d49b315ced
* Input/Mouse.cs:
...
* Platform/X11/X11Mouse.cs:
* Platform/X11/XI2Mouse.cs: Added internal list of mouse devices in
preparation for multi-mouse support.
2010-10-21 14:53:10 +00:00
the_fiddler
671457b60a
* OpenTK.csproj:
...
* Input/MouseState.cs:
* Platform/X11/Structs.cs:
* Platform/X11/XI2Mouse.cs:
* Platform/X11/Functions.cs:
* Platform/X11/X11Factory.cs: Added XInput2 driver for mice.
Multi-mouse support pending.
* Platform/X11/X11Mouse.cs: Log the driver type for debugging
purposes.
2010-10-21 12:32:00 +00:00
the_fiddler
e638652d01
* Platform/X11/X11Keyboard.cs: Added index bounds check for
...
GetState.
2010-10-21 07:56:48 +00:00
the_fiddler
7947cad6f8
* OpenTK.csproj:
...
* Input/MouseState.cs:
* Input/ButtonState.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/X11Factory.cs: Added initial implementation of
OpenTK.Input.Mouse for X11.
2010-10-21 07:56:37 +00:00
the_fiddler
1529f811ac
* X11Keyboard.cs: Do not allocate an X11WindowInfo unnecessarily.
2010-10-20 15:16:55 +00:00
the_fiddler
86588ea60c
* Source/OpenTK/Input/Mouse.cs:
...
* Source/OpenTK/Platform/Factory.cs:
* Source/OpenTK/Input/InputDriver.cs:
* Source/OpenTK/Input/IMouseDriver.cs:
* Source/OpenTK/Platform/X11/X11Input.cs:
* Source/OpenTK/Platform/X11/X11Factory.cs:
* Source/OpenTK/Platform/Windows/WMInput.cs:
* Source/OpenTK/Platform/IPlatformFactory.cs:
* Source/OpenTK/Platform/MacOS/CarbonInput.cs:
* Source/OpenTK/Platform/Windows/WinFactory.cs:
* Source/OpenTK/Platform/MacOS/MacOSFactory.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/Windows/WinRawMouse.cs:
* Source/OpenTK/Platform/Windows/WinRawInput.cs: Added new MouseDriver
interface and added stub internal implementations.
2010-10-20 14:58:38 +00:00
the_fiddler
e801660ff7
* Source/OpenTK/OpenTK.csproj:
...
* Source/OpenTK/Input/Keyboard.cs:
* Source/OpenTK/Input/InputDriver.cs:
* Source/OpenTK/Input/KeyboardState.cs:
* Source/OpenTK/Input/IKeyboardDriver.cs:
* Source/OpenTK/Platform/X11/X11Input.cs:
* Source/OpenTK/Platform/X11/Functions.cs:
* Source/OpenTK/Platform/X11/X11Factory.cs:
* Source/OpenTK/Platform/Windows/WMInput.cs:
* Source/OpenTK/Platform/X11/X11Keyboard.cs:
* Source/OpenTK/Platform/MacOS/CarbonInput.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/Windows/WinRawInput.cs:
* Source/OpenTK/Platform/Windows/WinRawKeyboard.cs: Added initial
OpenTK.Input.Keyboard implementation for X11.
2010-10-20 14:33:23 +00:00
the_fiddler
7c0dbf7dcf
* Source/OpenTK/Platform/X11/X11GLNative.cs: Confine pointer to
...
window when it becomes invisible.
2010-10-20 09:50:49 +00:00
the_fiddler
3b72054480
* Source/OpenTK/Platform/X11/X11GLNative.cs: Refactored empty cursor
...
creation into its own function. Create one empty cursor for the
lifetime of the window.
2010-10-20 09:19:34 +00:00
the_fiddler
42e0880cbb
* Source/OpenTK/NativeWindow.cs:
...
* Source/OpenTK/INativeWindow.cs:
* Source/OpenTK/Platform/X11/API.cs:
* Source/OpenTK/Platform/X11/X11GLNative.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/MacOS/CarbonGLNative.cs:
* Source/Examples/OpenTK/Test/GameWindowStates.cs: Initial
implementation of CursorVisible API. See issue [#1560 ].
2010-10-18 15:25:25 +00:00
the_fiddler
8f9cd3decf
Report Xinerama as not supported when it fails to detect any devices. Fixes issue on Nvidia drivers when Twinview is enabled.
2010-10-09 19:11:45 +00:00
the_fiddler
ddb51b25f7
Added XF86VM fallback when XRandR is missing (many thanks to jdomnitz!)
2010-10-09 19:10:39 +00:00
the_fiddler
1f4b5be7d0
Synced trunk with 1.0 branch.
2010-10-02 18:52:34 +00:00
the_fiddler
3f8f9b09e3
Synced with 1.0 branch.
2010-03-11 22:53:11 +00:00
the_fiddler
da7e4c7252
Backported bugfixes from 1.0 branch.
2010-02-03 19:04:42 +00:00
the_fiddler
f12cbf1cd5
Synced trunk with 1.0 branch.
2009-11-16 18:45:41 +00:00
the_fiddler
089b72c9c8
Protect all Xlib calls with XLockDisplay/XUnlockDisplay. Fixes issue [ #1354 ]: "Application always run in windowed mode when using shared contexts".
2009-11-09 19:05:41 +00:00
the_fiddler
e35f9d5374
Disabled OpenTK.Point, Size and Rectangle structures that were meant to replace their System.Drawing implementations until the correct course of action can be determined. This change is too disruptive to existing applications, especially if they are also using Windows.Forms (see discussion here: http://www.opentk.com/node/1348 ).
2009-11-08 23:02:53 +00:00
the_fiddler
0af0916ce0
Don't display window by default, unless "Visible = true" is called. Allows the creation of invisible windows for secondary GraphicsContexts.
2009-11-08 22:46:49 +00:00
the_fiddler
e1485cdfca
Added a second terminating 0 to attribute list, trying to work around issue [ #1352 ]: "Occasional AccessViolationExceptions when creating the GLControl".
2009-11-08 22:42:20 +00:00
the_fiddler
8733dd7c2f
* Platform/Windows/WinDisplayDevice.cs:
...
* Platform/MacOS/QuartzDisplayDeviceDriver.cs: Updated to use the new
DisplayDevice constructors.
* Platform/X11/X11XrandrDisplayDevice.cs: Query Xinerama for the exact
bounds of each display device, if available.
Use global X lock to protect from multithreaded access.
2009-11-06 09:50:50 +00:00
the_fiddler
39b4e329fd
* X11GLNative.cs: Convert from ASCII to the default encoding before generating KeyPress events (allows support for simple scripts that do not use composition.)
2009-11-05 12:12:29 +00:00
the_fiddler
3e1ce4dfa5
* X11GLNative.cs: Implemented KeyPress event (no support for input
...
methods yet).
* Functions.cs: Added XLookupString and XRefreshKeyboardMapping
methods for simple ANSI text input.
2009-11-05 11:49:24 +00:00
the_fiddler
ada915fed0
Added missing TitleChanged event.
2009-11-04 20:49:38 +00:00
the_fiddler
3fd2b4b30b
Removed unused code.
2009-11-04 20:48:35 +00:00
the_fiddler
5142354cda
Renamed internal BindingsBase.LoadAll/Load methods to LoadEntryPoints/LoadEntryPoint, in order to avoid name clashes with the static GL.LoadAll() method.
...
Added GraphicsContext() constructor that takes an existing, valid OpenGL context. This can be used for interop with third-party toolkits which create the OpenGL context themselves.
2009-11-04 16:49:56 +00:00
the_fiddler
3ca21ed1b6
Initialize threads before calling any other X methods.
2009-11-04 10:04:16 +00:00
the_fiddler
bd3334dd2b
Added SyncRoot object to BindingsBase that can be used to protect shared state in the various bindings.
2009-11-03 23:26:57 +00:00
the_fiddler
74bae3e196
Use more aggressive xlib locking following the advice of the multithreaded X manpages (needs work).
2009-11-02 22:37:13 +00:00
the_fiddler
0bfb7897b0
Do not allow MakeCurrent() to change the display connection of the context. This would result in an X error and the change allows us to simplify shutdown/cleanup logic.
2009-11-02 20:50:16 +00:00
the_fiddler
c8c652131e
Added experimental Icon and IconConverter implementations from Mono.
...
Modified INativeWindow implementations to not qualify Icon class fully, so we can change the implementation between System.Drawing and OpenTK at will (using the EXPERIMENTAL #define).
2009-11-02 09:33:53 +00:00
the_fiddler
ff572e83b7
Added experimental OpenTK.Point/Size/Rectangle alternatives to System.Drawing, to make OpenTK usable without referencing System.Drawing (disabled by default, #define EXPERIMENTAL to test). Modified a number of using directives and namespace qualifiers to accommodate this change.
2009-11-01 12:44:38 +00:00
the_fiddler
3d0a3dfb4e
Implemented INativeWindow.MouseEnter/MouseLeave events on Win32 and X11.
2009-10-27 23:57:44 +00:00
the_fiddler
bdfa5fc9ec
Avoid accessing OpenTK.Graphics.OpenGL from platform-specific code. Reduces coupling and code-duplication.
2009-10-21 10:16:32 +00:00
the_fiddler
2b7ed38569
* X11GLNative.cs: Added more defensive checks for the existence of the window before issuing XDestroyWindow.
...
Do not allow multiple calls to XDestroyWindow once the shutdown sequence has been initialized. Fixes issue [#1190 ]: "GameWindow dispose on linux".
2009-10-19 19:46:37 +00:00
the_fiddler
162faad8e3
* X11GLNative.cs: Correctly set all necessary ClientMessage fields
...
for XSendEvent call in Close() method.
2009-10-19 19:03:17 +00:00
the_fiddler
47c1cc69e5
* Functions.cs: Added helper function for XSendEvent, so that we
...
don't need to cast the EventMask to IntPtr.
2009-10-19 19:02:07 +00:00
the_fiddler
e2dd2cb58f
* X11GLContext.cs: Correctly set GraphicsMode in constructor (resolves issue [ #1175 ]: "Graphics] GraphicsContext.GraphicsMode property returns null on Linux").
2009-10-19 18:11:32 +00:00
the_fiddler
0c9657c5e7
* X11GLNative.cs: Implemented Icon property for WMs that do not
...
respect _NET_WM_ICON (e.g. Gnome/Metacity/Compiz).
2009-10-19 10:42:28 +00:00
the_fiddler
a05d06b2d8
* Functions.cs: Added a number of missing methods relating to
...
XWMHints, images, pixmaps and root windows.
Implemented Create[Mask|Pixmap]FromImage methods.
* Structs.cs: Added ImageFormat enum.
2009-10-19 10:41:41 +00:00
the_fiddler
d3a56a15ef
* Graphics/ES10/Helper.cs:
...
* Graphics/ES11/Helper.cs:
* Graphics/ES20/Helper.cs:
* Graphics/BindingsBase.cs:
* Platform/X11/GlxHelper.cs:
* Graphics/OpenGL/GLHelper.cs:
* Platform/X11/X11GLContext.cs: Modified BindingsBase to define
abstract GetAddress method (reason: removes OpenTK.Graphics-specific
code from BindingsBase and allows it to be used in different
bindings).
Implemented GraphicsBindingsBase and modified the OpenGL and OpenGL|ES
bindings to use this.
Modified the GLX bindings to inherit from BindingsBase (reason:
reduces code duplication for extension loading).
2009-10-07 10:44:45 +00:00
the_fiddler
0abd2823d2
* X11GraphicsMode.cs: Protect the mode queries with XLockDisplay()/XUnlockDisplay().
2009-09-25 08:28:51 +00:00
the_fiddler
3170c7aa0a
* X11KeyMap.cs: Removed dependency on System.Windows.Forms.
2009-09-13 16:34:03 +00:00
the_fiddler
594f877021
Removed obsolete OnCreate and OnDestroy methods/events.
2009-09-04 23:23:46 +00:00
the_fiddler
1f0c7fe466
Removed unnecessary CLSCompliant attributes.
2009-09-04 23:22:44 +00:00
the_fiddler
c573869322
Made GraphicsMode.Index public, as it is necessary when extending OpenTK.
...
Removed OpenTK.Platform.Utilities.CreateWindowInfo and made the platform-specific CreateWindowInfo methods public (e.g. CreateX11WindowInfo).
Moved Mono Windows.Forms-specific code into X11GLControl.
Removed OpenTK.Platform.Utilities.IsIdle.
Removed obsolete methods from OpenTK.Platform.Utilities.
Marked OpenTK.Platform.Utilities.CreateGraphicsContext as obsolete (use GraphicsContext constructor instead).
Made IWindowInfo implementations private.
2009-09-04 21:11:25 +00:00
the_fiddler
f6da09177e
Fixed line endings and set svn:eol-style to native and svn:mime-type to text/plain for .cs files.
2009-09-03 19:01:11 +00:00
the_fiddler
2f5a0bfe3b
* Source/OpenTK/Platform/Egl/EglContext.cs:
...
* Source/OpenTK/Graphics/GraphicsContext.cs:
* Source/OpenTK/Graphics/IGraphicsContext.cs:
* Source/OpenTK/Platform/MacOS/AglContext.cs:
* Source/OpenTK/Platform/X11/X11GLContext.cs:
* Source/OpenTK/Graphics/GraphicsContextBase.cs:
* Source/OpenTK/Platform/Windows/WinGLContext.cs:
* Source/OpenTK/Platform/Dummy/DummyGLContext.cs: Added IsDisposed
property to IGraphicsContext and implemented in all context classes.
Removed 'bool disposed' fields from these classes in favor of the
new property.
2009-09-03 12:23:11 +00:00
the_fiddler
63314b0f82
* X11GLContext.cs: Remove context field in favor of GraphicsContextBase.Handle. Fixes issue 1121: "GraphicsContext fails with KeyNotFoundException on SVN trunk".
2009-08-25 09:03:19 +00:00
the_fiddler
c6516c2255
Moved OpenTK.GLControl to its own project.
2009-08-19 14:17:47 +00:00
the_fiddler
7f970763a7
Moved GdiPlus wrappers to OpenTK.Compatibility.
...
Moved TextPrinter to OpenTK.Compatibility.
2009-08-17 10:29:51 +00:00
the_fiddler
775f158269
Removed Destroy event and RegisterForDisposal method from IGraphicsContext.
...
Added GraphicsContextBase, which acts as the foundation of all IGraphicsContext implementations.
Added DesktopGraphicsContext, which acts as the foundation of all desktop (i.e. not ES) IGraphicsContext implementations.
Modified all IGraphicsContext implementations to inherit from GraphicsContextBase and/or DesktopGraphicsContext.
2009-08-17 10:23:16 +00:00
the_fiddler
1bcc012f35
Implemented INativeWindow.WindowBorderChanged and INativeWindow.WindowStateChanged events.
2009-08-17 09:34:15 +00:00
the_fiddler
9a6a539d26
Modified GraphicsMode.Index to be a nullable property. Modified consuming classes to check Index.HasValue prior to first use.
2009-08-15 16:44:43 +00:00
the_fiddler
3462e80978
Moved OpenTK.Graphics.GL class to the OpenTK.Graphics.OpenGL namespace (reason: necessary for OpenGL|ES support; necessary for support of different OpenGL profiles). OpenTK.Graphics.GL has been moved to the OpenTK.Compatibility library.
...
Removed OpenTK.Graphics.Glu class (reason: deprecated upstream; most functionality provided by OpenTK math; not compatible with OpenGL 3.0+.) OpenTK.Graphics.Glu can be accessed through OpenTK.Compatibility.
Added OpenGL|ES-specific ErrorHelper classes.
Moved OpenTK.Graphics.DisplayDevice and OpenTK.Graphics.DisplayResolution to the root OpenTK namespace (reason: their functionality is not specific and does not depend on OpenTK.Graphics).
Split Graphics*Exception classes into different files.
Made GraphicsErrorException public (reason: necessary for OpenTK.Compatibility).
2009-08-14 13:13:28 +00:00
the_fiddler
d3fadd0be1
Suppressed documentation warnings and ensured public structures follow the class library design guidelines.
2009-08-11 21:11:39 +00:00
the_fiddler
682d371cbe
Made types used by X11WindowInfo public.
2009-08-11 21:02:52 +00:00
the_fiddler
bf5decd472
Added missing license information and removed unused code.
2009-08-11 20:57:54 +00:00
the_fiddler
a906a70146
Merged fix for issue [ #1074 ]: " X11XrandrDisplayDevice on Xming ---> Argument is out of range." from 0.9.8 branch.
2009-08-10 11:36:26 +00:00
the_fiddler
d2ed387c67
Merged improved XRandR handling from 0.9.8 branch.
2009-08-04 09:35:31 +00:00
the_fiddler
503d86267a
Marked all IPlatformFactory interface implementations as virtual.
2009-07-24 21:52:01 +00:00
the_fiddler
67bdd39d08
Added INativeWindow.CreateKeyboardDriver()
...
Added INativeWindow.KeyPress event (KeyPressEventArgs).
Removed INativeWindow.Icon property.
2009-07-19 17:49:51 +00:00
the_fiddler
5ef2a59306
Replaced tabs with spaces.
2009-07-19 16:09:46 +00:00
the_fiddler
e8754784f8
Fixed XML docs and remove unnecessary CLSCompliance attributes.
2009-06-28 10:52:58 +00:00
the_fiddler
b4359c51ac
Implemented multisampling on X11.
2009-06-26 20:01:22 +00:00
the_fiddler
f46e9b1564
Removed obsolete code.
...
Implemented X11GLNative.IconChanged event.
2009-06-24 14:42:40 +00:00
the_fiddler
83bcde95f9
Marked platform-specific APIs as internal.
...
Added ObsoleteAttribute to obsolete functionality.
2009-06-04 11:21:33 +00:00
the_fiddler
4a8d9c582c
Made X11 structs, enums and functions internal. OpenTK should not expose platform-specific APIs.
2009-06-04 10:57:26 +00:00
the_fiddler
7df9a448d6
Merged gw-next2 branch to trunk.
2009-06-02 15:49:39 +00:00
the_fiddler
0498b3e92a
Replaced XAutoRepeatOff by XkbSetDetectableAutoRepeat, because the former must be reset before the program exits (and this is not always possible).
2009-05-30 21:41:45 +00:00
the_fiddler
407d6fdf08
Added XAutoRepeatOn() method.
2009-05-30 21:40:42 +00:00
the_fiddler
76641d46d6
Added GraphicsContext.GetCurrentContextDelegate to IPlatformFactory.
...
Improved CreateDummyContext logic to detect and use the context handle of the current thread or a specified handle.
Removed GetCurrentContext() methods from platform-specific context implementations (everything now goes through the relevant IPlatformFactories).
2009-05-30 19:27:52 +00:00
the_fiddler
9c98321c76
Added call to XAutoRepeatOff() to disable keyboard autorepeat on X11Input.
2009-05-30 18:15:13 +00:00
the_fiddler
c02b693062
Added initial support for GameWindow.PointToClient.
2009-05-07 19:48:22 +00:00
the_fiddler
3f41f1eaf5
Added stack traces to automatic error checking.
...
Added GraphicsContext.ErrorChecking property to temporarily disable error checking if necessary.
Error checking is now added to all functions in debug mode (the generator would miss specific CLS-compliant overloads before).
2009-03-29 21:41:30 +00:00
the_fiddler
d4aef922bc
Fixed all known build warnings, apart from missing xml comments.
2009-03-25 21:53:12 +00:00
the_fiddler
3914aaa1e6
* X11GLNative.cs: Ensure that Width and Height properties return valid values in the OnLoad event.
2009-03-23 11:57:49 +00:00
the_fiddler
c7adcbb79b
Moved GraphicsMode to IGraphicsContext as it is universally useful.
...
Implemented GraphicsMode property on X11 and Mac OS X.
Replaced tabs with spaces in AglContext.cs.
2009-03-23 11:41:11 +00:00
the_fiddler
c7b9c7f0c5
* Platform/X11/X11GLContext.cs: Added workaround for buggy Amd linux drivers. Added "None" to context attributes, as specified by the specs.
2009-03-20 23:16:52 +00:00
the_fiddler
94b70b7bb7
* Platform/X11/X11GLNative.cs: Removed stale comments and unused code.
2009-03-20 23:15:16 +00:00
the_fiddler
6484f08e04
* Platform/X11/Bindings/Glx.cs: Added glXIsDirect method and made all enums private. Added ErrorCodes enum.
2009-03-20 23:13:24 +00:00
the_fiddler
6076dc7529
* Platform/X11/X11GraphicsMode.cs: Major clean up. Refactored
...
ChooseFBConfig and ChooseVisual codepaths into different methods.
Fixed bug [#728 ].
2009-03-20 19:38:52 +00:00
the_fiddler
ca1e416a53
Relaxed checks to allow input devices that do not contain any axes and/or buttons (e.g. tablets or keyboard extensions).
2009-03-08 20:03:33 +00:00
the_fiddler
fda108701c
Added new GLControl constructors that allow you specify the desired GraphicsContext (OpenGL) version and flags.
2009-03-07 11:03:41 +00:00
the_fiddler
0759beaebf
Added new GameWindow constructors that specify the desired GraphicsContext (OpenGL) version and flags.
2009-03-07 10:49:32 +00:00
the_fiddler
4a2a223751
Added the capability to specify the desired OpenGL version and parameters (debug / forward-compatible context).
...
Added OpenGL 3.0 support for GLX contexts.
Added support for creating dummy contexts (useful if you are creating contexts from an external library).
Cleaned up unused and stale code.
2009-03-07 10:36:51 +00:00
the_fiddler
70963b09af
Use Glx.ChooseFBConfig instead of the deprecated Glx.ChooseVisual, if the first is available. This is necessary for OpenGL 3.0 contexts.
2009-03-07 07:16:46 +00:00
the_fiddler
4efee1f1ef
Removed unused types.
2009-03-07 07:14:52 +00:00
the_fiddler
300abf1a1c
Added support for the glx functions ChooseFBConfig, GetVisualFromFBConfig and CreateContextAttribsARB.
2009-03-07 07:13:48 +00:00
the_fiddler
67f9358bd3
* X11/X11Joystick.cs: Flip vertical axes so that +1 points up.
...
* Windows/WinMMJoystick.cs: Move Z-axis before R-axis.
2009-03-01 09:17:19 +00:00
the_fiddler
1a0c3ff31f
Add description to joysticks opened from the legacy path.
2009-03-01 01:26:04 +00:00
the_fiddler
44e4971a38
Added JoystickAxis and JoystickButton enumerations, as well as their respective collections.
...
Implemented necessary Poll() functions.
2009-03-01 01:17:24 +00:00
the_fiddler
6118f4fdec
Initial joystick support (not public yet).
2009-02-28 23:11:27 +00:00
the_fiddler
e5ad57e13d
Suppressed a large amount of warnings for unused methods / fields in the platform bindings.
...
Replaced tab stops with spaces.
2009-02-22 12:10:36 +00:00
the_fiddler
69b17fa43f
Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files.
2009-02-22 10:43:35 +00:00
kanato
c2fd0e5eb2
Merged in macos branch for Mac OS X support.
2009-02-20 18:57:57 +00:00
the_fiddler
db690b144f
Merged text branch and updated changelog.
2009-02-13 19:09:38 +00:00
the_fiddler
d79a9ca5d3
Time should be IntPtr, not uint.
...
Fixed KeypadEnter detection (was mistakenly mapped to vanilla Enter key).
2009-02-09 15:33:32 +00:00
the_fiddler
6edd78879d
Fixed build warnings.
2008-12-09 10:06:25 +00:00
the_fiddler
62da31df48
Made ContextHandle a struct to reduce GC pressure (ContextHandles are created per frame).
...
Added xml documentation for the ContextHandle.
Made the casts between ContextHandles and IntPtrs explicit.
Updated all ContextHandle consumers to reflect the explicit cast.
2008-11-23 20:17:50 +00:00
the_fiddler
3f54e573e5
Removed unusued IGLControlHelper interface.
2008-11-23 09:39:52 +00:00
the_fiddler
df8e411ea9
Fixed some whitespace and normalized line-endings.
2008-11-18 12:44:18 +00:00
the_fiddler
bca0eef6d4
Implemented X11GdiPlusInternals.
...
Added missing license headers.
2008-11-03 23:55:53 +00:00
the_fiddler
f218071fa7
Use different implementations for accessing GDI+ internals on .Net and Mono.
2008-11-03 23:34:54 +00:00
the_fiddler
2dbf21a64a
Make WinWindowInfo public.
...
Fixed X11WindowInfo line endings.
2008-05-19 20:57:36 +00:00
the_fiddler
48807bb5e1
Initial support for external contexts.
2008-05-19 20:54:07 +00:00
the_fiddler
58cd07ec2a
Fixed mouse motion events on Linux.
2008-05-04 18:23:42 +00:00