Commit graph

147 commits

Author SHA1 Message Date
kanato f71fdac268 Correct PointToClient so that returned point is relative to upper left corner of game window, consistent with the documentation. 2009-05-11 02:13:46 +00:00
the_fiddler 2f54b29ed8 Added initial support for GameWindow.PointToClient. 2009-05-07 19:48:22 +00:00
the_fiddler 9265747541 Fixed all known build warnings, apart from missing xml comments. 2009-03-25 21:53:12 +00:00
the_fiddler d43123f219 Added new GameWindow constructors that specify the desired GraphicsContext (OpenGL) version and flags. 2009-03-07 10:49:32 +00:00
the_fiddler 0dca74a232 Implemented JoystickDevice events.
Added GameWindow interface to JoystickDevices.
Added HID support to Tests/InputLogger.
2009-03-01 00:28:31 +00:00
the_fiddler 6ae75f0e08 Added Closing event that can be used to cancel a call to GameWindow.Exit().
Made GameWindow.Exit() thread-safe.
ExitAsync() is now privateee (use Exit() instead).
GameWindow.Exit() now correctly works when called from inside the OnLoad method or the Load event.
2009-02-22 15:48:31 +00:00
the_fiddler a22019d890 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 81e09a2066 Merged in macos branch for Mac OS X support. 2009-02-20 18:57:57 +00:00
kanato b99e8c5829 Implement resize event in GameWindow. 2009-02-11 07:59:24 +00:00
the_fiddler 40a14fe8a8 Fixed build warnings. 2008-12-09 10:07:05 +00:00
the_fiddler 62ae3698ad Library should not use Trace output. 2008-11-23 09:34:33 +00:00
kanato 8b65201145 Initial commit with Mac OS support. 2008-11-04 18:35:17 +00:00
the_fiddler 62cc647613 Follow recommended Disposable pattern. 2008-07-10 15:20:48 +00:00
the_fiddler 74d9f5a0af Added regions to conform to naming conventions. 2008-06-22 18:07:22 +00:00
the_fiddler 2813f262a2 Removed unused DestroyWindow function. 2008-05-04 18:54:51 +00:00
the_fiddler 9f3444a840 Remove GameWindow.Visible property (is there a use case for this, or is it just feature creep?) 2008-05-04 16:34:38 +00:00
the_fiddler 7010395b96 Expose the WindowBorder property. 2008-04-21 20:29:40 +00:00
the_fiddler 35b58ffda7 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 a567f6604f Added stub for WindowState. 2008-04-13 21:32:04 +00:00
the_fiddler 19b1d1a424 2008-04-13 18:44:23 +00:00
the_fiddler 63608b1dd7 Updates to GameWindow shutdown and X11 locking behavior. 2008-03-26 19:43:57 +00:00
the_fiddler ef16998dca Use one display connection for all X11 communication. Seems to fix (not 100%) the crash problems encountered. 2008-03-24 13:12:02 +00:00
the_fiddler 7751c07e6f Moved OpenTK.Fonts to from OpenTK OpenTK.Utilities.
Added OpenTK.Utilities.dll reference to Examples.
Moved assembly-level attributes from GameWindow.cs to Configuration.cs.
2008-03-08 14:06:59 +00:00
the_fiddler 37c40f16eb 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 e10d37418f 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 1d3c358512 Renamed GraphicsFormat to GraphicsMode. 2008-02-28 15:28:40 +00:00
the_fiddler ee1431279f Renamed GraphicsFormat to GraphicsMode. 2008-02-28 15:26:13 +00:00
the_fiddler 83afd98314 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 3ee626a08f Fixed a few warnings.
Added [assembly: CLSCompliant(true)] attribute to GameWindow.cs
2008-02-02 13:39:23 +00:00
the_fiddler a9e2ce4a00 Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL. 2008-02-02 00:58:26 +00:00
the_fiddler 6fc6719019 Fixed crash on resize. 2008-02-01 18:04:29 +00:00
the_fiddler d87e79268f Moved and renamed OpenTK.GLContext to OpenTK.Graphics.GraphicsContext. 2008-01-31 14:39:54 +00:00
the_fiddler 019cf966e3 Renamed IGLContext to IGraphicsContext. 2008-01-31 13:17:42 +00:00
the_fiddler 56cbbb8cbb 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 c6d9dd5df3 Added fadeout and fadein effect. 2008-01-26 14:02:58 +00:00
the_fiddler 3a026d5d5e Fullscreen mode changes now work! 2008-01-24 12:36:40 +00:00
the_fiddler 1a100aaff3 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 40f32f4867 Documentation updates. Getting rid of all remaining warnings in debug build. 2008-01-20 19:29:42 +00:00
the_fiddler d8620652b5 Re-added input polling. 2008-01-15 13:01:55 +00:00
the_fiddler 89122b9128 Temporarily disabled GameWindowExitException. 2008-01-15 12:08:09 +00:00
the_fiddler 370617f58a Debugging GameWindow.Exit() sequence on Mono. 2008-01-15 11:23:34 +00:00
the_fiddler 50f6bd2807 Changed the INativeGLWindow.CreateWindow interface to return an IGLContext instead of a GLContext. 2008-01-15 10:48:48 +00:00
the_fiddler 33d0193e7f 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 828fa2ebc2 Fixed window destruction. 2008-01-15 00:10:56 +00:00
the_fiddler 876b5139ef Fixed GLContext creation on Windows. 2008-01-14 22:38:09 +00:00
the_fiddler d8eedf31b6 Solved context creation on windows. 2008-01-11 20:37:09 +00:00
the_fiddler 6952638538 GameWindow.Exit() now works when called from a different thread. 2008-01-06 02:29:54 +00:00
the_fiddler 107951c4d1 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 00e6091243 Added instructions on how to disable warning on OpenTK.GameWindowExitException when running under the Visual Studio debug process. 2007-11-12 19:21:45 +00:00
the_fiddler 6904d0a23c Some comments. 2007-11-12 07:45:34 +00:00
the_fiddler 3df8c77cab Added a call to StopWatch.Reset() to avoid starting the timers before their time. 2007-11-11 23:32:58 +00:00
the_fiddler a1fb128a70 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 0590fa91ca Fixed shutdown sequence on Linux. GameWindow.Exit() and clicking the 'close' button now produce the same result. 2007-11-11 20:10:08 +00:00
the_fiddler 75448310ef Use GameWindowExitException to exit GameWindow now. No need for the GameWindow.Exit(); return; idiom any more. 2007-11-11 19:28:13 +00:00
the_fiddler 57a1277aa9 Reverted to 0.3.12 way of handling input events. 2007-11-10 18:26:05 +00:00
the_fiddler 2cb2bef32f Enabled VSyncing by default. 2007-11-08 15:57:10 +00:00
the_fiddler ffadaeb024 Corrected some warnings. 2007-11-06 13:37:19 +00:00
the_fiddler 484cf71cb0 Updated to work with the new bindings. 2007-11-04 15:41:10 +00:00
the_fiddler bba6bda879 Split up lines that were longer than 100 characters. 2007-11-01 23:28:31 +00:00
the_fiddler 210122454c Cleaned up warnings. Updated documentation. Cleaned up some functions. 2007-10-26 15:54:35 +00:00
the_fiddler 11015a9fc7 GameWindow.Exit() now throws an exception that is caught inside GameWindow.Run() to signal end of execution. Simplifies code and removes some ugly conditionals. 2007-10-20 14:22:39 +00:00
the_fiddler 2968ab9842 The Resize event is now fired before the Load event. 2007-10-20 10:28:02 +00:00
the_fiddler 35d903bcf2 GameWindow constructor now creates a window. Made CreateWindow private. Added InputDriver. 2007-10-19 20:03:53 +00:00
the_fiddler 10f89bcd9c Major update! Updated timing routines. Added documentation. Added VSync property. 2007-10-15 11:12:56 +00:00
the_fiddler fa395a5325 Big update: added timing information. Improved update and render frequency limiting algorithms (they extremely accurate now!) Added VSync property and VSyncMode enum. Adaptive VSync not available yet. 2007-09-30 12:44:42 +00:00
the_fiddler ae35a395b3 Added Unload event. 2007-09-26 23:13:57 +00:00
the_fiddler dca3f30460 Added NotImplementedException to Visible property. 2007-09-26 15:43:28 +00:00
the_fiddler 6b3d358abd Improved documentation. Split On*** event methods between On***Internal and On***, to protect user's from forgetting to call base.On*** (no need to call that now). Improved Resize event handling (goes through OnUpdateFrameInternal now, removes duplicate events). 2007-09-26 11:50:44 +00:00
the_fiddler ec34bed972 Added X11 Mouse support. X11 Keyboard support is faster now.
Made GameWindow.Dispose() virtual.
2007-09-25 16:45:12 +00:00
the_fiddler ceb5f4dfd8 Fixed renderFrequency and updateFrequency (they were render_frequency and update_frequency respectively). 2007-09-23 12:39:15 +00:00
the_fiddler 794f4d4eb4 Added GameWindow.SwapBuffers(). Fixed T02_Vertex_Array_Cube to 60Hz. 2007-09-23 12:37:07 +00:00
the_fiddler 57b72e71e1 Added constant and variable time-step update logic to GameWindow. Updated examples to use the new GameWindow UpdateFrame and RenderFrame events. 2007-09-23 12:09:42 +00:00
the_fiddler bb2b3f8eae Added timing information to UpdateFrame.
Removed T02_Resizable_Window.cs and added T02_Vertex_Array_Cube.cs
Added Shapes/Cube.cs to Examples.
2007-09-22 22:01:43 +00:00
the_fiddler 1c8b77cd1b Windows raw input now works. 2007-09-22 13:13:17 +00:00
the_fiddler b22af8fd84 Added licensing information. Added Close() call on failed initialization of W01_First_Window. Moved GLContext to OpenTK namespace. 2007-09-09 16:07:39 +00:00
the_fiddler cc23dac7a8 Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming. 2007-09-02 22:52:00 +00:00
the_fiddler 1d72cb7ab9 Improved the Disposable pattern (finalizer was not needed).
Removed Dispose() call from glWindow_Destroy function.
Added obsolete warning to the Create and OnCreate events/methods.
2007-09-02 00:13:52 +00:00
the_fiddler 951f14f459 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 fcc621c9e5 Added AdjustWindowRect to Windows.API. The client are in WinGLNative is now correctly specified. 2007-08-21 12:04:01 +00:00
the_fiddler e54aadad22 Improved exception handling in GameWindow
X11GLContext now requests formats with alpha channels. Removed debug output from X11 SwapBuffers.
Corrected X11GLNative window creation (context is now made current). Beautified X11GLNative.cs
2007-08-20 13:47:14 +00:00
the_fiddler ffe8ce7795 Merged with bind branch. 2007-08-20 12:25:48 +00:00
the_fiddler 9295a44c60 2007-08-20 10:46:37 +00:00
the_fiddler 3833030a9a Improved shutdown sequence in WinGLNative and GameWindow 2007-08-10 16:55:24 +00:00
the_fiddler 8e88fd9393 Keyboard handling now plays well with normal event handling on X11.
One more issue to go: GLControl on X11 throws when calling MakeCurrent.
2007-08-06 12:13:50 +00:00
the_fiddler e6950a6128 Added Create and Destroy events to NativeGLWindow. 2007-08-06 11:22:18 +00:00
the_fiddler a707ef91a5 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 4f35768779 Added X11 structs and functions from Mono's x11 bindings. Updated several items to use these bindings. Debugging crash on XCheckIfEvent callback. 2007-08-05 23:09:05 +00:00
the_fiddler 13c04f4bbd 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 22c3eb187f Corrected the OnCreate infinite loop between X11GLNative and X11Input. 2007-08-05 17:54:11 +00:00
the_fiddler 23403362e9 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 d423f6e94c Renamed InputDevices.cs to InputDriver.cs.
Added IMouseDriver.cs and WinRawMouse.
2007-08-04 13:28:16 +00:00
the_fiddler c16968c06c Updated T10_GLSL_Cube to explicitly create a render window.
Added input driver to W01_First_Window. Works perfectly!
Added a debug message to GameWindow.cs, when accessing the opengl Context before creating a render window (this forces render window creation).
2007-08-04 12:17:30 +00:00
the_fiddler 4ceea208ac 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 672a82983a 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 20630278fb 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 28b4630f04 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
the_fiddler 3d23105b0d 'Merged' windowing branch. Ugly, but it seems to have worked. 2007-07-23 00:15:18 +00:00