Commit graph

1967 commits

Author SHA1 Message Date
the_fiddler 874401ce0b Use SHOW command instead of SHOWNORMAL when making a window visible, since SHOWNORMAL will un-maximize a fullscreen or maximized window.
Do not force an invisible window to become visible when modifying its state or borders.
2009-11-07 10:44:31 +00:00
the_fiddler dd832ab6bd Always set the DisplayDevice.Bounds to a correct value. Fixes issue [#1339]: "DisplayDevice.Bounds not set". 2009-11-07 10:42:25 +00:00
the_fiddler 4e8d7482ae Do not check for an X server if we detect Mac OS X. Should solve issue [#1338]: "Running apps in Mac OSX start a application called X11". 2009-11-07 10:10:53 +00:00
the_fiddler 29dd5dfe68 Update the context when the native window is resized. 2009-11-06 21:56:35 +00:00
the_fiddler 2cf543d988 MacOS may have an X server installed. Prefers the native Carbon/Quartz platform driver over X in this case (same issue as rev. 2465). 2009-11-06 18:51:06 +00:00
the_fiddler 30aa9ff194 Correctly set the primary device in the DisplayDevice constructor. 2009-11-06 18:34:53 +00:00
the_fiddler 4278538317 MacOS can have an X server installed. Modified the code so that it prefers the native Carbon/Quartz platform driver over X in this case. 2009-11-06 17:58:35 +00:00
the_fiddler 67fed8705f Fixed spelling of hertz and fps. Fixes issue [#1333]: "Spelling of SI units in documentation and captions". Patch by iRBiS. 2009-11-06 16:46:28 +00:00
the_fiddler e2b3bda885 Return proper CarbonWindowInfo instance instead of DummyWindowInfo. 2009-11-06 15:33:53 +00:00
the_fiddler 92e2104c9d * Rectangle.cs: Fixed ToString formatting code. 2009-11-06 10:04:32 +00:00
the_fiddler 139b6af9fa * 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 2f3481231b * DisplayDevice.cs: Made DisplayDevice properties settable
internally (simplifies device detection code).
Bounds property is now independent of the default resolution.

* DisplayResolution.cs: Obsoleted the Bounds property, as this becomes
  invalid as soon as the resolution of any display device is changed.
2009-11-06 09:49:06 +00:00
the_fiddler e6aeff7d35 * 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 5127316431 * 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 e131297e7f Removed System.Drawing dependency from QuickStart. 2009-11-04 21:22:41 +00:00
the_fiddler 4af10e6c68 Added missing TitleChanged event. 2009-11-04 20:49:38 +00:00
the_fiddler 03512805c8 Removed unused code. 2009-11-04 20:48:35 +00:00
the_fiddler 75843147b8 Cleaned up deprecated methods. 2009-11-04 20:48:31 +00:00
the_fiddler fa81d3daa8 Cleaned up a large number of documentation issues. 2009-11-04 20:48:02 +00:00
the_fiddler ac0930d109 Updated deprecation message with specific instructions on how to solve the issue. 2009-11-04 20:47:06 +00:00
the_fiddler b353b62115 Added helper overloads for OpenTK.Point/Rectangle structures. 2009-11-04 19:24:21 +00:00
the_fiddler 078adc4b83 Enabled System.Drawing.Point/Size/Rectangle replacements. 2009-11-04 19:10:32 +00:00
the_fiddler 2cec4c1696 Refactored timer installation/removal into their own methods. 2009-11-04 18:35:32 +00:00
the_fiddler c2d92f5aca Added simpler constructor overload for external GraphicsContexts. 2009-11-04 17:18:32 +00:00
the_fiddler 839406aec4 Don't forget to load all bindings when constructing an external context - this constructor was added for precisely this reason, after all. 2009-11-04 17:14:57 +00:00
the_fiddler 30afae50c6 Deprecated the LoadAll() method in favor of the new GraphicsContext constructors. 2009-11-04 17:03:59 +00:00
the_fiddler c3aba0d21e Added missing base.On* calls. 2009-11-04 17:01:44 +00:00
the_fiddler 7f57d75570 Support external EGL contexts. 2009-11-04 17:00:52 +00:00
the_fiddler cc8ac7df14 Added missing documentation to GraphicsContext constructor. 2009-11-04 17:00:34 +00:00
the_fiddler 2d4b962d2c 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 b3c66b852d Set window title and icon. 2009-11-04 11:47:58 +00:00
the_fiddler f0fb55b864 Doubled the size of particles and made them slightly faster. 2009-11-04 10:47:20 +00:00
the_fiddler 11b68be5d0 Cleaned up sample, added color and motion. 2009-11-04 10:44:56 +00:00
the_fiddler 11dc8fc4cd Initialize threads before calling any other X methods. 2009-11-04 10:04:16 +00:00
the_fiddler e5469f38d1 Removed unnecessary debugging messages from main loop. 2009-11-04 10:03:50 +00:00
the_fiddler 907d2bd7e9 Added Toolkit.Init() method that can be used to configure the underlying platform correctly when using OpenTK along with other toolkits (e.g. OpenTK+GTK# on X, where GTK# does not initialize threads). 2009-11-04 09:46:45 +00:00
the_fiddler 331b7d0f63 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 6452cf4629 Now recognizes Resources folder for Examples project.
Added icon to Examples project.
2009-11-04 01:20:13 +00:00
the_fiddler 7bf742575e Added default icon to samples and the example browser. 2009-11-04 01:19:35 +00:00
the_fiddler e60df8ba28 Added default application icon. 2009-11-04 00:57:14 +00:00
the_fiddler eec0033297 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 2ba3e5357e Serialize context construction to avoid threading issues with shared contexts. 2009-11-03 23:39:03 +00:00
the_fiddler 40940d1430 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 ddb56a1952 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 043e0fec2f Fixed race condition in GraphicsMode.Default. 2009-11-03 13:16:59 +00:00
the_fiddler 92c5cbfaf2 No need to burn 100% CPU time just for a spinning cube! (Especially important for the multithreading test, which opens multiple such windows). 2009-11-03 13:03:35 +00:00
the_fiddler 1af4990517 Use new string(sbyte*) instead of Marshal.PtrToStringAnsi to increase performance when calling GetString to retrieve the list of available extensions. 2009-11-03 12:59:25 +00:00
the_fiddler 70140e62ef Implemented Tranform(Vector, Quaternion) overloads. Fixes issue [#1028]: "[Math] Add vector transformation by quaternion". 2009-11-03 12:20:21 +00:00
the_fiddler d7a85401da Deprecated Mult in favor of Multiply.
Modified operator * to use Multiply internally (reduces code duplication).
2009-11-03 12:11:51 +00:00
the_fiddler 9ce7437cbd Fixed Vector3.Transform signature to return a Vector3, not a Vector4. It was previously impossible to transform a Vector3 structure without intermediate conversions to Vector4. 2009-11-03 11:45:20 +00:00
the_fiddler 3d6d476d16 Modified Transform(ref Vector4, ref Matrix4, out Vector4) overload to work correctly when the ref and out parameters point to the same Vector4.
Modified Transform(Vector4, Matrix4): Vector4 to call the reference overload internally. Faster and reduces code duplication.
2009-11-03 11:41:36 +00:00
the_fiddler 26b969b23e Added missing TextureBuffer token to BufferTarget and TextureTarget enums (promoted from ARB_texture_buffer_object). Fixes issue [#1313]: "TextureBuffer target". 2009-11-03 10:33:24 +00:00
the_fiddler a333532d69 Added type-safe parameters to FramebufferTexture (fixes issue [#1303]: "[GL] fix FramebufferTexture parameters"). 2009-11-03 10:22:50 +00:00
the_fiddler a313386ee2 Added multithreading test to verify GameWindow behavior with multiple threads. 2009-11-03 09:58:39 +00:00
the_fiddler 3e5f1fb994 * DocProcessor.cs: Remove any trailing newlines in XML docs. Output
between Mono/Linux and .Net/Windows is now consistent.
2009-11-03 08:48:49 +00:00
the_fiddler 974641086c 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 2a1924c62c 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 1a9fc63a57 * Matrix4d.cs: M44 should be 1.0 to conform with GL.Ortho(). Fixes issue [#1307]: "GL.Ortho behaves other than combination of OpenTK.Matrix4d.CreateOrthographic and GL.MultMatrix". 2009-11-02 13:25:41 +00:00
the_fiddler ef183b18cc Qualify System.Drawing.Rectangle/Point/Size structs fully when necessary, to avoid namespace clash with OpenTK.Rectangle/Point/Size. 2009-11-02 09:37:18 +00:00
the_fiddler ea1765ec75 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 2f522e790b Improved interoperation with System.Drawing with new addition, subtraction and implicit conversion operators, as well as additional method overloads.
Only expose fields through public properties to allow for parameter validation.
2009-11-02 07:20:59 +00:00
the_fiddler 8624ec0d1a Updated version numbers in preparation for release. 2009-11-01 23:07:38 +00:00
the_fiddler 289697176b Fixed an issue where "const unsigned [type] [pointer]" parameters where not parsed correctly. Solves issue [#1300]: "[OpenCL] Possible bug at CL.CreateProgramWithBinary". 2009-11-01 19:15:44 +00:00
the_fiddler 2340e87eda 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 019f54a851 Document that these APIs are incomplete. 2009-11-01 12:40:25 +00:00
the_fiddler e790b327ee Merged VectorAdd fixes from trunk. 2009-10-28 15:59:46 +00:00
the_fiddler 7df7f1e392 Merged latest changes from trunk. 2009-10-28 15:45:49 +00:00
the_fiddler 7fbfd334c2 Initialize input vectors to random values.
Use smaller data blocks that can be verified visually.
Perform error checking when executing the kernel.
Wait for the command queue to finish before displaying the results.
2009-10-28 14:54:20 +00:00
the_fiddler 2ca02070a5 Recognize and copy dds files as part of example resources. 2009-10-28 09:31:59 +00:00
the_fiddler af94d707c0 Renamed dds textures to not contain strange characters that confuse Prebuild.
Added checks for extension support to SwizzledParallax sample.
2009-10-28 09:05:13 +00:00
the_fiddler 6e222ebaa0 Return readonly IList<> instead of copying arrays of data. 2009-10-28 00:39:38 +00:00
the_fiddler aec4b2feda Track mouse enter/leave events. 2009-10-27 23:58:29 +00:00
the_fiddler a7eb81a68c Implemented INativeWindow.MouseEnter/MouseLeave events on Win32 and X11. 2009-10-27 23:57:44 +00:00
the_fiddler 923ebc7efb Renegerated bindings using the latest version of the generator (improved handling of types in the System and System.Text namespaces). 2009-10-27 22:51:57 +00:00
the_fiddler 97e07a6e24 * GL2/Generator.cs: Refactored WriteWrappers() into smaller methods. Added "using System.Text;" to all generated files that may contain StringBuilder parameters.
* Main.cs: Removed unused comments. Improved parameter handling. Added -o:keep_untyped_parameters option.
* Settings.cs: Added KeepUntypedEnums compatibility setting.
* Structures/Delegate.cs: Removed stale comments. Refactored CreateWrappers() method to support untyped enum overload generation and simplified method implementation. Replaced CurrentType translations with QualifiedType.
* Structures/Function.cs: Removed stale code. Fixed copy constructors to copy all necessary fields. Use QualifiedType instead of CurrentType in WrapReturnType and CreateBody methods. Made Body statement lists static to improve performance. Added hack to modify callstring casts in keep_untyped_enums wrappers. Generate call string from the Function CreateBody was called on, rather than the current Function (solves issues with invalid casts in specific cases).
* Structures/Parameter.cs: Use fully qualified type instead of current type in several caeses.
* Structures/Type.cs: Added explicit support for fully qualified types.
2009-10-27 22:37:05 +00:00
the_fiddler 68b2a5942b Generate UpdateFrame events even if TargetUpdateFrequency is 0. According to the documentation, setting this value to 0 will result in unconstrained UpdateFrame frequency. Fixes issue [#1294]: "OnUpdateFrame function does not work with maximum update rate". 2009-10-27 22:23:11 +00:00
the_fiddler 4f2ac1753b Do not qualify Stopwatch fully, to allow it to be overridden by Minimal.cs if necessary. 2009-10-24 10:35:49 +00:00
the_fiddler 7f3829acca Provide dummy implementations for classes not available on the iPhone. 2009-10-24 10:35:15 +00:00
the_fiddler a3518f5df3 Plane.cs belongs to the 'old' structures. 2009-10-24 10:21:14 +00:00
the_fiddler cde8d8771b Merged Inertia's example and geometry branch, 2009-10-24 10:07:43 +00:00
the_fiddler 854f92c868 Fixed x86-specific ABI assumption (do not pass structure directly when a pointer is expected). Patch by jonp. 2009-10-23 22:06:15 +00:00
the_fiddler 584e6c48a6 GetUniformLocation: name should have in-flow.
Use BlendingFunctionDest instead of BlendingFunctionDst, in order to match desktop OpenGL bindings.
2009-10-23 20:20:04 +00:00
the_fiddler a7ff40c44c Added dllmap for OpenGL|ES on Mac OS X. 2009-10-23 20:11:40 +00:00
the_fiddler ef48c42807 Debug.WriteLine(object, string) does not work as intended (the first parameter defines the category). Use Debug.Print instead. 2009-10-23 17:45:14 +00:00
the_fiddler 887766a371 Fixed x86-specific ABI assumption (do not return structure directly when a pointer is expected). Patch by jonp. 2009-10-23 16:10:55 +00:00
the_fiddler bf89d0a6ab Fixed GetVertexPointerParameter signature to comply with the specs. 2009-10-23 15:36:02 +00:00
the_fiddler 58c12d0d05 GetAttribLocation: name parameter should have a flow of in, not out.
Fixed a number of signatures that were different from desktop OpenGL.
2009-10-23 15:32:43 +00:00
the_fiddler 3d05a448cc Normalized line endings. 2009-10-23 14:51:03 +00:00
the_fiddler 9223285fd7 Added correct enum types for GetString and ShaderBinary.
Added EnableCap tokens to GetPName, in accordance to specs.
2009-10-23 07:19:09 +00:00
the_fiddler 1803ea7004 Added applicable helper overloads from desktop OpenGL.
Added missing license information.
2009-10-23 06:59:04 +00:00
the_fiddler b0607ede68 Regenerated bindings using the latest overrides.xml: out parameters for Get/Gen methods; fixed return types for GetError and CheckFramebufferStatus. improved consistency with desktop OpenGL bindings. 2009-10-23 06:58:04 +00:00
the_fiddler 968dc4e299 Fixed return types for GetError and CheckFramebufferStatus.
Updated enum types for consistency with OpenGL.
2009-10-23 06:54:15 +00:00
the_fiddler 61f4a8b0cc Regenerated signatures with fixed out parameters. 2009-10-22 23:06:34 +00:00
the_fiddler 8ed98ec517 Use out flow direction for pointer parameters in Get* or Gen* methods. 2009-10-22 23:01:42 +00:00
the_fiddler d06191d464 Regenerated ES 2.0 bindings using the new, strongly-typed enums.
Fixed sample to use those new enums.
2009-10-22 21:49:11 +00:00
the_fiddler 8da604c18f Merged third part of ES 2.0 cleanup (issue [#1015]: "[ES 2.0] Cleanup #3"). 2009-10-22 21:41:30 +00:00
the_fiddler 8e67b0ace2 Merged second part of ES 2.0 cleanup (issue [#1014]: "[ES 2.0] Cleanup #2"). 2009-10-22 21:34:34 +00:00
the_fiddler f8c49a54d4 Merged first part of ES 2.0 cleanup (issue [#1013]: "[ES 2.0] Cleanup #1"). 2009-10-22 21:24:54 +00:00
the_fiddler be4e56a7a2 Do not force control to create its handle in Resize event (the designer places code that raises this event before the rest of the events are hooked). Instead, suppress the event and raise it once the handle is actually created. 2009-10-22 17:56:55 +00:00
the_fiddler ea4b599d0e Set default class cursor to avoid invalid cursors when entering the window. 2009-10-21 20:08:04 +00:00