diff --git a/Source/OpenTK/OpenTK.csproj b/Source/OpenTK/OpenTK.csproj
index 57fb4a44..aa038444 100644
--- a/Source/OpenTK/OpenTK.csproj
+++ b/Source/OpenTK/OpenTK.csproj
@@ -1,4 +1,4 @@
-
+
Local
@@ -793,9 +793,6 @@
Code
-
- Code
-
Code
@@ -835,7 +832,5 @@
-
-
-
+
\ No newline at end of file
diff --git a/Source/OpenTK/Platform/MacOS/Carbon/CarbonAPI.cs b/Source/OpenTK/Platform/MacOS/Carbon/CarbonAPI.cs
index 530ea688..bf99c067 100644
--- a/Source/OpenTK/Platform/MacOS/Carbon/CarbonAPI.cs
+++ b/Source/OpenTK/Platform/MacOS/Carbon/CarbonAPI.cs
@@ -121,6 +121,7 @@ namespace OpenTK.Platform.MacOS.Carbon
}
#endregion
+
#region --- Types defined in HIGeometry.h ---
[StructLayout(LayoutKind.Sequential)]
@@ -137,12 +138,14 @@ namespace OpenTK.Platform.MacOS.Carbon
: this((float)x, (float)y)
{ }
}
+
[StructLayout(LayoutKind.Sequential)]
internal struct HISize
{
public float Width;
public float Height;
}
+
[StructLayout(LayoutKind.Sequential)]
internal struct HIRect
{
@@ -460,6 +463,7 @@ namespace OpenTK.Platform.MacOS.Carbon
}
#endregion
+
#region --- Enums from gestalt.h ---
internal enum GestaltSelector
@@ -471,6 +475,7 @@ namespace OpenTK.Platform.MacOS.Carbon
};
#endregion
+
#region --- Process Manager ---
enum ProcessApplicationTransformState : int
@@ -506,71 +511,6 @@ namespace OpenTK.Platform.MacOS.Carbon
[DllImport(carbon)]
internal static extern uint GetEventKind(IntPtr inEvent);
- #region --- Window Construction ---
-
- [DllImport(carbon,EntryPoint="CreateNewWindow")]
- private static extern OSStatus _CreateNewWindow(WindowClass @class, WindowAttributes attributes, ref Rect r, out IntPtr window);
-
- internal static IntPtr CreateNewWindow(WindowClass @class, WindowAttributes attributes, Rect r)
- {
- IntPtr retval;
- OSStatus stat = _CreateNewWindow(@class, attributes, ref r, out retval);
-
- Debug.Print("Created Window: {0}", retval);
-
- if (stat != OSStatus.NoError)
- {
- throw new MacOSException(stat);
- }
-
- return retval;
- }
-
- [DllImport(carbon)]
- internal static extern void DisposeWindow(IntPtr window);
-
- #endregion
- #region --- Showing / Hiding Windows ---
-
- [DllImport(carbon)]
- internal static extern void ShowWindow(IntPtr window);
- [DllImport(carbon)]
- internal static extern void HideWindow(IntPtr window);
- [DllImport(carbon)]
- internal static extern bool IsWindowVisible(IntPtr window);
- [DllImport(carbon)]
- internal static extern void SelectWindow(IntPtr window);
-
- #endregion
- #region --- Window Boundaries ---
-
- [DllImport(carbon)]
- internal static extern OSStatus RepositionWindow(IntPtr window, IntPtr parentWindow, WindowPositionMethod method);
- [DllImport(carbon)]
- internal static extern void SizeWindow(IntPtr window, short w, short h, bool fUpdate);
- [DllImport(carbon)]
- internal static extern void MoveWindow(IntPtr window, short x, short y, bool fUpdate);
-
- [DllImport(carbon)]
- static extern OSStatus GetWindowBounds(IntPtr window, WindowRegionCode regionCode, out Rect globalBounds);
- internal static Rect GetWindowBounds(IntPtr window, WindowRegionCode regionCode)
- {
- Rect retval;
- OSStatus result = GetWindowBounds(window, regionCode, out retval);
-
- if (result != OSStatus.NoError)
- throw new MacOSException(result);
-
- return retval;
- }
-
- [DllImport(carbon)]
- internal static extern OSStatus SetWindowBounds(IntPtr Windows, WindowRegionCode WindowRegionCode, ref Rect globalBounds);
-
- //[DllImport(carbon)]
- //internal static extern void MoveWindow(IntPtr window, short hGlobal, short vGlobal, bool front);
-
- #endregion
#region --- Processing Events ---
[DllImport(carbon)]
@@ -663,254 +603,7 @@ namespace OpenTK.Platform.MacOS.Carbon
#endregion
#endregion
- #region --- Getting Event Parameters ---
- [DllImport(carbon,EntryPoint="CreateEvent")]
- static extern OSStatus _CreateEvent( IntPtr inAllocator,
- EventClass inClassID, UInt32 kind, EventTime when,
- EventAttributes flags,out IntPtr outEvent);
-
- internal static IntPtr CreateWindowEvent(WindowEventKind kind)
- {
- IntPtr retval;
-
- OSStatus stat = _CreateEvent(IntPtr.Zero, EventClass.Window, (uint)kind,
- 0, EventAttributes.kEventAttributeNone, out retval);
-
- if (stat != OSStatus.NoError)
- {
- throw new MacOSException(stat);
- }
-
- return retval;
- }
-
- [DllImport(carbon)]
- static extern OSStatus GetEventParameter(
- IntPtr inEvent, EventParamName inName, EventParamType inDesiredType,
- IntPtr outActualType, uint inBufferSize, IntPtr outActualSize, IntPtr outData);
-
- static internal MacOSKeyCode GetEventKeyboardKeyCode(IntPtr inEvent)
- {
- int code;
-
- unsafe
- {
- int* codeAddr = &code;
-
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.KeyCode, EventParamType.typeUInt32, IntPtr.Zero,
- (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(UInt32)), IntPtr.Zero,
- (IntPtr) codeAddr);
-
- if (result != OSStatus.NoError)
- {
- throw new MacOSException(result);
- }
- }
-
- return (MacOSKeyCode)code;
- }
-
- internal static char GetEventKeyboardChar(IntPtr inEvent)
- {
- char code;
-
- unsafe
- {
- char* codeAddr = &code;
-
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.KeyMacCharCode, EventParamType.typeChar, IntPtr.Zero,
- (uint)BlittableValueType.Stride, IntPtr.Zero,
- (IntPtr)codeAddr);
-
- if (result != OSStatus.NoError)
- {
- throw new MacOSException(result);
- }
- }
-
- return code;
- }
-
- static internal MouseButton GetEventMouseButton(IntPtr inEvent)
- {
- int button;
-
- unsafe
- {
- int* btn = &button;
-
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.MouseButton, EventParamType.typeMouseButton, IntPtr.Zero,
- (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(short)), IntPtr.Zero,
- (IntPtr)btn);
-
- if (result != OSStatus.NoError)
- throw new MacOSException(result);
- }
-
- return (MouseButton)button;
- }
-
- internal struct ScrollDelta {
- internal float deltaX;
- internal float deltaY;
- }
-
- static internal ScrollDelta GetEventWheelScroll(IntPtr inEvent)
- {
- ScrollDelta scrolldelta = new ScrollDelta();
- Int32 delta;
-
- unsafe
- {
- Int32* d = δ
- OSStatus result;
-
- // vertical scroll Delta in pixels
- result = API.GetEventParameter(inEvent,
- EventParamName.MouseWheelSmoothVerticalDelta, EventParamType.typeSInt32,
- IntPtr.Zero, (uint)sizeof(int), IntPtr.Zero, (IntPtr)d);
-
- if (result == OSStatus.EventParameterNotFound) {
- // it's okay for it to be simply missing...
- } else if (result != OSStatus.NoError) {
- throw new MacOSException(result);
- } else {
- scrolldelta.deltaY = delta / 20.0f;
- }
-
- // horizontal scroll Delta in pixels
- result = API.GetEventParameter(inEvent,
- EventParamName.MouseWheelSmoothHorizontalDelta, EventParamType.typeSInt32,
- IntPtr.Zero, (uint)sizeof(int), IntPtr.Zero, (IntPtr)d);
-
- if (result == OSStatus.EventParameterNotFound) {
- // it's okay for it to be simply missing...
- } else if (result != OSStatus.NoError) {
- throw new MacOSException(result);
- } else {
- scrolldelta.deltaY = delta / 20.0f;
- }
- }
-
- return scrolldelta;
- }
-
- static internal int GetEventMouseWheelDelta(IntPtr inEvent)
- {
- int delta;
-
- unsafe
- {
- int* d = δ
-
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.MouseWheelDelta, EventParamType.typeSInt32,
- IntPtr.Zero, (uint)sizeof(int), IntPtr.Zero, (IntPtr)d);
-
- if (result != OSStatus.NoError)
- throw new MacOSException(result);
- }
-
- return delta;
- }
-
- static internal OSStatus GetEventWindowMouseLocation(IntPtr inEvent, out HIPoint pt)
- {
- HIPoint point;
-
- unsafe
- {
- HIPoint* parm = &point;
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.WindowMouseLocation, EventParamType.typeHIPoint, IntPtr.Zero,
- (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(HIPoint)), IntPtr.Zero,
- (IntPtr)parm);
- pt = point;
-
- return result;
- }
- }
-
- static internal OSStatus GetEventMouseDelta(IntPtr inEvent, out HIPoint pt)
- {
- HIPoint point;
-
- unsafe
- {
- HIPoint* parm = &point;
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.MouseDelta, EventParamType.typeHIPoint, IntPtr.Zero,
- (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(HIPoint)), IntPtr.Zero,
- (IntPtr)parm);
- pt = point;
-
- return result;
- }
- }
-
- static internal OSStatus GetEventWindowRef(IntPtr inEvent, out IntPtr windowRef)
- {
- IntPtr retval;
-
- unsafe
- {
- IntPtr* parm = &retval;
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.WindowRef, EventParamType.typeWindowRef, IntPtr.Zero,
- (uint)sizeof(IntPtr), IntPtr.Zero, (IntPtr)parm);
-
- windowRef = retval;
-
- return result;
- }
- }
-
- static internal OSStatus GetEventMouseLocation(IntPtr inEvent, out HIPoint pt)
- {
- HIPoint point;
-
- unsafe
- {
- HIPoint* parm = &point;
-
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.MouseLocation, EventParamType.typeHIPoint, IntPtr.Zero,
- (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(HIPoint)), IntPtr.Zero,
- (IntPtr)parm);
-
- pt = point;
-
- return result;
- }
-
- }
- static internal MacOSKeyModifiers GetEventKeyModifiers(IntPtr inEvent)
- {
- uint code;
-
- unsafe
- {
- uint* codeAddr = &code;
-
- OSStatus result = API.GetEventParameter(inEvent,
- EventParamName.KeyModifiers, EventParamType.typeUInt32, IntPtr.Zero,
- (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(uint)), IntPtr.Zero,
- (IntPtr)codeAddr);
-
- if (result != OSStatus.NoError)
- {
- throw new MacOSException(result);
- }
- }
-
- return (MacOSKeyModifiers)code;
- }
-
- #endregion
#region --- Event Handlers ---
[DllImport(carbon,EntryPoint="InstallEventHandler")]
@@ -919,30 +612,6 @@ namespace OpenTK.Platform.MacOS.Carbon
int numtypes, EventTypeSpec[] typeList,
IntPtr userData, IntPtr handlerRef);
- internal static void InstallWindowEventHandler(IntPtr windowRef, IntPtr uppHandlerProc,
- EventTypeSpec[] eventTypes, IntPtr userData, IntPtr handlerRef)
- {
- IntPtr windowTarget = GetWindowEventTarget(windowRef);
-
- //Debug.Print("Window: {0}", windowRef);
- //Debug.Print("Window Target: {0}", windowTarget);
- //Debug.Print("Handler: {0}", uppHandlerProc);
- //Debug.Print("Num Events: {0}", eventTypes.Length);
- //Debug.Print("User Data: {0}", userData);
- //Debug.Print("Handler Ref: {0}", handlerRef);
-
- OSStatus error = _InstallEventHandler(windowTarget, uppHandlerProc,
- eventTypes.Length, eventTypes,
- userData, handlerRef);
-
- //Debug.Print("Status: {0}", error);
-
- if (error != OSStatus.NoError)
- {
- throw new MacOSException(error);
- }
- }
-
internal static void InstallApplicationEventHandler(IntPtr uppHandlerProc,
EventTypeSpec[] eventTypes, IntPtr userData, IntPtr handlerRef)
{
@@ -955,13 +624,13 @@ namespace OpenTK.Platform.MacOS.Carbon
{
throw new MacOSException(error);
}
-
}
[DllImport(carbon)]
internal static extern OSStatus RemoveEventHandler(IntPtr inHandlerRef);
#endregion
+
#region --- GetWindowEventTarget ---
[DllImport(carbon)]
@@ -1016,193 +685,21 @@ namespace OpenTK.Platform.MacOS.Carbon
return retval;
}
- [DllImport(carbon)]
- internal static extern OSStatus ActivateWindow (IntPtr inWindow, bool inActivate);
-
[DllImport(carbon)]
internal static extern void RunApplicationEventLoop();
[DllImport(carbon)]
internal static extern void QuitApplicationEventLoop();
- [DllImport(carbon)]
- internal static extern IntPtr GetControlOwner(IntPtr control);
-
- [DllImport(carbon)]
- internal static extern IntPtr HIViewGetWindow(IntPtr inView);
-
- [DllImport(carbon)]
- static extern OSStatus HIViewGetFrame(IntPtr inView, out HIRect outRect);
- internal static HIRect HIViewGetFrame(IntPtr inView)
- {
- HIRect retval;
- OSStatus result = HIViewGetFrame(inView, out retval);
-
- if (result != OSStatus.NoError)
- throw new MacOSException(result);
-
- return retval;
- }
-
- //[DllImport(carbon)]
- //static extern OSStatus HIWindowCreate(WindowClass class, int[] attributes,
- // ref WindowDefSpec defSpec, HICoordinateSpace space, ref HIRect bounds,
- // out IntPtr window);
-
- #region --- SetWindowTitle ---
-
- [DllImport(carbon)]
- static extern void SetWindowTitleWithCFString(IntPtr windowRef, IntPtr title);
-
- internal static void SetWindowTitle(IntPtr windowRef, string title)
- {
- IntPtr str = __CFStringMakeConstantString(title);
-
- Debug.Print("Setting window title: {0}, CFstring : {1}, Text : {2}", windowRef, str, title);
-
- SetWindowTitleWithCFString(windowRef, str);
-
- // Apparently releasing this reference to the CFConstantString here
- // causes the program to crash on the fourth window created. But I am
- // afraid that not releasing the string would result in a memory leak, but that would
- // only be a serious issue if the window title is changed a lot.
- //CFRelease(str);
- }
-
- #endregion
-
- [DllImport(carbon,EntryPoint="ChangeWindowAttributes")]
- static extern OSStatus _ChangeWindowAttributes(IntPtr windowRef, WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes);
- internal static void ChangeWindowAttributes(IntPtr windowRef, WindowAttributes setTheseAttributes, WindowAttributes clearTheseAttributes)
- {
- OSStatus error = _ChangeWindowAttributes(windowRef, setTheseAttributes, clearTheseAttributes);
-
- if (error != OSStatus.NoError)
- {
- throw new MacOSException(error);
- }
- }
-
- [DllImport(carbon)]
- static extern IntPtr __CFStringMakeConstantString(string cStr);
-
- [DllImport(carbon)]
- static extern void CFRelease(IntPtr cfStr);
-
- [DllImport(carbon)]
- internal static extern OSStatus CallNextEventHandler(IntPtr nextHandler, IntPtr theEvent);
-
- [DllImport(carbon)]
- internal static extern IntPtr GetWindowPort(IntPtr windowRef);
-
#region --- Menus ---
[DllImport(carbon)]
internal static extern IntPtr AcquireRootMenu();
-
- #endregion
-
- [DllImport(carbon)]
- internal static extern bool IsWindowCollapsed(IntPtr windowRef);
-
- [DllImport(carbon, EntryPoint = "CollapseWindow")]
- static extern OSStatus _CollapseWindow(IntPtr windowRef, bool collapse);
-
- internal static void CollapseWindow(IntPtr windowRef, bool collapse)
- {
- OSStatus error = _CollapseWindow(windowRef, collapse);
-
- if (error != OSStatus.NoError)
- {
- throw new MacOSException(error);
- }
- }
-
- [DllImport(carbon, EntryPoint="IsWindowInStandardState")]
- static extern bool _IsWindowInStandardState(IntPtr windowRef, IntPtr inIdealSize, IntPtr outIdealStandardState);
-
- internal static bool IsWindowInStandardState(IntPtr windowRef)
- {
- return _IsWindowInStandardState(windowRef, IntPtr.Zero, IntPtr.Zero);
- }
-
- [DllImport(carbon, EntryPoint = "ZoomWindowIdeal")]
- unsafe static extern OSStatus _ZoomWindowIdeal(IntPtr windowRef, short inPartCode, IntPtr toIdealSize);
-
- internal static void ZoomWindowIdeal(IntPtr windowRef, WindowPartCode inPartCode, ref CarbonPoint toIdealSize)
- {
- CarbonPoint pt = toIdealSize;
- OSStatus error ;
- IntPtr handle = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(CarbonPoint)));
- Marshal.StructureToPtr(toIdealSize, handle, false);
-
- error = _ZoomWindowIdeal(windowRef, (short)inPartCode, handle);
-
- toIdealSize = (CarbonPoint)Marshal.PtrToStructure(handle,typeof(CarbonPoint));
-
- Marshal.FreeHGlobal(handle);
-
- if (error != OSStatus.NoError)
- {
- throw new MacOSException(error);
- }
- }
-
- [DllImport(carbon)]
- internal unsafe static extern OSStatus DMGetGDeviceByDisplayID(
- IntPtr displayID, out IntPtr displayDevice, Boolean failToMain);
-
- #region Nonworking HIPointConvert routines
-
- // These seem to crash when called, and I haven't figured out why.
- // Currently a workaround is used to convert from screen to client coordinates.
-
- //[DllImport(carbon, EntryPoint="HIPointConvert")]
- //extern static OSStatus _HIPointConvert(ref HIPoint ioPoint,
- // HICoordinateSpace inSourceSpace, IntPtr inSourceObject,
- // HICoordinateSpace inDestinationSpace, IntPtr inDestinationObject);
-
- //internal static HIPoint HIPointConvert(HIPoint inPoint,
- // HICoordinateSpace inSourceSpace, IntPtr inSourceObject,
- // HICoordinateSpace inDestinationSpace, IntPtr inDestinationObject)
- //{
- // OSStatus error = _HIPointConvert(ref inPoint, inSourceSpace, inSourceObject, inDestinationSpace, inDestinationObject);
-
- // if (error != OSStatus.NoError)
- // {
- // throw new MacOSException(error);
- // }
-
- // return inPoint;
- //}
-
- //[DllImport(carbon, EntryPoint = "HIViewConvertPoint")]
- //extern static OSStatus _HIViewConvertPoint(ref HIPoint inPoint, IntPtr inSourceView, IntPtr inDestView);
-
- //internal static HIPoint HIViewConvertPoint( HIPoint point, IntPtr sourceHandle, IntPtr destHandle)
- //{
- // //Carbon.Rect window_bounds = new Carbon.Rect();
- // //Carbon.API.GetWindowBounds(handle, WindowRegionCode.StructureRegion /*32*/, out window_bounds);
-
- // //point.X -= window_bounds.X;
- // //point.Y -= window_bounds.Y;
-
- // OSStatus error = _HIViewConvertPoint(ref point, sourceHandle, destHandle);
-
- // if (error != OSStatus.NoError)
- // {
- // throw new MacOSException(error);
- // }
-
- // return point;
- //}
-
#endregion
const string gestaltlib = "/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon";
-
[DllImport(gestaltlib)]
internal static extern OSStatus Gestalt(GestaltSelector selector, out int response);
}
diff --git a/Source/OpenTK/Platform/MacOS/Carbon/SpeechChannel.cs b/Source/OpenTK/Platform/MacOS/Carbon/SpeechChannel.cs
deleted file mode 100644
index d96fce72..00000000
--- a/Source/OpenTK/Platform/MacOS/Carbon/SpeechChannel.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2010 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace OpenTK.Platform.MacOS.Carbon
-{
-
- internal class SpeechChannel
- {
-
- private IntPtr _id;
-
- protected const string appServicesPath = "/System/Library/Frameworks/ApplicationServices.framework/Versions/Current/ApplicationServices";
-
- [DllImport(appServicesPath)]
- private static extern short NewSpeechChannel(IntPtr voice, ref IntPtr result);
-
-
- [DllImport(appServicesPath)]
- private static extern short SpeakText(IntPtr channel, String text, long length);
-
- public SpeechChannel()
- {
- short rc = NewSpeechChannel((IntPtr)null, ref _id);
- Debug.WriteLine(rc);
- }
-
- public bool Speak(String text)
- {
- short rc = SpeakText(_id, text, (long)text.Length);
- return (rc == 0);
- }
-
- }
-}
diff --git a/Source/OpenTK/Platform/MacOS/CarbonWindowInfo.cs b/Source/OpenTK/Platform/MacOS/CarbonWindowInfo.cs
index a4c0b961..0dde51b4 100644
--- a/Source/OpenTK/Platform/MacOS/CarbonWindowInfo.cs
+++ b/Source/OpenTK/Platform/MacOS/CarbonWindowInfo.cs
@@ -144,8 +144,6 @@ namespace OpenTK.Platform.MacOS
if (ownHandle)
{
- Debug.Print("Disposing window {0}.", windowRef);
- Carbon.API.DisposeWindow(this.windowRef);
windowRef = IntPtr.Zero;
}