Commit graph

140 commits

Author SHA1 Message Date
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