1 namespace gui::drivers;
4 import "CocoaOpenGLDisplayDriver"
11 #include "CocoaEcereBridge.h"
13 class CocoaInterface : Interface
15 class_property(name) = "Cocoa";
17 // --- User Interface System ---
22 printf("Initialize %s:%i\n", __FILE__, __LINE__);
23 result = CocoaInitialize();
30 printf("Terminate %s:%i\n", __FILE__, __LINE__);
34 bool ProcessInput(bool processAll)
38 //printf("ProcessInput %s:%i\n", __FILE__, __LINE__);
39 result = CocoaProcessInput(processAll);
47 printf("STUB! %s:%i\n", __FILE__, __LINE__);
50 void Lock(Window window)
53 printf("Lock %s:%i\n", __FILE__, __LINE__);
56 void Unlock(Window window)
59 printf("Unlock %s:%i\n", __FILE__, __LINE__);
62 const char **GraphicsDrivers(int *numDrivers)
64 static const char *graphicsDrivers[] = { "CocoaOpenGL" };
65 *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
67 return (char **)graphicsDrivers;
70 void GetCurrentMode(bool * fullScreen, int * resolution, int * colorDepth, int * refreshRate)
72 printf("GetCurrentMode %s:%i\n", __FILE__, __LINE__);
73 CocoaGetCurrentMode(fullScreen, resolution, colorDepth, refreshRate);
76 void EnsureFullScreen(bool *fullScreen)
78 printf("STUB! %s:%i\n", __FILE__, __LINE__);
82 bool ScreenMode(bool fullScreen, int resolution, int colorDepth, int refreshRate, bool * textMode)
84 printf("STUB! %s:%i\n", __FILE__, __LINE__);
90 // --- Window Creation ---
91 void * CreateRootWindow(Window window)
94 printf("CreateRootWindow %s:%i\n", __FILE__, __LINE__);
95 window.windowHandle = CocoaCreateRootWindow(window);
97 return window.windowHandle;
100 void DestroyRootWindow(Window window)
102 printf("DestroyRootWindow %s:%i\n", __FILE__, __LINE__);
103 CocoaDestroyRootWindow(window.windowHandle);
106 // -- Window manipulation ---
108 void SetRootWindowCaption(Window window, const char * name)
110 printf("SetRootWindowCaption %s:%i\n", __FILE__, __LINE__);
111 CocoaSetRootWindowCaption(window.windowHandle, name);
114 void PositionRootWindow(Window window, int x, int y, int w, int h, bool move, bool resize)
116 printf("PositionRootWindow %s:%i\n", __FILE__, __LINE__);
117 CocoaPositionRootWindow(window.windowHandle, x, y, w, h, move, resize);
120 void OrderRootWindow(Window window, bool topMost)
123 printf("STUB! %s:%i\n", __FILE__, __LINE__);
126 void SetRootWindowColor(Window window)
129 printf("STUB! %s:%i\n", __FILE__, __LINE__);
132 void OffsetWindow(Window window, int *x, int *y)
134 //printf("OffsetWindow %s:%i\n", __FILE__, __LINE__);
135 CocoaOffsetWindow(window.windowHandle, x, y);
138 void UpdateRootWindow(Window window)
141 printf("UpdateRootWindow! %s:%i\n", __FILE__, __LINE__);
142 CocoaDispatch_UpdateRootWindow(window);
145 void SetRootWindowState(Window window, WindowState state, bool visible)
148 printf("STUB! %s:%i\n", __FILE__, __LINE__);
151 void FlashRootWindow(Window window)
154 printf("STUB! %s:%i\n", __FILE__, __LINE__);
157 void ActivateRootWindow(Window window)
160 printf("STUB! %s:%i\n", __FILE__, __LINE__);
163 // --- Mouse-based window movement ---
165 void StartMoving(Window window, int x, int y, bool fromKeyBoard)
168 printf("STUB! %s:%i\n", __FILE__, __LINE__);
171 void StopMoving(Window window)
174 printf("STUB! %s:%i\n", __FILE__, __LINE__);
177 // -- Mouse manipulation ---
179 void GetMousePosition(int *x, int *y)
181 CocoaGetMousePosition(x, y);
182 //printf("GetMousePosition(%i,%i) %s:%i\n", *x, *y, __FILE__, __LINE__);
185 void SetMousePosition(int x, int y)
188 printf("STUB! %s:%i\n", __FILE__, __LINE__);
191 void SetMouseRange(Window window, Box box)
194 printf("STUB! %s:%i\n", __FILE__, __LINE__);
197 void SetMouseCapture(Window window)
200 printf("STUB! %s:%i\n", __FILE__, __LINE__);
203 // -- Mouse cursor ---
205 void SetMouseCursor(Window window, int cursor)
208 printf("STUB! %s:%i\n", __FILE__, __LINE__);
213 void SetCaret(int x, int y, int size)
216 printf("STUB! %s:%i\n", __FILE__, __LINE__);
219 void ClearClipboard()
222 printf("STUB! %s:%i\n", __FILE__, __LINE__);
225 bool AllocateClipboard(ClipBoard clipBoard, uint size)
228 printf("STUB! %s:%i\n", __FILE__, __LINE__);
231 bool SaveClipboard(ClipBoard clipBoard)
234 printf("STUB! %s:%i\n", __FILE__, __LINE__);
237 bool LoadClipboard(ClipBoard clipBoard)
240 printf("STUB! %s:%i\n", __FILE__, __LINE__);
243 void UnloadClipboard(ClipBoard clipBoard)
246 printf("STUB! %s:%i\n", __FILE__, __LINE__);
249 // --- State based input ---
251 bool AcquireInput(Window window, bool state)
254 printf("STUB! %s:%i\n", __FILE__, __LINE__);
258 bool GetMouseState(MouseButtons * buttons, int * x, int * y)
261 printf("STUB! %s:%i\n", __FILE__, __LINE__);
264 bool GetJoystickState(int device, Joystick joystick)
267 printf("STUB! %s:%i\n", __FILE__, __LINE__);
270 bool GetKeyState(Key key)
273 printf("STUB! %s:%i\n", __FILE__, __LINE__);
276 void SetTimerResolution(uint hertz)
279 printf("STUB! %s:%i\n", __FILE__, __LINE__);
282 bool SetIcon(Window window, BitmapResource resource)
285 printf("STUB! %s:%i\n", __FILE__, __LINE__);