the_fiddler
9f96fe71c1
Removed unnecessary debugging messages from main loop.
2009-11-04 10:03:50 +00:00
the_fiddler
765f54917e
Default window style flags can be constants rather than static readonly fields.
...
Throw an exception if we fail to register the window class, the previous solution (check for "class already exists" error) was a workaround for a threading issue that has been solved.
Set the small icon when registering the class.
2009-11-04 09:21:41 +00:00
the_fiddler
15ab0d3ea7
Fixed ClassName and ModalLoopTimerId when constructing multiple WinGLNative windows in parallel.
...
WinGLNative windows are now correctly focused when clicked on the client area.
2009-11-03 23:42:06 +00:00
the_fiddler
544cf9d405
Serialize context construction to avoid threading issues with shared contexts.
2009-11-03 23:39:03 +00:00
the_fiddler
7e1ebfea6b
Avoid static caching of extension strings and improve multithreading behavior - WGL extension checking is fast enough that caching is not very useful.
2009-11-03 23:36:37 +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
a7ccef9ae8
Set default class cursor to avoid invalid cursors when entering the window.
2009-10-21 20:08:04 +00:00
the_fiddler
f1fc4b5b4e
Added LoadCursor method.
...
Added CursorName enum (only default arrow cursor is defined for now).
2009-10-21 20:07:32 +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
25c646639b
Trap WM_SYSCHAR to avoid generating system beeps on Alt+[Key] combinations.
2009-10-20 11:35:35 +00:00
the_fiddler
ddcf5f6e44
Revert WindowBorder and WindowState value changes.
...
Use Nullable types to detect when WindowBorder and WindowState is not set.
2009-10-19 21:32:33 +00:00
the_fiddler
e551881f1b
Implemented icon support.
2009-10-18 16:52:07 +00:00
the_fiddler
76ae6999cd
Focused property now returns correct values. FocusedChanged event is now correctly raised.
2009-10-18 15:11:41 +00:00
the_fiddler
590789a684
Improved handling if WindowBorder changes when the window is WindowState is Maximized or Fullscreen. Maximized windows now correctly retain their maximized state, while fullscreen windows do not become non-fullscreen when their border is modified.
2009-10-18 14:56:53 +00:00
the_fiddler
6be563211f
* API.cs: added MonitorFromWindow/MonitorFromPoint methods.
...
* WinGLNative.cs: fixed handling of WindowState.Maximized when WindowBorder is Hidden.
WindowStateChanged events are now correctly raised on all state changes.
2009-10-18 09:42:41 +00:00
the_fiddler
c5464bc5d0
Do not print window title to debug stream inside the set_Title property. Instead, log an error only when the method call fails. Fixes issue [ #1239 ]: "Debug.Print in Title property".
2009-10-17 22:02:08 +00:00
the_fiddler
4abe4416a8
Added LoadIcon method.
...
Made SHFILEINFO non-public.
Modified WinGLNative.cs to use Icon.ExctractAssociatedIcon() to set the application icon (needs work).
2009-10-14 22:48:19 +00:00
the_fiddler
ef1a4488d0
Added support for setting the application (use SHGetFileInfo to retrieve the correct icon and set it when constructing a new window).
2009-10-14 21:50:40 +00:00
the_fiddler
973839ef2b
Restore previous window size when leaving fullscreen mode.
2009-10-14 19:46:39 +00:00
the_fiddler
d76279565f
Workaround for modal loop blocking in ENTERMENULOOP event.
2009-10-12 13:15:12 +00:00
the_fiddler
ab138bfb37
Post a close message instead of destroying the window outright, when the user calls the Close() method. Ensures that the user can stop the exit sequence through the IsClosing event.
2009-10-07 16:18:48 +00:00
the_fiddler
e441e9d067
Generate Update/ResizeFrame events whenever the window is moved or resized. Partially fix for issue [ #1218 ]: "[NativeWindow] Avoid modal loop during window resize/movement".
2009-10-07 15:18:53 +00:00
the_fiddler
a6984a7a48
Added timer callback to WM_ENTERSIZEMOVE messages to avoid stalling the rendering during the modal size/move loop (which occurs when the user clicks the window bar or borders). Still need to find a way to notify the frontend (GameWindow) to process queued up UpdateFrame/RenderFrame events.
2009-10-07 13:07:36 +00:00
the_fiddler
eaac78008b
Added SetTimer, KillTimer and TimerProc bindings.
2009-10-07 13:03:32 +00:00
the_fiddler
69cfe6b56a
Raise KeyPress events (handle WindowsMessage.CHAR message).
2009-09-26 21:56:42 +00:00
the_fiddler
87683d533e
Renamed IsWindowVisisble to the correct IsWindowVisible.
2009-09-19 20:30:12 +00:00
the_fiddler
76e338ce5e
Removed obsolete comment.
2009-09-08 16:55:41 +00:00
the_fiddler
4e86dd1381
Remove System.Windows.Forms.Control dependency in favor of OpenTK.NativeWindow.
2009-09-08 13:09:50 +00:00
the_fiddler
542144ac7c
Construct windows invisible by default. Use 'Visible = true' or 'GameWindow.Run' to display them.
2009-09-08 13:04:22 +00:00
the_fiddler
b41877e771
Added IsWindowVisible method.
2009-09-08 13:03:21 +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
9d3561dc4e
Merged nativewindow branch to trunk.
2009-09-02 13:36:34 +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
81b06b8a08
Ensure Wgl core entry points are loaded prior to first use, even without a Wgl context.
...
Do not query actual GraphicsMode.Default in DummyGLContext constructor. Doing so creates a temporary context, which should not be done when creating a dummy context.
Fixed issue [#993 ]: "Possible bug in GraphicsContext.CreateDummyContext()".
2009-08-11 21:45:32 +00:00
the_fiddler
8f74430e23
Made class public.
...
Added missing license information.
2009-08-11 20:55:43 +00:00
the_fiddler
58e58e8885
Implemented CreateKeyboardDriver (currently disabled).
2009-08-04 08:49:15 +00:00
the_fiddler
503d86267a
Marked all IPlatformFactory interface implementations as virtual.
2009-07-24 21:52:01 +00:00
the_fiddler
b1a6202269
Replaced tabs with spaces.
2009-07-19 17:50:41 +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
f46e9b1564
Removed obsolete code.
...
Implemented X11GLNative.IconChanged event.
2009-06-24 14:42:40 +00:00
the_fiddler
daed9943a8
Removed obsolete code.
2009-06-24 14:38:48 +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
7df9a448d6
Merged gw-next2 branch to trunk.
2009-06-02 15:49:39 +00:00
the_fiddler
ac21b13246
Fixed recursion that between WinGraphicsMode.SelectGraphicsModeARB and GraphicsMode.Default.
...
Fixed acceleration attribute in WinGraphicsMode.SelectGraphicsModeARB. Now, antialiasing works on nvidia drivers, too.
2009-06-01 13:24:18 +00:00
the_fiddler
98e39f16a2
WinGraphicsMode now uses wglChoosePixelFormatARB, if available. This allows the use of FSAA modes.
2009-06-01 11:05:31 +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
deadbdf6cb
Merged TextPrinter optimization changes from gw-next2 branch.
2009-05-27 18:40:29 +00:00
the_fiddler
d686adb42a
Ensured IWindowInfo.Dispose() is called when the GLControl handle is destroyed.
...
WinGLContext.SwapBuffers now throws an exception on failure.
2009-05-19 09:48:47 +00:00
the_fiddler
9bdc21cabd
Added diagnostic message when ReleaseDC fails.
2009-05-19 09:45:36 +00:00
the_fiddler
2277bf8576
Modified Wgl.SupportsExtension to be more defensive when calling Wgl.Arb.GetExtensionString. It now bails out if the extension string is empty.
2009-05-19 09:44:47 +00:00
the_fiddler
c02b693062
Added initial support for GameWindow.PointToClient.
2009-05-07 19:48:22 +00:00
the_fiddler
e5df36036b
Fixed potential crash-bug in the WGL_ARB_create_context path (missing 0 attribute).
2009-04-29 11:02:12 +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
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
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
03cf3ee512
WinMM devices with 0 axes and no POV hats are not joysticks/joypads.
2009-03-07 05:55:33 +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
51e2d93e38
Added support for POV hats with WinMM.
...
Reversed vertical axes, so that down is -1 and up is +1.
2009-03-01 08:44:39 +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
132c2ab856
Merged initial GL3 support from branches/gl3.
2009-02-28 19:56:08 +00:00
the_fiddler
cf20b474f6
Added support for wglCreateContextAttribsARB.
2009-02-28 19:51:58 +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
c6f5131491
Fixed SetWindowPos function (IntPtr instead of int parameter).
...
Add NcCalcSizeOptions enum.
2009-02-13 21:45:50 +00:00
the_fiddler
db690b144f
Merged text branch and updated changelog.
2009-02-13 19:09:38 +00:00
the_fiddler
44b3a10794
Removed call to Console.WriteLine when changing WindowState.
2008-12-09 21:26:48 +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
dbfc38202b
Library should not use Trace output.
2008-11-23 09:34:33 +00:00
the_fiddler
d018b4825d
Final fix for mousewheel support on x64.
2008-11-09 23:42:54 +00:00
the_fiddler
9bbef90088
Use UIntPtr instead of IntPtr to avoid overflow exceptions in x64 mode.
2008-11-09 11:43:02 +00:00
the_fiddler
e6baa0a42f
Possible fix for overflow exception on mouse wheel movement in x64 mode.
2008-11-08 21:44:36 +00:00
the_fiddler
bca0eef6d4
Implemented X11GdiPlusInternals.
...
Added missing license headers.
2008-11-03 23:55:53 +00:00
the_fiddler
44f0828425
Moved GdiPlus to OpenTK.Platform where it belongs.
...
Removed unused fields in WinGdiPlusInternals.cs.
2008-11-03 23:51:16 +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
98aec7ce1c
Fix overflow exception on right shift key press/release when running on x64 mode.
2008-11-02 17:27:12 +00:00
the_fiddler
c084833d48
Removed unused variables and relevant warnings.
2008-09-19 20:57:35 +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
7164e4596b
Added a work around for the "stuck cursor" issue, where the mouse cursor would stay at the resize state when entering the GameWindow.
2008-05-04 19:09:18 +00:00
the_fiddler
f65fd4b221
Fixed mouse delta handling.
2008-05-04 17:42:19 +00:00
the_fiddler
3d07e2597f
Normalized line endings.
2008-05-03 16:34:39 +00:00
the_fiddler
6f1c9b6daf
Minor stylistic change (word wrap at 120 characters).
2008-04-25 21:02:54 +00:00
the_fiddler
2d4d4b922e
Completed implementation of WindowBorder and WindowState properties.
2008-04-21 20:18:39 +00:00
the_fiddler
8c0662030f
Added GetWindowInfo function and WindowInfo structure.
2008-04-21 20:18:04 +00:00
the_fiddler
cad6f0d2da
Added FlagsAttribute to WindowStyle enum.
2008-04-21 18:55:17 +00:00
the_fiddler
c5731cb986
Completed WindowBorder and WindowState implementation.
2008-04-21 18:36:16 +00:00
the_fiddler
d94643c6f2
Added WindowState and WindowBorder support on Windows. Removed GameWindow.Fullscreen property. Removed some chunks of unused code.
2008-04-20 17:54:16 +00:00
the_fiddler
3c4068e33b
Fixed formatting on pixel format setting debug message.
...
Added error handling to DestroyContext().
2008-04-20 17:52:27 +00:00
the_fiddler
5b4db2b1a6
Added GetClientRect. Fixed GetWindowLong on 32bit platforms.
2008-04-20 17:45:06 +00:00
the_fiddler
a90a6c6e3d
Added stub for WindowState.
2008-04-13 21:32:04 +00:00
the_fiddler
1be3b167c7
Fixed context sharing on windows.
2008-04-13 13:54:24 +00:00
the_fiddler
84f117b3d3
Removed obsolete GetDisplayModes() function.
2008-04-04 21:08:09 +00:00
the_fiddler
9c4d81c4f2
Fixed an arithmetic overflow exception in extended bit checking at WMInput.cs.
2008-04-04 20:05:38 +00:00
the_fiddler
7001076f5a
Moved OpenTK.OpenAL to OpenTK.Audio.
...
Added SoundReader class.
Added OpenTK.Math.Functions.NextPowerOfTwo
Fixed several AL functions, and added overloads to AL.BufferData.
Added OpenAL wave playback sample.
2008-04-04 19:46:08 +00:00
the_fiddler
14f544ff5e
Added some missing SetLastError attributes.
2008-03-29 16:15:57 +00:00
the_fiddler
f23d7929be
Can now distinguish between left and right control, shift, alt and enter keys.
2008-03-10 08:50:19 +00:00
the_fiddler
bb84178f20
Added detection of left and right shift/control/alt buttons.
2008-03-08 17:35:58 +00:00
the_fiddler
03825f1241
Initial commit.
2008-03-03 12:47:35 +00:00
the_fiddler
223c742648
Renamed ColorDepth to ColorFormat, to avoid class with System.Drawing.ColorDepth.
...
Update X11 stack to use System.Windows.Forms.XPlatUI for its Display, Screen and RootWindow.
Fixed mode setting for X11GLControl.
Fixed X11 shutdown (was generating X11 errors).
Added DeviceContext getter to WinWindowInfo.
Made IWindowInfo disposable.
Added documentation to many public methods.
Worked around a Mono 1.2.4 bug with Handle creation on Windows.Forms.Control.
Updated GL.BuildExtensionList to correctly parse GL_VERSION when in indirect rendering mode.
Fixed crash errors in X11GLContext.CreateContext and X11GraphicsMode.
Added a ref overload to Glx.ChooseVisual()
IGraphicsContext.MakeCurrent now takes an IWindowInfo parameter. This allows the user to change to window is context is bound to (untested).
Renamed XyzWindowInfo.Handle to XyzWindowInfo.WindowHandle.
2008-03-03 12:44:56 +00:00
the_fiddler
e477631ad7
Major update: fixed context construction on X11.
...
Fixed vsync on X11.
Updated GraphicsContext interface, for better extensibility. Some public functions were moved to IGraphicsContextInternal.
Renamed DisplayDevice.PrimaryDisplay to DisplayDevice.Default.
Updated and documented new GameWindow constructors.
Improved GameWindow.Exit, added GameWindow.ExitAsync() and improved error handling.
Improved GraphicsContext and NativeGLWindow APIs (construction in constructor).
Made ContextHandle public.
2008-03-01 13:15:31 +00:00
the_fiddler
65f2b432d8
Fixed a struct != null comparison.
2008-02-28 16:09:02 +00:00
the_fiddler
c89abaee72
Renamed GraphicsFormat to GraphicsMode.
2008-02-28 15:28:40 +00:00
the_fiddler
7d6d34c686
Renamed GraphicsFormat to GraphicsMode.
2008-02-28 15:26:13 +00:00
the_fiddler
42c6a6818c
Removed obsolete WindowInfo.cs
2008-02-28 14:00:45 +00:00
the_fiddler
9abcb5d92e
Updated to use new IWindowInfo interface.
...
Updated to use GraphicsFormat instead of DisplayMode.
Updated to use ColorDepth instead of ColorMode.
Improved GameWindow Exit handling, and handling of failed context creation.
Improved WinGLContext creation code, to allow for FSAA support in the future.
Fixed several shutdown bugs in WinGLContext and GraphicsContext.
Context creation no longer relies on IGLContextCreationHack.
X11GLContext is not working at the moment.
2008-02-28 13:57:07 +00:00
the_fiddler
64aa98f9c6
Initial commit. Can detect idle mode and can create a WinWindowInfo out of a Windows.Forms.Control.
2008-02-28 13:46:44 +00:00
the_fiddler
8d9b66ef18
Fixed PixelFormatDescriptorFlags.
...
Fixed SetWindowLongPtr on 32bit platforms.
Added DescribePixelFormat.
Added SetLastError to SetPixelFormat.
2008-02-28 13:45:38 +00:00
the_fiddler
009a4aa1b4
Initial commit. Takes the place of Windows.WindowInfo.
2008-02-28 13:43:19 +00:00
the_fiddler
c4e165bec9
Added SetLastError to a couple of Wgl functions. These are temporary, until the generator is updated.
2008-02-28 13:42:43 +00:00
the_fiddler
4fe6d37770
Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL.
2008-02-02 00:58:26 +00:00
the_fiddler
e5b5af7b11
Renamed KeyMap to WinKeyMap.
2008-02-01 23:13:50 +00:00
the_fiddler
3658987dc0
Added ChangeDisplaySettingsEnum.Fullscreen to resolution changes. At last, windows stopped resizing themselves!
2008-01-31 22:07:48 +00:00
the_fiddler
5b9991cba3
Moved and renamed OpenTK.GLContext to OpenTK.Graphics.GraphicsContext.
2008-01-31 14:39:54 +00:00
the_fiddler
1f9d04cd9d
Moved and renamed OpenTK.GLContext to OpenTK.Graphics.GraphicsContext.
2008-01-31 14:22:37 +00:00
the_fiddler
1932e25689
Renamed IGLContext to IGraphicsContext.
2008-01-31 13:17:42 +00:00
the_fiddler
5c6a261030
Added setter to GLContext.CurrentContext and all implementations, so that the user can clear the context of any thread.
...
Updated GameWindow and its implementations to use GraphicsFormat instead of the obsolete DisplayMode.
Updated license.
Updated some docs.
Fixed CLSCopmliant warnings in XRamExtension.cs
2008-01-31 13:15:17 +00:00
the_fiddler
0af1e98a56
Fixed fullscreen mode size.
2008-01-27 15:59:43 +00:00
the_fiddler
e313460187
Renamed OpenTK.Platform.Windows.DisplayDevice to OpenTK.Platform.Windows.WindowsDisplayDevice.
2008-01-27 10:23:02 +00:00
the_fiddler
6f9deacc85
Added fadeout and fadein effect.
2008-01-26 14:02:58 +00:00
the_fiddler
58ae48833c
Changed IDisplayDeviceDriver.RestoreResolution method to IDisplayDeviceDriver.TryRestoreResolution.
...
DisplayDevice now correctly reports original resolution.
2008-01-26 11:01:20 +00:00
the_fiddler
033a394c9d
Clarified what the DisplayDevice constructor does.
2008-01-25 10:20:44 +00:00
the_fiddler
eabee7c147
Add docs to static constructor.
2008-01-25 10:01:23 +00:00
the_fiddler
e17439384b
Fullscreen mode changes now work!
2008-01-24 12:36:40 +00:00
the_fiddler
793744402e
WinDisplayDevice is now multiple-monitor aware.
...
Added SelectResolution function to DisplayDevice.
Updated test to change settings on all available monitors.
2008-01-24 10:50:39 +00:00
the_fiddler
e12d986f24
Fixed DisplayDevice enumeration.
2008-01-24 09:30:49 +00:00
the_fiddler
785f654e88
Removed implementation of GetDisplayModes()
2008-01-24 09:14:24 +00:00
the_fiddler
e6f5d43404
Added DisplayDevice driver for Windows.
2008-01-24 09:14:08 +00:00
the_fiddler
88c4c5db32
Fixed capitalization of Texture2D (was Texture2d)
2008-01-24 09:13:08 +00:00
the_fiddler
4cd670f14d
Added DisplayDevice struct, ChangeDisplaySettingsEnum and ChangeDisplaySettingsEx.
2008-01-24 09:12:47 +00:00
the_fiddler
d1f2d7b33e
Updated everything to use plain (int width, int height parameters) instead of DisplayMode.Width/.Height.
2008-01-23 14:17:09 +00:00
the_fiddler
99b2c90b8e
Don't use obsolete DisplayMode.Width/Height anymore.
2008-01-23 13:26:14 +00:00
the_fiddler
6a6c2322a5
Added a couple of #region directives.
2008-01-23 12:42:27 +00:00
the_fiddler
e4d7c3f8b3
Removed unused summary.
2008-01-23 00:26:47 +00:00
the_fiddler
c7837ac381
Updated SupportsExtension functions.
2008-01-23 00:19:42 +00:00
the_fiddler
8041f1fe29
Internal Device getter.
2008-01-23 00:19:22 +00:00
the_fiddler
5598019f01
Refactored extension loading to remove duplicate code. The logic is now contained in OpenTK/Platform/Utilities.cs
2008-01-22 23:58:50 +00:00
the_fiddler
878af03601
Documentation updates. Getting rid of all remaining warnings in debug build.
2008-01-20 19:29:42 +00:00
the_fiddler
5a66d44f19
Documentation updates. Getting rid of warnings.
2008-01-20 19:00:03 +00:00
the_fiddler
a2673bf5ff
Changed the INativeGLWindow.CreateWindow interface to return an IGLContext instead of a GLContext.
2008-01-15 10:48:48 +00:00
the_fiddler
4a5b8e81d8
Refactored context creation to be done inside the *GLNative classes, instead of the GameWindow class. Should refactor in the next version.
2008-01-15 10:31:03 +00:00
the_fiddler
dcaf917fc2
Internal to public.
2008-01-15 00:43:51 +00:00
the_fiddler
491843adbf
Disabled CLSCompliant attribute not checked warnings.
2008-01-15 00:43:23 +00:00
the_fiddler
5a61371284
Updated with the latest generator. Disabled missing XML doc warnings.
2008-01-15 00:42:29 +00:00
the_fiddler
1aa19633f9
Fixed window destruction.
2008-01-15 00:10:56 +00:00
the_fiddler
cc3239d466
Set window on top during creation.
2008-01-15 00:02:58 +00:00
the_fiddler
7b0ff73c85
Fixed an issue where WMInput did not detach on the Destroy message, causing the application to stay open.
2008-01-14 23:44:22 +00:00
the_fiddler
935db198ea
Fixed a GameWindow exit bug, where the GameWindow didn't send the destroy message on GameWindow.Exit().
2008-01-14 23:43:56 +00:00
the_fiddler
2ad50d33b6
Got rid of some warnings.
2008-01-11 20:54:06 +00:00
the_fiddler
a522ce47bb
Major update. Explicitly implemented internal interfaces.
2008-01-11 20:24:48 +00:00
the_fiddler
f50c0b06c2
Now uses GLContext directly, instead of WinGLContext.
2008-01-11 20:24:20 +00:00
the_fiddler
2ab661a472
Minor cosmetic change.
2008-01-06 10:40:50 +00:00
the_fiddler
df7d4f9508
Fixed GetRawInputData call.
2008-01-06 02:35:57 +00:00
the_fiddler
b71519eac5
Implemented mouse and keyboard driver.
2008-01-06 02:28:51 +00:00
the_fiddler
8d6872f8b8
Fixed starting coordinates (should now report position in absolute coordinates.) Updated data packet handling.
2008-01-06 02:28:27 +00:00
the_fiddler
9a50727029
Moved KeyMap from WinRawKeyboard to its own class.
2008-01-06 02:27:03 +00:00
the_fiddler
22dfa79f08
Changed all public items to internal.
2008-01-06 02:26:11 +00:00
the_fiddler
3fbd780097
Added PointToClient and PointToScreen functions. Changed default input driver implementation from RawInput to WMInput due to invalid RawInput data.
2008-01-06 02:25:56 +00:00
the_fiddler
ab69227070
Changed all public items to internal.
2008-01-06 02:24:49 +00:00
the_fiddler
1413de464a
Changed all public classes to internal. Added missing WM_* mouse events. Added functions to get mouse position. Updated the RawInput structures.
2008-01-06 02:24:33 +00:00
the_fiddler
938b2b8519
Hooks for garbage-collectable OpenGL resources.
...
the [...]GLNative classes now use GLContext instead of the platform-specific [...]GLContext implementations.
Updated the IGLContext interface with functions to query the current context.
2007-12-09 18:15:51 +00:00
the_fiddler
815eb7ef55
Fixed shutdown sequence in Windows, so that GameWindow.Exit() and pressing the 'close' button behave the same.
2007-11-11 20:23:25 +00:00
the_fiddler
25946dc406
Reverted to 0.3.12 way of handling input events.
2007-11-10 18:25:33 +00:00
the_fiddler
8d8842ea62
Commented out some unused code.
2007-11-06 13:36:47 +00:00
the_fiddler
eac6aaa72a
Corrected a few warnings.
2007-11-06 13:35:40 +00:00
the_fiddler
db3b1d52c9
Added check to disable swap control, if the relevant extension is not supported.
2007-11-04 15:35:31 +00:00
the_fiddler
f2fadfe890
Removed Wgl.Ext.SupportsExtension. Updated code to use the new naming conventions.
2007-11-04 15:34:54 +00:00
the_fiddler
85f3be4365
Bindings (with new naming conventions) re-generated with Bind 0.9.9
2007-11-04 15:28:20 +00:00
the_fiddler
8bf372af28
Regenerated using the latest Bind version.
2007-10-31 17:44:45 +00:00
the_fiddler
71f5efc5c9
Added GdiCharset enum. Not used for now.
2007-10-20 13:40:55 +00:00
the_fiddler
91b52b5143
Added WMInput driver.
2007-10-19 20:02:34 +00:00
the_fiddler
c8f6708acc
Removed the InputDriver from the INativeGLWindow interface. It now resides lower, in the GameWindow class.
2007-10-19 20:00:45 +00:00
the_fiddler
cfd383fd03
Now loads GL and Glu functions.
2007-10-15 11:14:41 +00:00
the_fiddler
fa5e22da79
Removed loading of GL and Glu functions. This now happens lower in the hierarchy, inside GameWindow.
2007-10-15 11:06:58 +00:00
the_fiddler
8eb779558c
Disabled support for multiple devices to minimize memory and CPU usage.
2007-10-15 11:02:14 +00:00
the_fiddler
5467bc9567
Fixed issue with multiple GLControls becoming invisible. Simplified GLControl, the platform dependent code now resides in GLContext and WindowInfo - GLControl itself is platform independent, just like GameWindow. This allowed to remove IGLControl.cs, WinGLControl.cs, X11GLControl.cs and DummyGLControl.cs
2007-10-05 06:52:40 +00:00
the_fiddler
f86e6583e3
Added Wgl.EXT.SupportsExtension and optimized Wgl.ARB.SupportsExtension function. Fixed a bug in Wgl.Load() function, where wglGetProcAddress was never called.
2007-09-29 15:26:39 +00:00
the_fiddler
34d3a715a5
Added VSync property to IGLContext.
2007-09-29 15:24:55 +00:00
the_fiddler
6f3e74b688
Added TODO caption to Visible property.
2007-09-26 15:44:32 +00:00
the_fiddler
d3da5a219a
Improved mouse delta handling. WheelDelta is broken.
2007-09-26 15:42:01 +00:00
the_fiddler
ae1c9d8642
Updated to reflect renames (Windows.API -> Windows.Functions, Keyboard/Mouse -> Keyboard-/MouseDevice)
2007-09-26 11:57:32 +00:00
the_fiddler
8026e15c5b
Implemented Visible and Title properties.
2007-09-26 11:55:55 +00:00
the_fiddler
547e85a8cf
Renamed Windows.API to Windows.Functions
2007-09-26 11:55:24 +00:00
the_fiddler
308ffef918
Renamed Windows.API to Windows.Functions, in accordance to X11.Functions
2007-09-26 11:54:43 +00:00
the_fiddler
42c1affe34
Added X11 Mouse support. X11 Keyboard support is faster now.
...
Made GameWindow.Dispose() virtual.
2007-09-25 16:45:12 +00:00
the_fiddler
0712635670
Fixed build.
2007-09-22 15:07:28 +00:00
the_fiddler
26f5d0dff4
Updated BindStreamWriter to better handle endlines. Reverted WinRawInput to standard reads.
2007-09-22 14:59:33 +00:00
the_fiddler
e277e3b272
Windows raw input now works.
2007-09-22 13:13:17 +00:00
the_fiddler
52a6690150
Removed Move event from IMouse (too inefficient). Polled input only.
...
S04 now polls for the mouse position.
Keyboard now handles events generated from code and not from physical devices.
2007-09-21 22:49:42 +00:00
the_fiddler
21d6030a6a
Corrected Windows.API.RawMouse class. Mouse input now works!
2007-09-21 22:39:16 +00:00
the_fiddler
b660f5af9b
Updated Input Logger example. Better handling of mice.
2007-09-21 21:30:18 +00:00
the_fiddler
980e7138d2
Work on MouseDriver. Windows raw driver works.
2007-09-21 20:34:07 +00:00
the_fiddler
0424887db2
Corrected some struct definitions in Windows.API
2007-09-21 20:31:47 +00:00
the_fiddler
dbb2d1a3d6
Enhanced WindowInfo API. A WindowInfo struct can now be initialized from any Control, Form, NativeWindow or GameWindow.
2007-09-21 20:07:30 +00:00
the_fiddler
66b046a58c
Added KeyRepeat to IKeyboard.
...
Multiple keyboards correctly reported under Windows (Raw input driver).
Corrected some key maps in X11 and Windows Raw keyboards.
2007-09-21 20:03:53 +00:00
the_fiddler
2ca6e6c617
Added OpenTK.Platform.WindowInfo and OpenTK.Platform.IMutableWindowInfo. Split IWindowInfo implementation to IWindowInfo and IMutableWindowInfo. Added several methods.
...
X11 and Windows GLControl and GLNative implementation now use IGLContext interfaces instead of direct X11GLContext and WinGLContext. Decouples the two (good!).
Updated all Native, Control, Context classes to use the new interfaces.
2007-09-09 15:10:21 +00:00
the_fiddler
c1fa34087c
Decoupled GLContext from GLControl/GameWindow even more, by using IWindowInfo to pass data between them.
...
Implemented the IWindowInfo.GetInfoFrom methods.
Removed said methods from OpenTK/Platform/Utilities.
2007-09-09 11:52:09 +00:00
the_fiddler
5e28f31660
Improved GL loading speed.
...
Added background worker thread to W03_Extensions.
Added debug output to failed WinGLContext.MakeCurrent() calls.
Removed object field from Windows.MSG struct.
2007-09-03 21:47:34 +00:00
the_fiddler
45a0efd9d1
Removed redudant GL.LoadAll call in WinGLNative
...
Added Glu.LoadAll call to GLControl.cs
2007-09-02 23:04:11 +00:00
the_fiddler
a813684176
Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming.
2007-09-02 22:52:00 +00:00
the_fiddler
b89d2231d4
Changed API.* to * in order to reflect changes in OpenTK.Platform.Windows.API.
...
Improved Disposable pattern implementation in most Windows classes.
2007-09-02 00:16:22 +00:00
the_fiddler
794ba2fa41
Corrected a couple of compiler warnings.
2007-08-31 16:10:38 +00:00
the_fiddler
1d62f8521c
Corrected bug affecting the GL.Load and Wgl.Load functions, where the delegates where not retrieved by the GetFields call.
2007-08-22 16:13:41 +00:00
the_fiddler
6ae06d82bd
Added IDisposable to all input drivers.
...
Updated Cube.cs to use System.Drawing.Colors.
Improved DefRawInputProc in windows API.cs
2007-08-22 00:30:16 +00:00
the_fiddler
df70c0c531
Corrected a bug where GL.LoadAll wasn't called on time in X11GLNative.
...
Moved MakeCurrent call to X11GLNative and WinGLNative, instead of GameWindow.
2007-08-21 12:21:01 +00:00
the_fiddler
7cf8aa3d95
Added AdjustWindowRect to Windows.API. The client are in WinGLNative is now correctly specified.
2007-08-21 12:04:01 +00:00
the_fiddler
2254388903
Merged with bind branch.
2007-08-20 12:25:48 +00:00
the_fiddler
7efeeda3ca
2007-08-20 10:46:37 +00:00
the_fiddler
2e467d1aa3
Added wgl binding generator.
2007-08-12 16:14:23 +00:00
the_fiddler
2256864b92
Improved shutdown sequence in WinGLNative and GameWindow
2007-08-10 16:55:24 +00:00
the_fiddler
7a2da17f5c
Updated Build.exe to correctly generate sharpdev and sharpdev2 projects.
...
Removed some unused variables.
Added licensing information.
2007-08-10 09:27:13 +00:00
the_fiddler
f98b344cdf
Fixed build error in WinGLNative.
2007-08-09 12:08:03 +00:00
the_fiddler
863a8e9557
Added Create and Destroy events to NativeGLWindow.
2007-08-06 11:22:18 +00:00
the_fiddler
f30e7f6df8
Major updates to shutdown sequence (should correct bug where GameWindow hangs on exit). Enhanced the IGameWindow interface by adding the Keyboard and IsExiting properties.
...
Fully implemented keyboard on X11. Renamed some OpenTK keys.
2007-08-06 09:22:04 +00:00
the_fiddler
94e738bb9a
Enahnaced X11 keymap. Renamed some OpenTK keys.
2007-08-06 00:08:51 +00:00
the_fiddler
3c5797b15c
Added visual for InputOnly window X11Input
2007-08-05 18:51:07 +00:00
the_fiddler
6ccbfb266e
Hooked up Keyboard event handling in X11Input
...
Added ProcessEvents() function to IInputDriver. Does nothing on WinRawInput, but is needed by X11Input
2007-08-05 18:26:14 +00:00
the_fiddler
0531e20287
Added preliminary key handling to X11Keyboard.
...
Removed stupid hack in WinRawKeyboard.
2007-08-05 18:10:08 +00:00
the_fiddler
91d71b754e
Corrected NRE in X11Keyboard
2007-08-05 16:54:14 +00:00
the_fiddler
a56ababd8b
Corrected NRE in WindowInfo.ToString functions, when referring to non-existent parent.
2007-08-05 16:47:07 +00:00
the_fiddler
a987a5daf6
Overrode ToString in WindowInfo implementations.
...
Debugging NRE in X11Keyboard constructor.
2007-08-05 16:44:31 +00:00
the_fiddler
40add1aaef
Renamed OpenTK.Input.Keys to OpenTK.Input.Key.
...
Added keymap to X11/X11Keyboard.cs (not complete).
Added GetKeyboardMapping(), DisplayFlags() and XKey enum to OpenTK.Platform.X11.API.cs
2007-08-05 16:04:39 +00:00
the_fiddler
2357f54af6
Removed exceptions from Fullscreen properties.
2007-08-05 13:51:07 +00:00
the_fiddler
b630d84add
Added IWindowInfo.cs, X11/WindowInfo.cs and Windows/WindowInfo.cs, which hold information regarding a platform specific window object.
...
Updated everything to not use raw window handles, but rather WindowInfo objects.
Added code that (hopefully) creates an invisible input window for X11.
2007-08-05 13:42:31 +00:00
the_fiddler
0172ff101c
Updated documentation on the *GLNative classes. X11/X11GLNative.cs now doesn't create a render window during the constructor call, but rather when CreateWindow is called explicitly.
2007-08-05 10:33:23 +00:00
the_fiddler
47a3a3f62c
Started implementing X11Input.cs, X11Keyboard.cs and X11Mouse.cs drivers. Removed some warnings from X11Api.cs
2007-08-05 09:03:22 +00:00
the_fiddler
73e0509a06
Updated Windows.Api to be CLS-Compliant.
2007-08-05 00:09:42 +00:00
the_fiddler
6812739418
Renamed InputDevices.cs to InputDriver.cs.
...
Added IMouseDriver.cs and WinRawMouse.
2007-08-04 13:28:16 +00:00
the_fiddler
59b503b3c3
Bumped version numbers.
...
WinRawInput now correctly subclasses WinGLNative or WinGLControl. WinRawKeyboard now correctly responds to events.
Removed T10_GLSL_Cube.cs which was erroneously moved outside the Examples/Tutorial directory.
Updated INativeWindow, IGameWindow and IGLControl interfaces.
Updated examples to use the new GameWindow interface.
Added documentation to GameWindow.
Improved GameWindow error handling. More defensive programming.
2007-08-04 12:09:58 +00:00
the_fiddler
2f64fb372e
Major updates to keyboard input. The infrastructure (drivers etc) is ready. Windows raw input works (now implementing multiple devices). The examples need updating for the new input methods.
...
Updated the ExampleLauncher to not process exceptions. Updated the IExample interface to contain the Launch method. Updated examples and the ExampleLauncher according to the IExample interface.
Synced with gl3 branch.
2007-08-03 00:14:31 +00:00
the_fiddler
8f90c9d50f
Added Windows.API.VirtualKeys enum.
...
Started VirtualKeus --> OpenTK.Input.Keys keymap .
Removed Keyboard.Key set property.
2007-07-31 21:50:29 +00:00
the_fiddler
43a37e3ac2
Fixed Raw Input keyboard registration under windows.
...
Fixed marshalling in GetRawInputData.
2007-07-27 01:37:12 +00:00
the_fiddler
8f159aef72
IKeyboard is now public. Updated the GameWindow to not create the Keyboard itself (it is done further up).
...
Added all Raw Input structs, functions and enums in Windows.API.
WinRawKeyboard implements IKeyboard using Raw Input on Windows.
2007-07-27 01:20:55 +00:00
the_fiddler
7f9fe25e3a
IKeyboard interface. Updated Keyboard.cs and the examples to use the new interface.
...
Major additions to Windows.API: Implemented all functions and structures for Raw Input.
2007-07-26 22:56:55 +00:00