Commit graph

306 commits

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