Commit graph

1276 commits

Author SHA1 Message Date
the_fiddler 1502fc27b7 Deprecate TextPrinter.Begin()/End(). These are only left for backwards compatibility. New code should set the desired projection and modelview matrices manually. 2009-02-12 01:01:55 +00:00
the_fiddler 5135a25828 Add GL.BlendColor(System.Drawing.Color) overload. 2009-02-12 01:00:07 +00:00
the_fiddler 5dd73d813f Added license notice. 2009-02-12 00:00:56 +00:00
kanato 231f83186a AGL Fullscreen: Try to create a full screen context first, failing that create a non-fullscreen context. 2009-02-11 08:03:46 +00:00
kanato b99e8c5829 Implement resize event in GameWindow. 2009-02-11 07:59:24 +00:00
the_fiddler 3059d09795 Time should be IntPtr, not uint.
Fixed KeypadEnter detection (was mistakenly mapped to vanilla Enter key).
2009-02-09 15:33:32 +00:00
kanato b921bf95dd Move input event handling to application level for fullscreen support. 2009-02-05 04:38:37 +00:00
kanato dc6f0e6461 Added GetMouseEventLocation Carbon wrapper function. 2009-02-05 04:36:17 +00:00
kanato 4f4dd33c13 Fix up display capturing. 2009-02-05 04:35:15 +00:00
kanato 8cc99350de Minor refactoring and commenting in AglContext.cs. 2009-02-03 08:21:52 +00:00
kanato b6642764eb Fix loss of first frame with GLControl. 2009-02-03 08:14:55 +00:00
kanato 1a4a3238c2 Updates for full screen support in Mac OS X. 2009-02-03 07:45:58 +00:00
kanato 44f2ad77d0 Removed unnecessary debug statement. 2009-02-03 07:43:36 +00:00
the_fiddler 780487ae55 Applied rdrake's patch for LoadMatrix, etc Matrix4d helpers. 2009-01-31 08:40:11 +00:00
the_fiddler 4e82e450be Added (Vector3, float) and (Vector3d, double) constructors. 2009-01-29 00:41:09 +00:00
the_fiddler e0f981d4c5 Added int overloads to [FogCoord|EdgeFlag|VertexAttrib]Pointer, to avoid issues with the object vs IntPtr overloads. 2009-01-29 00:37:08 +00:00
the_fiddler 66ceeb03d0 Added int overloads to [Vertex|Normal|Index|Color]Pointer, to avoid issues with the object vs IntPtr overloads. 2009-01-29 00:26:52 +00:00
kanato 74707ccdfd Updates to macos fullscreen.
Resolution switching is now accompanied by a call to CGDisplayCapture.
A secondary fullscreen context is created for going full screen.
2009-01-27 18:27:44 +00:00
chrisbrandtner 0ab939a744 Added ref/out overloads to all static Vector*.Transform* methods. 2009-01-25 15:06:42 +00:00
chrisbrandtner 5a3cd34953 Removed cast to float from Vector3d.CalculateAngle (unnecessary precision loss as double is returned).
Overloaded static Vector3 and Vector3d CalculateAngle methods.
2009-01-24 16:15:04 +00:00
chrisbrandtner 46f25f27a4 Overloaded instance methods Add, Sub, Scale to pass-vector-by-value and set CLS compliance flags.
Overloaded static method BaryCentric to pass-by-reference.
2009-01-24 14:54:52 +00:00
chrisbrandtner 4e6a3cf981 Added instance methods to all single and double precision Vector structs:
Add(ref vec)
Sub(ref vec)
Mult(float)
Div(float)
Scale(ref vec)
2009-01-23 21:55:21 +00:00
the_fiddler fabc194301 Added Color4 structure serialization test. 2009-01-23 15:51:12 +00:00
the_fiddler 9f25573a0b Made the Color4 structure serializable and added == and != operators. 2009-01-23 15:50:31 +00:00
the_fiddler 7631328485 Added Color4 structure and overloads for Materialv/Lightv. 2009-01-23 15:24:57 +00:00
the_fiddler e19a6f9c7d Made GraphicsMode public, as it is generally useful. 2009-01-23 15:24:09 +00:00
chrisbrandtner 01e971741d Added ref/out overloads to static Vector*.Dot and Vector*.Lerp methods. Simplified the slow Vector3/Vector3d's static Cross methods. Occasional tweaks to inline documentation (spelling, consistency) 2009-01-23 15:04:53 +00:00
kanato 34e283367d Corrected device handle passed to aglChoosePixelFormat. 2009-01-20 04:34:24 +00:00
kanato e6c736e7ec Removed fullscreen flag. 2009-01-19 07:05:45 +00:00
kanato 3bd150ebbd Removed fullscreen flag. 2009-01-19 07:05:17 +00:00
kanato 874896fd2f Fix number of devices in call to aglChoosePixelFormat. 2009-01-15 05:25:00 +00:00
kanato 180da6c5dd GameWindowStates test: Added support for jumping two WindowStates with one keystroke. 2009-01-14 19:52:27 +00:00
kanato 083caef1c1 Mac OS updates:
Window State support (minimize and maximize) 
Preliminary full screen support.
Preliminary support for changing the screen resolution.
2009-01-14 19:52:15 +00:00
kanato 06bac23cf8 Introduced new platform detection code to p/invoke to uname rather than running it as a process. 2009-01-01 00:11:06 +00:00
kanato 23f4858e2c Added debugging information for pixel formats. 2008-12-29 01:31:21 +00:00
kanato 14ea26c866 Fix KeyNotFoundException in EventHandler routine. 2008-12-28 18:19:07 +00:00
kanato 9b3f1dc8ee Set CarbonGLNative to correctly record mouse position. 2008-12-28 05:20:25 +00:00
the_fiddler d45f6f7d6d Add a call to Application.DoEvents() before launching the example. This should ensure that the launcher window disappears before the example is launched and should also take care of any keyboard/mouse handling issues. 2008-12-25 00:57:00 +00:00
the_fiddler 7a7718a57c Use new API.
Fix initial message to "The quick brown fox jumped over the lazy dog."
2008-12-19 15:37:09 +00:00
kanato 8778d1fca9 Update Utilties.CreateWindowInfo code path to work on MacOS. 2008-12-11 05:32:06 +00:00
the_fiddler e4b5e23701 Normalized line endings. 2008-12-10 09:36:33 +00:00
the_fiddler db54fa79b3 Removed call to Console.WriteLine when changing WindowState. 2008-12-09 21:26:48 +00:00
the_fiddler 2e3b56f89c Added OpenEXR terms to the License.
Added Half and Vector[234]h structs.
Added Vector[234]d, Matrix4d and Quaterniond structs.
2008-12-09 20:45:18 +00:00
kanato d3001f8a26 Correct position of buffer rect to be within the GLControl. 2008-12-09 20:10:24 +00:00
kanato 11430665f3 First commit which includes support for drawing to a WinForms control. 2008-12-09 19:44:18 +00:00
the_fiddler 2ce6227e64 Moved DummyGLContext and DummyGLControl to the OpenTK/Platform/Dummy directory and namespace.
Fixed a regression where the GLControl would try to instantiate a normal context inside the VS designer, instead of a dummy one.
2008-12-09 10:09:03 +00:00
the_fiddler 40a14fe8a8 Fixed build warnings. 2008-12-09 10:07:05 +00:00
the_fiddler 057759177b Fixed build warnings. 2008-12-09 10:06:25 +00:00
the_fiddler e6303e9e5b Suppress cls-compliance warnings (should be restored when the code goes public). 2008-12-02 16:02:08 +00:00
the_fiddler a7d5c08232 Comment out unused code. 2008-12-02 16:01:02 +00:00
the_fiddler 3a2aa4ece6 Set default texture parameters before allocating memory for the texture. 2008-11-29 18:22:51 +00:00
the_fiddler 9f3919e0be Break up Id property into distinct methods. 2008-11-29 18:04:15 +00:00
the_fiddler 2abc0461b0 Moved Begin/End to ITextOutputProvider.
Fixed text location.
2008-11-29 17:45:43 +00:00
the_fiddler 3dd42ada72 Add workaround for mono GDI+ MeasureCharacterRanges and empty layout rectangles. 2008-11-28 12:46:58 +00:00
the_fiddler 52577946e3 Set compatible text rendering to false, in order to improve text rendering in the WinForms samples. 2008-11-27 16:37:48 +00:00
the_fiddler 6e5056e7aa GDI+ bitmaps are stored as Bgra, not Rgba. 2008-11-27 12:16:41 +00:00
the_fiddler 79c7f64f7f RgbaTexture2D should not be compressed. 2008-11-27 12:14:12 +00:00
the_fiddler d9eeb2bd90 Add debug output to SwapBuffers. 2008-11-26 21:55:43 +00:00
the_fiddler 73cb7a5dd2 Add SuppressUnmanagedCodeSecurity and SetLastError attributes. 2008-11-26 21:54:35 +00:00
the_fiddler baf3247afe Initial work on new interface.
Use subpixel antialiasing.
2008-11-26 21:49:05 +00:00
the_fiddler a5c733774a UI should update when changing fonts. 2008-11-26 16:35:19 +00:00
the_fiddler c0549b11fa Fixed TextExtents behavior when returning either cached or uncached instances.
Reduced memory pressure by adding object pooling to TextExtents.
2008-11-26 16:34:50 +00:00
the_fiddler a868c4b4e8 Remove exceptions from the typical path (significant speed increase). 2008-11-26 15:35:15 +00:00
the_fiddler a26b75f3af IGlyphCache.Contains should return bool, not void.
GlyphCache now implements the IGlyphCache interface.
2008-11-25 22:19:42 +00:00
the_fiddler afa76c9894 Removed unused code.
Implemented Glyph enumerator for TextBlock.
GdiPlusGlyphRasterizer.Rasterize now reuses its Bitmap surface, if possible.
2008-11-25 22:16:40 +00:00
the_fiddler 26af1aa354 Fix text measurement for non-italic text. 2008-11-25 19:20:40 +00:00
the_fiddler 2bffcbbfcf Added new font rendering sample. 2008-11-25 19:00:06 +00:00
the_fiddler 27c3f3b0ce Obsoleted old implementation and added compatibility layer to the new ITextPrinter. 2008-11-25 18:17:30 +00:00
the_fiddler 4ca288bc87 Moved to Graphics folder along with the rest of the implementation. 2008-11-25 18:05:10 +00:00
the_fiddler 7f15357835 2008-11-25 18:03:11 +00:00
the_fiddler c439904f70 Moved to OpenTK.Graphics.Text namespace, along with the rest of the text printing stuff. 2008-11-25 18:02:11 +00:00
the_fiddler d3b57e6c5a Removed the old TextPrinter implementation. 2008-11-25 18:00:17 +00:00
the_fiddler e1beaf3744 Updated examples to use the new TextPrinter. 2008-11-25 17:25:51 +00:00
the_fiddler 5d1eda9289 Implemented GetHashCode and ToString. 2008-11-25 17:25:10 +00:00
the_fiddler 732a602578 Added TextPrinterOptions.Default. 2008-11-25 17:24:40 +00:00
the_fiddler fa12673450 Updated ITextPrinter interface for the new implementation. 2008-11-25 17:16:57 +00:00
the_fiddler 15eaba60a9 Implement support for multiple texture sheets. 2008-11-25 16:45:24 +00:00
the_fiddler 8249b75f42 Added IEquatable interface to allow use as key in dictionaries. 2008-11-25 16:44:52 +00:00
the_fiddler d840251dbd Use base Texture2D instead of AlphaTexture2D. 2008-11-25 16:43:21 +00:00
the_fiddler 8e7348d085 Add missing Measure methods. 2008-11-25 16:11:31 +00:00
the_fiddler 71addb4923 Derive AlphaTexture2D from Texture2D. 2008-11-25 16:10:18 +00:00
the_fiddler 30f75d4389 Added missing license notice. 2008-11-25 14:04:24 +00:00
the_fiddler 18cb4d2432 Added missing files from working copy. 2008-11-24 18:03:47 +00:00
the_fiddler 5e449dabd4 Add 2 pixels of space between packed glyphs, to avoid rendering artifacts. 2008-11-24 18:02:57 +00:00
the_fiddler 72e1216a31 Testing hack (hardcode texture #2). 2008-11-24 18:02:19 +00:00
the_fiddler e3535cdbb1 Use 16pt font (looks better). 2008-11-24 17:55:34 +00:00
the_fiddler a57eb8f647 First public commit of the new text renderer (WIP implementation). 2008-11-24 16:43:56 +00:00
the_fiddler 820e2af20e 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 4e4ca5bebf Removed unusued IGLControlHelper interface. 2008-11-23 09:39:58 +00:00
the_fiddler 6dcc5b841d Removed unusued IGLControlHelper interface. 2008-11-23 09:39:52 +00:00
the_fiddler 62ae3698ad Library should not use Trace output. 2008-11-23 09:34:33 +00:00
the_fiddler 61181ea785 Added Assert function for checking whether a GraphicsContext is exists in the calling thread. 2008-11-20 22:25:28 +00:00
the_fiddler 701b95c00f Added xml docs.
Added GraphicsContextMissingException for use when a GraphicsContext is expected but not found.
2008-11-20 22:24:11 +00:00
the_fiddler 03fabcfb91 Added GenTexture and DeleteTexture helpers for single textures. 2008-11-20 22:23:08 +00:00
the_fiddler 5f483b5298 Prevent LoadGlyph from thrashing the PixelStore attribute. 2008-11-19 18:00:28 +00:00
the_fiddler dc9b12eda7 Fixed handling of multiple newlines.
Removed unused code.
2008-11-18 19:27:26 +00:00
the_fiddler 96f015a307 Added RunningOnMono property.
Made Configuration class public.
2008-11-18 19:14:01 +00:00
the_fiddler b931dffdbd Fall back to Clamp, if ClampToEdge is not supported. 2008-11-18 12:44:52 +00:00
the_fiddler 9619b609a5 Fixed some whitespace and normalized line-endings. 2008-11-18 12:44:18 +00:00
the_fiddler 7b49c33f71 Mark DisplayMode constructor as obsolete. 2008-11-18 12:43:38 +00:00
the_fiddler c79de2439b Make GL.SupportsExtension ignore underscores.
Fixed GL_VERSION_1_1 support.
Added GL_VERSION_3_0.
2008-11-18 12:42:35 +00:00
the_fiddler 4a9783c668 Implemented RunningOnLinux. 2008-11-18 12:41:12 +00:00
the_fiddler 0dea16ebf8 Documented static public fields.
Added missing SizeInBytes field to Vector2 and Vector4.
2008-11-15 21:36:46 +00:00
the_fiddler 44044ea415 Removed debug print statements. 2008-11-14 00:09:47 +00:00
the_fiddler 785cb2eecb Use IntPtr instead of HandleRef. 2008-11-14 00:03:02 +00:00
the_fiddler 912e5c873e Whitespace is now ignored when rendering text (slight performance improvement).
Text now split into lines before measuring, to avoid buggy Mono GDI+ implementation.
Pixel unpack attribute is now used optimize glyph uploading.
Added ClampToEdge attribute to the font sheet.
2008-11-14 00:00:54 +00:00
kanato ec92b72469 Added fix from trunk for mouse wheel under 64-bit windows. 2008-11-12 16:42:09 +00:00
kanato 6e327798a3 Fixed MacOS initialization by returning IntPtr from CoreGraphics methods
instead of structures wrapping CoreFoundation types.
2008-11-12 04:03:40 +00:00
the_fiddler 0769c375db Final fix for mousewheel support on x64. 2008-11-09 23:42:54 +00:00
the_fiddler 0f1df127d5 Use UIntPtr instead of IntPtr to avoid overflow exceptions in x64 mode. 2008-11-09 11:43:02 +00:00
the_fiddler b519f2b04c Possible fix for overflow exception on mouse wheel movement in x64 mode. 2008-11-08 21:44:36 +00:00
kanato e66d796bdb Added WinFactory.cs and X11Factory.cs 2008-11-04 18:39:45 +00:00
kanato 8b65201145 Initial commit with Mac OS support. 2008-11-04 18:35:17 +00:00
the_fiddler 244de27aa2 Implemented X11GdiPlusInternals.
Added missing license headers.
2008-11-03 23:55:53 +00:00
the_fiddler ca9e6262ef Moved GdiPlus to OpenTK.Platform where it belongs.
Removed unused fields in WinGdiPlusInternals.cs.
2008-11-03 23:51:16 +00:00
the_fiddler 6cbe67fa2a Use different implementations for accessing GDI+ internals on .Net and Mono. 2008-11-03 23:34:54 +00:00
the_fiddler c885f61590 Commented out to remove warnings until actual implementation. 2008-11-03 22:15:56 +00:00
the_fiddler 8c4a36b8a7 Fix overflow exception on right shift key press/release when running on x64 mode. 2008-11-02 17:27:12 +00:00
kanato e2277e118c Added CreateGraphicsContext and CreateWindowInfo code. 2008-10-31 20:09:09 +00:00
the_fiddler 573622bf0b Removed unused variables and relevant warnings. 2008-09-19 20:57:35 +00:00
the_fiddler fb86950099 Temporarily disabled math serialization test (now examples.exe compiles). 2008-09-02 09:45:52 +00:00
the_fiddler 3e309affe8 Fixed extension loading. 2008-07-18 23:08:50 +00:00
the_fiddler d129fc26d9 Commented out an unused code block. 2008-07-10 21:13:01 +00:00
the_fiddler 62cc647613 Follow recommended Disposable pattern. 2008-07-10 15:20:48 +00:00
the_fiddler 981b8ab4c5 StencilFuncSeparate and BlendingFactorDest/Src fixes. 2008-07-10 15:14:04 +00:00
the_fiddler 04cc9238f6 Added missing tokens to BlendEquationSrc/Dest enums. 2008-07-10 15:09:29 +00:00
the_fiddler 4591218aab Fixed StencilFuncSeparate parameters types (StencilFace and StencilFunction instead of StencilFunction).
Added StencilFace enum.
2008-07-10 15:04:46 +00:00
the_fiddler 81888345df Added serialization test. 2008-07-10 14:01:52 +00:00
the_fiddler 175f5aab87 Added serializable attribute.
Added IEquatable interface and operator== overloads to Matrix4 and Vector* structs.
2008-07-10 14:01:38 +00:00
the_fiddler 436c0c23d8 Corrected a grammar mistake. 2008-07-04 19:27:53 +00:00
the_fiddler 8146fdcc5c General cleanup:
Glyph is now a struct.
Code layout follows OpenTK format.
Added missing doc-strings.
2008-07-04 19:23:12 +00:00
the_fiddler bcd8d4c9bc Removed two warnings. 2008-07-04 16:41:17 +00:00
the_fiddler 486a3cf645 Use StringFormat.GenericDefault when loading glyphs, to account for overhangs (especially visible in e.g. italics).
Remove an unused variable in MeasureText.
2008-07-01 18:50:49 +00:00
the_fiddler ee34df5b16 Reverted StringFormat.GenericDefault change.
Explicitly specified StringFormat.GenericTypographic when rasterizing glyphs, to avoid mismatch between rasterization and measuring.
2008-06-29 10:56:51 +00:00
the_fiddler d7173edb60 Use GenericDefault instead of GenericTypographic for MeasureCharacterRanges, in order to correctly calculate the bounding boxes of glyphs and strings. 2008-06-28 17:44:24 +00:00
the_fiddler 856551e212 Fixed clipping issues with font layout.
Improved glyph loading speed.
Fixed text measurement.
2008-06-24 20:35:37 +00:00
the_fiddler 922d9ae3ff Added a region directive to conform to OpenTK standards. 2008-06-24 18:29:11 +00:00
the_fiddler a52666d9e6 Now use the new MeasureText function. 2008-06-24 18:29:02 +00:00
the_fiddler c0803a2e03 Renamed MeasureCharacterRanges to MeasureText.
Sped up MeasureText.
Added MeasureText overloads.
Obsoleted MeasureString function.
2008-06-24 18:27:51 +00:00
the_fiddler 5cb7606df9 Added System.Drawing.Rectangle and RectangleF overloads to GL.Rect. 2008-06-24 18:23:32 +00:00
the_fiddler 74d9f5a0af Added regions to conform to naming conventions. 2008-06-22 18:07:22 +00:00
the_fiddler 0c159a0f26 Prefer Alc.OpenDevice(null) over Alc.OpenDevice(Alc.GetString(0, AlcGetString.DefaultDeviceSpecifier)) 2008-06-22 18:06:32 +00:00
the_fiddler 3e6a2e4e9b Corrected two while loops (they should have been plain if-statements, not loops). 2008-06-22 16:31:48 +00:00
the_fiddler 426cb6432d Corrected a stupid error where MeasureCharacterRanges was called with incorrect parameters. 2008-06-22 16:31:00 +00:00
the_fiddler 8e4287b46e Updated TextPrinter.PerformLayout to use the new GdiPlus-based MeasureCharacterRanges function. 2008-06-22 16:30:01 +00:00
the_fiddler 6801dc3e94 Implemented MeasureCharacterRanges function using the new GdiPlus bindings. 2008-06-22 16:29:13 +00:00
the_fiddler 49d1b68fa4 Added screenshot capabilities on F12. 2008-06-22 16:22:30 +00:00
the_fiddler 47bb81d62f Preliminary implementation of JoystickDevice. 2008-06-22 16:21:52 +00:00
the_fiddler d7598b305a Implemented GdiPlus bindings for text measurement. 2008-06-22 16:21:19 +00:00
the_fiddler 4e521ea72e Changed the fps counter color to SkyBlue. 2008-06-22 16:20:40 +00:00