Blender  V2.93
GHOST_C-api.cpp
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19 
26 #include <stdlib.h>
27 #include <string.h>
28 
29 #include "GHOST_C-api.h"
30 #include "GHOST_IEvent.h"
31 #include "GHOST_IEventConsumer.h"
32 #include "GHOST_ISystem.h"
33 #include "intern/GHOST_Debug.h"
34 #ifdef WITH_XR_OPENXR
35 # include "GHOST_IXrContext.h"
36 #endif
39 
40 GHOST_SystemHandle GHOST_CreateSystem(void)
41 {
44 
45  return (GHOST_SystemHandle)system;
46 }
47 
48 void GHOST_SystemInitDebug(GHOST_SystemHandle systemhandle, int is_debug_enabled)
49 {
50  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
51 
52  system->initDebug(is_debug_enabled);
53 }
54 
55 GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle)
56 {
57  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
58 
59  return system->disposeSystem();
60 }
61 
62 void GHOST_ShowMessageBox(GHOST_SystemHandle systemhandle,
63  const char *title,
64  const char *message,
65  const char *help_label,
66  const char *continue_label,
67  const char *link,
68  GHOST_DialogOptions dialog_options)
69 {
70  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
71  system->showMessageBox(title, message, help_label, continue_label, link, dialog_options);
72 }
73 
74 GHOST_EventConsumerHandle GHOST_CreateEventConsumer(GHOST_EventCallbackProcPtr eventCallback,
75  GHOST_TUserDataPtr userdata)
76 {
77  return (GHOST_EventConsumerHandle) new GHOST_CallbackEventConsumer(eventCallback, userdata);
78 }
79 
80 GHOST_TSuccess GHOST_DisposeEventConsumer(GHOST_EventConsumerHandle consumerhandle)
81 {
82  delete ((GHOST_CallbackEventConsumer *)consumerhandle);
83  return GHOST_kSuccess;
84 }
85 
86 GHOST_TUns64 GHOST_GetMilliSeconds(GHOST_SystemHandle systemhandle)
87 {
88  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
89 
90  return system->getMilliSeconds();
91 }
92 
93 GHOST_TimerTaskHandle GHOST_InstallTimer(GHOST_SystemHandle systemhandle,
94  GHOST_TUns64 delay,
95  GHOST_TUns64 interval,
96  GHOST_TimerProcPtr timerproc,
97  GHOST_TUserDataPtr userdata)
98 {
99  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
100 
101  return (GHOST_TimerTaskHandle)system->installTimer(delay, interval, timerproc, userdata);
102 }
103 
104 GHOST_TSuccess GHOST_RemoveTimer(GHOST_SystemHandle systemhandle,
105  GHOST_TimerTaskHandle timertaskhandle)
106 {
107  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
108  GHOST_ITimerTask *timertask = (GHOST_ITimerTask *)timertaskhandle;
109 
110  return system->removeTimer(timertask);
111 }
112 
113 GHOST_TUns8 GHOST_GetNumDisplays(GHOST_SystemHandle systemhandle)
114 {
115  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
116 
117  return system->getNumDisplays();
118 }
119 
120 void GHOST_GetMainDisplayDimensions(GHOST_SystemHandle systemhandle,
123 {
124  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
125 
127 }
128 
129 void GHOST_GetAllDisplayDimensions(GHOST_SystemHandle systemhandle,
132 {
133  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
134 
136 }
137 
138 GHOST_ContextHandle GHOST_CreateOpenGLContext(GHOST_SystemHandle systemhandle,
139  GHOST_GLSettings glSettings)
140 {
141  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
142 
143  return (GHOST_ContextHandle)system->createOffscreenContext(glSettings);
144 }
145 
146 GHOST_TSuccess GHOST_DisposeOpenGLContext(GHOST_SystemHandle systemhandle,
147  GHOST_ContextHandle contexthandle)
148 {
149  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
150  GHOST_IContext *context = (GHOST_IContext *)contexthandle;
151 
152  return system->disposeContext(context);
153 }
154 
155 GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle,
156  GHOST_WindowHandle parent_windowhandle,
157  const char *title,
163  bool is_dialog,
165  GHOST_GLSettings glSettings)
166 {
167  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
168 
169  return (GHOST_WindowHandle)system->createWindow(title,
170  left,
171  top,
172  width,
173  height,
174  state,
175  type,
176  glSettings,
177  false,
178  is_dialog,
179  (GHOST_IWindow *)parent_windowhandle);
180 }
181 
182 GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandle)
183 {
184  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
185 
186  return window->getUserData();
187 }
188 void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr userdata)
189 {
190  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
191 
192  window->setUserData(userdata);
193 }
194 
195 int GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle)
196 {
197  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
198 
199  return (int)window->isDialog();
200 }
201 
202 GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle,
203  GHOST_WindowHandle windowhandle)
204 {
205  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
206  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
207 
208  return system->disposeWindow(window);
209 }
210 
211 int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle)
212 {
213  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
214  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
215 
216  return (int)system->validWindow(window);
217 }
218 
219 GHOST_WindowHandle GHOST_BeginFullScreen(GHOST_SystemHandle systemhandle,
220  GHOST_DisplaySetting *setting,
221  const int stereoVisual)
222 {
223  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
224  GHOST_IWindow *window = NULL;
225  bool bstereoVisual;
226 
227  if (stereoVisual)
228  bstereoVisual = true;
229  else
230  bstereoVisual = false;
231 
232  system->beginFullScreen(*setting, &window, bstereoVisual);
233 
234  return (GHOST_WindowHandle)window;
235 }
236 
237 GHOST_TSuccess GHOST_EndFullScreen(GHOST_SystemHandle systemhandle)
238 {
239  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
240 
241  return system->endFullScreen();
242 }
243 
244 int GHOST_GetFullScreen(GHOST_SystemHandle systemhandle)
245 {
246  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
247 
248  return (int)system->getFullScreen();
249 }
250 
251 int GHOST_ProcessEvents(GHOST_SystemHandle systemhandle, int waitForEvent)
252 {
253  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
254 
255  return (int)system->processEvents(waitForEvent ? true : false);
256 }
257 
258 void GHOST_DispatchEvents(GHOST_SystemHandle systemhandle)
259 {
260  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
261 
262  system->dispatchEvents();
263 }
264 
265 GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle,
266  GHOST_EventConsumerHandle consumerhandle)
267 {
268  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
269 
270  return system->addEventConsumer((GHOST_CallbackEventConsumer *)consumerhandle);
271 }
272 
273 GHOST_TSuccess GHOST_RemoveEventConsumer(GHOST_SystemHandle systemhandle,
274  GHOST_EventConsumerHandle consumerhandle)
275 {
276  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
277 
278  return system->removeEventConsumer((GHOST_CallbackEventConsumer *)consumerhandle);
279 }
280 
281 GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, float progress)
282 {
283  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
284 
285  return window->setProgressBar(progress);
286 }
287 
288 GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle)
289 {
290  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
291 
292  return window->endProgressBar();
293 }
294 
295 GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandle)
296 {
297  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
298 
299  return window->getCursorShape();
300 }
301 
302 GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle,
303  GHOST_TStandardCursor cursorshape)
304 {
305  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
306 
307  return window->setCursorShape(cursorshape);
308 }
309 
310 GHOST_TSuccess GHOST_HasCursorShape(GHOST_WindowHandle windowhandle,
311  GHOST_TStandardCursor cursorshape)
312 {
313  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
314 
315  return window->hasCursorShape(cursorshape);
316 }
317 
318 GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle,
319  GHOST_TUns8 *bitmap,
320  GHOST_TUns8 *mask,
321  int sizex,
322  int sizey,
323  int hotX,
324  int hotY,
325  GHOST_TUns8 canInvertColor)
326 {
327  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
328 
329  return window->setCustomCursorShape(bitmap, mask, sizex, sizey, hotX, hotY, canInvertColor);
330 }
331 
332 int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle)
333 {
334  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
335 
336  return (int)window->getCursorVisibility();
337 }
338 
339 GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, int visible)
340 {
341  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
342 
343  return window->setCursorVisibility(visible ? true : false);
344 }
345 
346 GHOST_TSuccess GHOST_GetCursorPosition(GHOST_SystemHandle systemhandle,
347  GHOST_TInt32 *x,
348  GHOST_TInt32 *y)
349 {
350  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
351 
352  return system->getCursorPosition(*x, *y);
353 }
354 
355 GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle,
356  GHOST_TInt32 x,
357  GHOST_TInt32 y)
358 {
359  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
360 
361  return system->setCursorPosition(x, y);
362 }
363 
364 GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle,
366  GHOST_TAxisFlag wrap_axis,
367  int bounds[4],
368  const int mouse_ungrab_xy[2])
369 {
370  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
371  GHOST_Rect bounds_rect;
372  GHOST_TInt32 mouse_xy[2];
373 
374  if (bounds) {
375  bounds_rect = GHOST_Rect(bounds[0], bounds[1], bounds[2], bounds[3]);
376  }
377  if (mouse_ungrab_xy) {
378  mouse_xy[0] = mouse_ungrab_xy[0];
379  mouse_xy[1] = mouse_ungrab_xy[1];
380  }
381 
382  return window->setCursorGrab(
383  mode, wrap_axis, bounds ? &bounds_rect : NULL, mouse_ungrab_xy ? mouse_xy : NULL);
384 }
385 
386 GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle,
388  int *isDown)
389 {
390  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
392  bool isdown = false;
393 
394  result = system->getModifierKeyState(mask, isdown);
395  *isDown = (int)isdown;
396 
397  return result;
398 }
399 
400 GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle,
402  int *isDown)
403 {
404  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
406  bool isdown = false;
407 
408  result = system->getButtonState(mask, isdown);
409  *isDown = (int)isdown;
410 
411  return result;
412 }
413 
414 #ifdef WITH_INPUT_NDOF
415 void GHOST_setNDOFDeadZone(float deadzone)
416 {
418  system->setNDOFDeadZone(deadzone);
419 }
420 #endif
421 
422 void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, GHOST_TInt8 canAccept)
423 {
424  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
425 
426  window->setAcceptDragOperation(canAccept);
427 }
428 
429 GHOST_TEventType GHOST_GetEventType(GHOST_EventHandle eventhandle)
430 {
431  GHOST_IEvent *event = (GHOST_IEvent *)eventhandle;
432 
433  return event->getType();
434 }
435 
436 GHOST_TUns64 GHOST_GetEventTime(GHOST_EventHandle eventhandle)
437 {
438  GHOST_IEvent *event = (GHOST_IEvent *)eventhandle;
439 
440  return event->getTime();
441 }
442 
443 GHOST_WindowHandle GHOST_GetEventWindow(GHOST_EventHandle eventhandle)
444 {
445  GHOST_IEvent *event = (GHOST_IEvent *)eventhandle;
446 
447  return (GHOST_WindowHandle)event->getWindow();
448 }
449 
450 GHOST_TEventDataPtr GHOST_GetEventData(GHOST_EventHandle eventhandle)
451 {
452  GHOST_IEvent *event = (GHOST_IEvent *)eventhandle;
453 
454  return event->getData();
455 }
456 
457 GHOST_TimerProcPtr GHOST_GetTimerProc(GHOST_TimerTaskHandle timertaskhandle)
458 {
459  GHOST_ITimerTask *timertask = (GHOST_ITimerTask *)timertaskhandle;
460 
461  return timertask->getTimerProc();
462 }
463 
464 void GHOST_SetTimerProc(GHOST_TimerTaskHandle timertaskhandle, GHOST_TimerProcPtr timerproc)
465 {
466  GHOST_ITimerTask *timertask = (GHOST_ITimerTask *)timertaskhandle;
467 
468  timertask->setTimerProc(timerproc);
469 }
470 
471 GHOST_TUserDataPtr GHOST_GetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle)
472 {
473  GHOST_ITimerTask *timertask = (GHOST_ITimerTask *)timertaskhandle;
474 
475  return timertask->getUserData();
476 }
477 
478 void GHOST_SetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle, GHOST_TUserDataPtr userdata)
479 {
480  GHOST_ITimerTask *timertask = (GHOST_ITimerTask *)timertaskhandle;
481 
482  timertask->setUserData(userdata);
483 }
484 
485 int GHOST_GetValid(GHOST_WindowHandle windowhandle)
486 {
487  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
488 
489  return (int)window->getValid();
490 }
491 
493 {
494  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
495 
496  return window->getDrawingContextType();
497 }
498 
499 GHOST_TSuccess GHOST_SetDrawingContextType(GHOST_WindowHandle windowhandle,
501 {
502  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
503 
504  return window->setDrawingContextType(type);
505 }
506 
507 void GHOST_SetTitle(GHOST_WindowHandle windowhandle, const char *title)
508 {
509  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
510 
511  window->setTitle(title);
512 }
513 
514 char *GHOST_GetTitle(GHOST_WindowHandle windowhandle)
515 {
516  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
517  std::string title = window->getTitle();
518 
519  char *ctitle = (char *)malloc(title.size() + 1);
520 
521  if (ctitle == NULL) {
522  return NULL;
523  }
524 
525  strcpy(ctitle, title.c_str());
526 
527  return ctitle;
528 }
529 
530 GHOST_RectangleHandle GHOST_GetWindowBounds(GHOST_WindowHandle windowhandle)
531 {
532  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
533  GHOST_Rect *rectangle = NULL;
534 
535  rectangle = new GHOST_Rect();
536  window->getWindowBounds(*rectangle);
537 
538  return (GHOST_RectangleHandle)rectangle;
539 }
540 
541 GHOST_RectangleHandle GHOST_GetClientBounds(GHOST_WindowHandle windowhandle)
542 {
543  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
544  GHOST_Rect *rectangle = NULL;
545 
546  rectangle = new GHOST_Rect();
547  window->getClientBounds(*rectangle);
548 
549  return (GHOST_RectangleHandle)rectangle;
550 }
551 
552 void GHOST_DisposeRectangle(GHOST_RectangleHandle rectanglehandle)
553 {
554  delete (GHOST_Rect *)rectanglehandle;
555 }
556 
557 GHOST_TSuccess GHOST_SetClientWidth(GHOST_WindowHandle windowhandle, GHOST_TUns32 width)
558 {
559  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
560 
561  return window->setClientWidth(width);
562 }
563 
564 GHOST_TSuccess GHOST_SetClientHeight(GHOST_WindowHandle windowhandle, GHOST_TUns32 height)
565 {
566  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
567 
568  return window->setClientHeight(height);
569 }
570 
571 GHOST_TSuccess GHOST_SetClientSize(GHOST_WindowHandle windowhandle,
574 {
575  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
576 
577  return window->setClientSize(width, height);
578 }
579 
580 void GHOST_ScreenToClient(GHOST_WindowHandle windowhandle,
581  GHOST_TInt32 inX,
582  GHOST_TInt32 inY,
583  GHOST_TInt32 *outX,
584  GHOST_TInt32 *outY)
585 {
586  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
587 
588  window->screenToClient(inX, inY, *outX, *outY);
589 }
590 
591 void GHOST_ClientToScreen(GHOST_WindowHandle windowhandle,
592  GHOST_TInt32 inX,
593  GHOST_TInt32 inY,
594  GHOST_TInt32 *outX,
595  GHOST_TInt32 *outY)
596 {
597  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
598 
599  window->clientToScreen(inX, inY, *outX, *outY);
600 }
601 
602 GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle)
603 {
604  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
605 
606  return window->getState();
607 }
608 
610 {
611  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
612 
613  return window->setState(state);
614 }
615 
616 GHOST_TSuccess GHOST_SetWindowModifiedState(GHOST_WindowHandle windowhandle,
617  GHOST_TUns8 isUnsavedChanges)
618 {
619  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
620 
621  return window->setModifiedState(isUnsavedChanges);
622 }
623 
625 {
626  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
627 
628  return window->setOrder(order);
629 }
630 
631 GHOST_TSuccess GHOST_SwapWindowBuffers(GHOST_WindowHandle windowhandle)
632 {
633  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
634 
635  return window->swapBuffers();
636 }
637 
638 GHOST_TSuccess GHOST_SetSwapInterval(GHOST_WindowHandle windowhandle, int interval)
639 {
640  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
641 
642  return window->setSwapInterval(interval);
643 }
644 
645 GHOST_TSuccess GHOST_GetSwapInterval(GHOST_WindowHandle windowhandle, int *intervalOut)
646 {
647  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
648 
649  return window->getSwapInterval(*intervalOut);
650 }
651 
652 GHOST_TSuccess GHOST_ActivateWindowDrawingContext(GHOST_WindowHandle windowhandle)
653 {
654  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
655 
656  return window->activateDrawingContext();
657 }
658 
659 GHOST_TSuccess GHOST_ActivateOpenGLContext(GHOST_ContextHandle contexthandle)
660 {
661  GHOST_IContext *context = (GHOST_IContext *)contexthandle;
662  if (context) {
663  return context->activateDrawingContext();
664  }
665  else {
666  GHOST_PRINTF("%s: Context not valid\n", __func__);
667  return GHOST_kFailure;
668  }
669 }
670 
671 GHOST_TSuccess GHOST_ReleaseOpenGLContext(GHOST_ContextHandle contexthandle)
672 {
673  GHOST_IContext *context = (GHOST_IContext *)contexthandle;
674 
675  return context->releaseDrawingContext();
676 }
677 
678 unsigned int GHOST_GetContextDefaultOpenGLFramebuffer(GHOST_ContextHandle contexthandle)
679 {
680  GHOST_IContext *context = (GHOST_IContext *)contexthandle;
681 
682  return context->getDefaultFramebuffer();
683 }
684 
685 unsigned int GHOST_GetDefaultOpenGLFramebuffer(GHOST_WindowHandle windowhandle)
686 {
687  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
688 
689  return window->getDefaultFramebuffer();
690 }
691 
692 GHOST_TSuccess GHOST_InvalidateWindow(GHOST_WindowHandle windowhandle)
693 {
694  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
695 
696  return window->invalidate();
697 }
698 
699 void GHOST_SetTabletAPI(GHOST_SystemHandle systemhandle, GHOST_TTabletAPI api)
700 {
701  GHOST_ISystem *system = (GHOST_ISystem *)systemhandle;
702  system->setTabletAPI(api);
703 }
704 
705 GHOST_TInt32 GHOST_GetWidthRectangle(GHOST_RectangleHandle rectanglehandle)
706 {
707  return ((GHOST_Rect *)rectanglehandle)->getWidth();
708 }
709 
710 GHOST_TInt32 GHOST_GetHeightRectangle(GHOST_RectangleHandle rectanglehandle)
711 {
712  return ((GHOST_Rect *)rectanglehandle)->getHeight();
713 }
714 
715 void GHOST_GetRectangle(GHOST_RectangleHandle rectanglehandle,
716  GHOST_TInt32 *l,
717  GHOST_TInt32 *t,
718  GHOST_TInt32 *r,
719  GHOST_TInt32 *b)
720 {
721  GHOST_Rect *rect = (GHOST_Rect *)rectanglehandle;
722 
723  *l = rect->m_l;
724  *t = rect->m_t;
725  *r = rect->m_r;
726  *b = rect->m_b;
727 }
728 
729 void GHOST_SetRectangle(GHOST_RectangleHandle rectanglehandle,
730  GHOST_TInt32 l,
731  GHOST_TInt32 t,
732  GHOST_TInt32 r,
733  GHOST_TInt32 b)
734 {
735  ((GHOST_Rect *)rectanglehandle)->set(l, t, r, b);
736 }
737 
738 GHOST_TSuccess GHOST_IsEmptyRectangle(GHOST_RectangleHandle rectanglehandle)
739 {
741 
742  if (((GHOST_Rect *)rectanglehandle)->isEmpty())
744 
745  return result;
746 }
747 
748 GHOST_TSuccess GHOST_IsValidRectangle(GHOST_RectangleHandle rectanglehandle)
749 {
751 
752  if (((GHOST_Rect *)rectanglehandle)->isValid())
754 
755  return result;
756 }
757 
758 void GHOST_InsetRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 i)
759 {
760  ((GHOST_Rect *)rectanglehandle)->inset(i);
761 }
762 
763 void GHOST_UnionRectangle(GHOST_RectangleHandle rectanglehandle,
764  GHOST_RectangleHandle anotherrectanglehandle)
765 {
766  ((GHOST_Rect *)rectanglehandle)->unionRect(*(GHOST_Rect *)anotherrectanglehandle);
767 }
768 
769 void GHOST_UnionPointRectangle(GHOST_RectangleHandle rectanglehandle,
770  GHOST_TInt32 x,
771  GHOST_TInt32 y)
772 {
773  ((GHOST_Rect *)rectanglehandle)->unionPoint(x, y);
774 }
775 
776 GHOST_TSuccess GHOST_IsInsideRectangle(GHOST_RectangleHandle rectanglehandle,
777  GHOST_TInt32 x,
778  GHOST_TInt32 y)
779 {
781 
782  if (((GHOST_Rect *)rectanglehandle)->isInside(x, y))
784 
785  return result;
786 }
787 
788 GHOST_TVisibility GHOST_GetRectangleVisibility(GHOST_RectangleHandle rectanglehandle,
789  GHOST_RectangleHandle anotherrectanglehandle)
790 {
792 
793  visible = ((GHOST_Rect *)rectanglehandle)->getVisibility(*(GHOST_Rect *)anotherrectanglehandle);
794 
795  return visible;
796 }
797 
798 void GHOST_SetCenterRectangle(GHOST_RectangleHandle rectanglehandle,
799  GHOST_TInt32 cx,
800  GHOST_TInt32 cy)
801 {
802  ((GHOST_Rect *)rectanglehandle)->setCenter(cx, cy);
803 }
804 
805 void GHOST_SetRectangleCenter(GHOST_RectangleHandle rectanglehandle,
806  GHOST_TInt32 cx,
807  GHOST_TInt32 cy,
808  GHOST_TInt32 w,
809  GHOST_TInt32 h)
810 {
811  ((GHOST_Rect *)rectanglehandle)->setCenter(cx, cy, w, h);
812 }
813 
814 GHOST_TSuccess GHOST_ClipRectangle(GHOST_RectangleHandle rectanglehandle,
815  GHOST_RectangleHandle anotherrectanglehandle)
816 {
818 
819  if (((GHOST_Rect *)rectanglehandle)->clip(*(GHOST_Rect *)anotherrectanglehandle))
821 
822  return result;
823 }
824 
826 {
828  return system->getClipboard(selection);
829 }
830 
831 void GHOST_putClipboard(GHOST_TInt8 *buffer, int selection)
832 {
834  system->putClipboard(buffer, selection);
835 }
836 
837 int GHOST_toggleConsole(int action)
838 {
840  return system->toggleConsole(action);
841 }
842 
844 {
846  return system->useNativePixel();
847 }
848 
849 void GHOST_UseWindowFocus(int use_focus)
850 {
852  return system->useWindowFocus(use_focus);
853 }
854 
855 float GHOST_GetNativePixelSize(GHOST_WindowHandle windowhandle)
856 {
857  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
858  if (window)
859  return window->getNativePixelSize();
860  return 1.0f;
861 }
862 
863 GHOST_TUns16 GHOST_GetDPIHint(GHOST_WindowHandle windowhandle)
864 {
865  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
866  return window->getDPIHint();
867 }
868 
869 #ifdef WITH_INPUT_IME
870 
871 void GHOST_BeginIME(GHOST_WindowHandle windowhandle,
872  GHOST_TInt32 x,
873  GHOST_TInt32 y,
874  GHOST_TInt32 w,
875  GHOST_TInt32 h,
876  int complete)
877 {
878  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
879  window->beginIME(x, y, w, h, complete);
880 }
881 
882 void GHOST_EndIME(GHOST_WindowHandle windowhandle)
883 {
884  GHOST_IWindow *window = (GHOST_IWindow *)windowhandle;
885  window->endIME();
886 }
887 
888 #endif /* WITH_INPUT_IME */
889 
890 #ifdef WITH_XR_OPENXR
891 
892 # define GHOST_XR_CAPI_CALL(call, ctx) \
893  try { \
894  call; \
895  } \
896  catch (GHOST_XrException & e) { \
897  (ctx)->dispatchErrorMessage(&e); \
898  }
899 
900 # define GHOST_XR_CAPI_CALL_RET(call, ctx) \
901  try { \
902  return call; \
903  } \
904  catch (GHOST_XrException & e) { \
905  (ctx)->dispatchErrorMessage(&e); \
906  }
907 
908 void GHOST_XrSessionStart(GHOST_XrContextHandle xr_contexthandle,
909  const GHOST_XrSessionBeginInfo *begin_info)
910 {
911  GHOST_IXrContext *xr_context = (GHOST_IXrContext *)xr_contexthandle;
912  GHOST_XR_CAPI_CALL(xr_context->startSession(begin_info), xr_context);
913 }
914 
915 void GHOST_XrSessionEnd(GHOST_XrContextHandle xr_contexthandle)
916 {
917  GHOST_IXrContext *xr_context = (GHOST_IXrContext *)xr_contexthandle;
918  GHOST_XR_CAPI_CALL(xr_context->endSession(), xr_context);
919 }
920 
921 void GHOST_XrSessionDrawViews(GHOST_XrContextHandle xr_contexthandle, void *draw_customdata)
922 {
923  GHOST_IXrContext *xr_context = (GHOST_IXrContext *)xr_contexthandle;
924  GHOST_XR_CAPI_CALL(xr_context->drawSessionViews(draw_customdata), xr_context);
925 }
926 
927 int GHOST_XrSessionIsRunning(const GHOST_XrContextHandle xr_contexthandle)
928 {
929  const GHOST_IXrContext *xr_context = (const GHOST_IXrContext *)xr_contexthandle;
930  GHOST_XR_CAPI_CALL_RET(xr_context->isSessionRunning(), xr_context);
931  return 0; /* Only reached if exception is thrown. */
932 }
933 
934 void GHOST_XrGraphicsContextBindFuncs(GHOST_XrContextHandle xr_contexthandle,
935  GHOST_XrGraphicsContextBindFn bind_fn,
936  GHOST_XrGraphicsContextUnbindFn unbind_fn)
937 {
938  GHOST_IXrContext *xr_context = (GHOST_IXrContext *)xr_contexthandle;
939  GHOST_XR_CAPI_CALL(xr_context->setGraphicsContextBindFuncs(bind_fn, unbind_fn), xr_context);
940 }
941 
942 void GHOST_XrDrawViewFunc(GHOST_XrContextHandle xr_contexthandle, GHOST_XrDrawViewFn draw_view_fn)
943 {
944  GHOST_IXrContext *xr_context = (GHOST_IXrContext *)xr_contexthandle;
945  GHOST_XR_CAPI_CALL(xr_context->setDrawViewFunc(draw_view_fn), xr_context);
946 }
947 
948 int GHOST_XrSessionNeedsUpsideDownDrawing(const GHOST_XrContextHandle xr_contexthandle)
949 {
950  GHOST_IXrContext *xr_context = (GHOST_IXrContext *)xr_contexthandle;
951 
952  GHOST_XR_CAPI_CALL_RET(xr_context->needsUpsideDownDrawing(), xr_context);
953  return 0; /* Only reached if exception is thrown. */
954 }
955 
956 #endif
int GHOST_GetFullScreen(GHOST_SystemHandle systemhandle)
int GHOST_ProcessEvents(GHOST_SystemHandle systemhandle, int waitForEvent)
GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, GHOST_TGrabCursorMode mode, GHOST_TAxisFlag wrap_axis, int bounds[4], const int mouse_ungrab_xy[2])
GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle)
char * GHOST_GetTitle(GHOST_WindowHandle windowhandle)
GHOST_TVisibility GHOST_GetRectangleVisibility(GHOST_RectangleHandle rectanglehandle, GHOST_RectangleHandle anotherrectanglehandle)
void GHOST_UseWindowFocus(int use_focus)
GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle, GHOST_TButtonMask mask, int *isDown)
GHOST_TSuccess GHOST_SetWindowOrder(GHOST_WindowHandle windowhandle, GHOST_TWindowOrder order)
GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandle)
void GHOST_GetAllDisplayDimensions(GHOST_SystemHandle systemhandle, GHOST_TUns32 *width, GHOST_TUns32 *height)
GHOST_TInt32 GHOST_GetHeightRectangle(GHOST_RectangleHandle rectanglehandle)
void GHOST_ShowMessageBox(GHOST_SystemHandle systemhandle, const char *title, const char *message, const char *help_label, const char *continue_label, const char *link, GHOST_DialogOptions dialog_options)
Definition: GHOST_C-api.cpp:62
void GHOST_ScreenToClient(GHOST_WindowHandle windowhandle, GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32 *outX, GHOST_TInt32 *outY)
GHOST_TUns16 GHOST_GetDPIHint(GHOST_WindowHandle windowhandle)
void GHOST_UnionRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_RectangleHandle anotherrectanglehandle)
void GHOST_putClipboard(GHOST_TInt8 *buffer, int selection)
GHOST_SystemHandle GHOST_CreateSystem(void)
Definition: GHOST_C-api.cpp:40
GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle, GHOST_EventConsumerHandle consumerhandle)
GHOST_TimerProcPtr GHOST_GetTimerProc(GHOST_TimerTaskHandle timertaskhandle)
int GHOST_UseNativePixels(void)
void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr userdata)
GHOST_TSuccess GHOST_RemoveEventConsumer(GHOST_SystemHandle systemhandle, GHOST_EventConsumerHandle consumerhandle)
GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, int visible)
GHOST_WindowHandle GHOST_CreateWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle parent_windowhandle, const char *title, GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, GHOST_TWindowState state, bool is_dialog, GHOST_TDrawingContextType type, GHOST_GLSettings glSettings)
GHOST_TSuccess GHOST_IsEmptyRectangle(GHOST_RectangleHandle rectanglehandle)
GHOST_TSuccess GHOST_SetClientSize(GHOST_WindowHandle windowhandle, GHOST_TUns32 width, GHOST_TUns32 height)
GHOST_TUns8 GHOST_GetNumDisplays(GHOST_SystemHandle systemhandle)
void GHOST_DisposeRectangle(GHOST_RectangleHandle rectanglehandle)
void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, GHOST_TInt8 canAccept)
void GHOST_SetTitle(GHOST_WindowHandle windowhandle, const char *title)
GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandle)
int GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_SetCursorShape(GHOST_WindowHandle windowhandle, GHOST_TStandardCursor cursorshape)
GHOST_TSuccess GHOST_ClipRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_RectangleHandle anotherrectanglehandle)
GHOST_TSuccess GHOST_DisposeEventConsumer(GHOST_EventConsumerHandle consumerhandle)
Definition: GHOST_C-api.cpp:80
GHOST_RectangleHandle GHOST_GetWindowBounds(GHOST_WindowHandle windowhandle)
void GHOST_SetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle, GHOST_TUserDataPtr userdata)
GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, float progress)
GHOST_TUserDataPtr GHOST_GetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle)
GHOST_TSuccess GHOST_ReleaseOpenGLContext(GHOST_ContextHandle contexthandle)
GHOST_TSuccess GHOST_EndFullScreen(GHOST_SystemHandle systemhandle)
GHOST_TSuccess GHOST_InvalidateWindow(GHOST_WindowHandle windowhandle)
void GHOST_SystemInitDebug(GHOST_SystemHandle systemhandle, int is_debug_enabled)
Definition: GHOST_C-api.cpp:48
void GHOST_GetRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 *l, GHOST_TInt32 *t, GHOST_TInt32 *r, GHOST_TInt32 *b)
GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle)
void GHOST_SetRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 l, GHOST_TInt32 t, GHOST_TInt32 r, GHOST_TInt32 b)
void GHOST_SetCenterRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 cx, GHOST_TInt32 cy)
GHOST_TSuccess GHOST_GetSwapInterval(GHOST_WindowHandle windowhandle, int *intervalOut)
void GHOST_SetTimerProc(GHOST_TimerTaskHandle timertaskhandle, GHOST_TimerProcPtr timerproc)
GHOST_TSuccess GHOST_DisposeOpenGLContext(GHOST_SystemHandle systemhandle, GHOST_ContextHandle contexthandle)
unsigned int GHOST_GetContextDefaultOpenGLFramebuffer(GHOST_ContextHandle contexthandle)
GHOST_TSuccess GHOST_SetWindowState(GHOST_WindowHandle windowhandle, GHOST_TWindowState state)
GHOST_TSuccess GHOST_ActivateOpenGLContext(GHOST_ContextHandle contexthandle)
GHOST_TSuccess GHOST_IsInsideRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 x, GHOST_TInt32 y)
GHOST_TSuccess GHOST_RemoveTimer(GHOST_SystemHandle systemhandle, GHOST_TimerTaskHandle timertaskhandle)
GHOST_TUns8 * GHOST_getClipboard(int selection)
void GHOST_SetTabletAPI(GHOST_SystemHandle systemhandle, GHOST_TTabletAPI api)
void GHOST_InsetRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 i)
GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle, GHOST_TInt32 x, GHOST_TInt32 y)
GHOST_TInt32 GHOST_GetWidthRectangle(GHOST_RectangleHandle rectanglehandle)
GHOST_TSuccess GHOST_SwapWindowBuffers(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_GetCursorPosition(GHOST_SystemHandle systemhandle, GHOST_TInt32 *x, GHOST_TInt32 *y)
int GHOST_GetValid(GHOST_WindowHandle windowhandle)
GHOST_TEventDataPtr GHOST_GetEventData(GHOST_EventHandle eventhandle)
GHOST_WindowHandle GHOST_BeginFullScreen(GHOST_SystemHandle systemhandle, GHOST_DisplaySetting *setting, const int stereoVisual)
GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle, GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, int sizex, int sizey, int hotX, int hotY, GHOST_TUns8 canInvertColor)
GHOST_TSuccess GHOST_ActivateWindowDrawingContext(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, GHOST_TModifierKeyMask mask, int *isDown)
void GHOST_UnionPointRectangle(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 x, GHOST_TInt32 y)
float GHOST_GetNativePixelSize(GHOST_WindowHandle windowhandle)
GHOST_TEventType GHOST_GetEventType(GHOST_EventHandle eventhandle)
void GHOST_ClientToScreen(GHOST_WindowHandle windowhandle, GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32 *outX, GHOST_TInt32 *outY)
GHOST_WindowHandle GHOST_GetEventWindow(GHOST_EventHandle eventhandle)
GHOST_TimerTaskHandle GHOST_InstallTimer(GHOST_SystemHandle systemhandle, GHOST_TUns64 delay, GHOST_TUns64 interval, GHOST_TimerProcPtr timerproc, GHOST_TUserDataPtr userdata)
Definition: GHOST_C-api.cpp:93
void GHOST_SetRectangleCenter(GHOST_RectangleHandle rectanglehandle, GHOST_TInt32 cx, GHOST_TInt32 cy, GHOST_TInt32 w, GHOST_TInt32 h)
int GHOST_toggleConsole(int action)
GHOST_TDrawingContextType GHOST_GetDrawingContextType(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_HasCursorShape(GHOST_WindowHandle windowhandle, GHOST_TStandardCursor cursorshape)
GHOST_TSuccess GHOST_IsValidRectangle(GHOST_RectangleHandle rectanglehandle)
void GHOST_DispatchEvents(GHOST_SystemHandle systemhandle)
GHOST_ContextHandle GHOST_CreateOpenGLContext(GHOST_SystemHandle systemhandle, GHOST_GLSettings glSettings)
void GHOST_GetMainDisplayDimensions(GHOST_SystemHandle systemhandle, GHOST_TUns32 *width, GHOST_TUns32 *height)
GHOST_TSuccess GHOST_SetDrawingContextType(GHOST_WindowHandle windowhandle, GHOST_TDrawingContextType type)
GHOST_TSuccess GHOST_SetWindowModifiedState(GHOST_WindowHandle windowhandle, GHOST_TUns8 isUnsavedChanges)
GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_SetClientHeight(GHOST_WindowHandle windowhandle, GHOST_TUns32 height)
GHOST_EventConsumerHandle GHOST_CreateEventConsumer(GHOST_EventCallbackProcPtr eventCallback, GHOST_TUserDataPtr userdata)
Definition: GHOST_C-api.cpp:74
GHOST_TSuccess GHOST_SetSwapInterval(GHOST_WindowHandle windowhandle, int interval)
GHOST_TUns64 GHOST_GetEventTime(GHOST_EventHandle eventhandle)
unsigned int GHOST_GetDefaultOpenGLFramebuffer(GHOST_WindowHandle windowhandle)
GHOST_RectangleHandle GHOST_GetClientBounds(GHOST_WindowHandle windowhandle)
int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle)
Definition: GHOST_C-api.cpp:55
GHOST_TSuccess GHOST_SetClientWidth(GHOST_WindowHandle windowhandle, GHOST_TUns32 width)
int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle)
GHOST_TUns64 GHOST_GetMilliSeconds(GHOST_SystemHandle systemhandle)
Definition: GHOST_C-api.cpp:86
GHOST C-API function and type declarations.
void GHOST_BeginIME(GHOST_WindowHandle windowhandle, GHOST_TInt32 x, GHOST_TInt32 y, GHOST_TInt32 w, GHOST_TInt32 h, int complete)
int(* GHOST_EventCallbackProcPtr)(GHOST_EventHandle event, GHOST_TUserDataPtr userdata)
Definition: GHOST_C-api.h:39
void GHOST_EndIME(GHOST_WindowHandle windowhandle)
#define GHOST_PRINTF(x,...)
Definition: GHOST_Debug.h:52
GHOST_TWindowState
Definition: GHOST_Types.h:144
void * GHOST_TUserDataPtr
Definition: GHOST_Types.h:89
GHOST_TStandardCursor
Definition: GHOST_Types.h:222
unsigned int GHOST_TUns32
Definition: GHOST_Types.h:64
unsigned long long GHOST_TUns64
Definition: GHOST_Types.h:86
GHOST_TEventType
Definition: GHOST_Types.h:177
void(* GHOST_TimerProcPtr)(struct GHOST_TimerTaskHandle__ *task, GHOST_TUns64 time)
Definition: GHOST_Types.h:608
int GHOST_TInt32
Definition: GHOST_Types.h:63
GHOST_TVisibility
Definition: GHOST_Types.h:125
@ GHOST_kNotVisible
Definition: GHOST_Types.h:126
GHOST_TAxisFlag
Definition: GHOST_Types.h:423
unsigned short GHOST_TUns16
Definition: GHOST_Types.h:62
void * GHOST_TEventDataPtr
Definition: GHOST_Types.h:430
GHOST_TDrawingContextType
Definition: GHOST_Types.h:156
GHOST_TButtonMask
Definition: GHOST_Types.h:164
char GHOST_TInt8
Definition: GHOST_Types.h:59
GHOST_TWindowOrder
Definition: GHOST_Types.h:154
GHOST_TSuccess
Definition: GHOST_Types.h:91
@ GHOST_kFailure
Definition: GHOST_Types.h:91
@ GHOST_kSuccess
Definition: GHOST_Types.h:91
GHOST_TModifierKeyMask
Definition: GHOST_Types.h:133
GHOST_TGrabCursorMode
Definition: GHOST_Types.h:412
unsigned char GHOST_TUns8
Definition: GHOST_Types.h:60
GHOST_TTabletAPI
Definition: GHOST_Types.h:106
GHOST_DialogOptions
Definition: GHOST_Types.h:76
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble top
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint order
ATTR_WARN_UNUSED_RESULT const BMLoop * l
virtual bool isInside(const btVector3 &pt, btScalar tolerance) const
Definition: btBox2dShape.h:284
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
Definition: btDbvt.cpp:299
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
Definition: btQuadWord.h:119
virtual GHOST_IWindow * getWindow()=0
virtual GHOST_TEventDataPtr getData()=0
virtual GHOST_TEventType getType()=0
virtual GHOST_TUns64 getTime()=0
virtual GHOST_TUns8 * getClipboard(bool selection) const =0
virtual void getMainDisplayDimensions(GHOST_TUns32 &width, GHOST_TUns32 &height) const =0
static GHOST_ISystem * getSystem()
virtual GHOST_TSuccess showMessageBox(const char *, const char *, const char *, const char *, const char *, GHOST_DialogOptions) const =0
virtual GHOST_TUns8 getNumDisplays() const =0
virtual GHOST_TUns64 getMilliSeconds() const =0
virtual void setTabletAPI(GHOST_TTabletAPI api)=0
virtual GHOST_TSuccess beginFullScreen(const GHOST_DisplaySetting &setting, GHOST_IWindow **window, const bool stereoVisual, const bool alphaBackground=0)=0
virtual void getAllDisplayDimensions(GHOST_TUns32 &width, GHOST_TUns32 &height) const =0
virtual bool validWindow(GHOST_IWindow *window)=0
virtual GHOST_TSuccess getCursorPosition(GHOST_TInt32 &x, GHOST_TInt32 &y) const =0
virtual GHOST_IWindow * createWindow(const char *title, GHOST_TInt32 left, GHOST_TInt32 top, GHOST_TUns32 width, GHOST_TUns32 height, GHOST_TWindowState state, GHOST_TDrawingContextType type, GHOST_GLSettings glSettings, const bool exclusive=false, const bool is_dialog=false, const GHOST_IWindow *parentWindow=NULL)=0
virtual GHOST_TSuccess addEventConsumer(GHOST_IEventConsumer *consumer)=0
virtual GHOST_TSuccess getButtonState(GHOST_TButtonMask mask, bool &isDown) const =0
virtual GHOST_IContext * createOffscreenContext(GHOST_GLSettings glSettings)=0
virtual void useWindowFocus(const bool use_focus)=0
virtual GHOST_TSuccess disposeContext(GHOST_IContext *context)=0
virtual GHOST_TSuccess removeTimer(GHOST_ITimerTask *timerTask)=0
static GHOST_TSuccess disposeSystem()
virtual bool getFullScreen(void)=0
virtual GHOST_TSuccess setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y)=0
static GHOST_TSuccess createSystem()
virtual void dispatchEvents()=0
virtual GHOST_ITimerTask * installTimer(GHOST_TUns64 delay, GHOST_TUns64 interval, GHOST_TimerProcPtr timerProc, GHOST_TUserDataPtr userData=NULL)=0
virtual int toggleConsole(int action)=0
virtual void putClipboard(GHOST_TInt8 *buffer, bool selection) const =0
virtual GHOST_TSuccess endFullScreen(void)=0
virtual GHOST_TSuccess getModifierKeyState(GHOST_TModifierKeyMask mask, bool &isDown) const =0
virtual bool useNativePixel(void)=0
virtual GHOST_TSuccess disposeWindow(GHOST_IWindow *window)=0
virtual void initDebug(bool is_debug_enabled)=0
virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer *consumer)=0
virtual bool processEvents(bool waitForEvent)=0
virtual GHOST_TUserDataPtr getUserData() const =0
virtual void setTimerProc(const GHOST_TimerProcPtr timerProc)=0
virtual GHOST_TimerProcPtr getTimerProc() const =0
virtual void setUserData(const GHOST_TUserDataPtr userData)=0
virtual void setTitle(const char *title)=0
virtual void getClientBounds(GHOST_Rect &bounds) const =0
virtual void setAcceptDragOperation(bool canAccept)=0
virtual GHOST_TSuccess activateDrawingContext()=0
virtual GHOST_TSuccess setCustomCursorShape(GHOST_TUns8 *bitmap, GHOST_TUns8 *mask, int sizex, int sizey, int hotX, int hotY, bool canInvertColor)=0
virtual GHOST_TSuccess endProgressBar()=0
virtual GHOST_TSuccess setClientWidth(GHOST_TUns32 width)=0
virtual GHOST_TSuccess setOrder(GHOST_TWindowOrder order)=0
virtual GHOST_TSuccess setClientSize(GHOST_TUns32 width, GHOST_TUns32 height)=0
virtual GHOST_TSuccess setProgressBar(float progress)=0
virtual bool isDialog() const =0
virtual std::string getTitle() const =0
virtual GHOST_TSuccess setState(GHOST_TWindowState state)=0
virtual void screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32 &outX, GHOST_TInt32 &outY) const =0
virtual GHOST_TSuccess getSwapInterval(int &intervalOut)=0
virtual GHOST_TSuccess setCursorShape(GHOST_TStandardCursor cursorShape)=0
virtual GHOST_TSuccess setModifiedState(bool isUnsavedChanges)=0
virtual GHOST_TSuccess setCursorGrab(GHOST_TGrabCursorMode, GHOST_TAxisFlag, GHOST_Rect *, GHOST_TInt32[2])
virtual GHOST_TSuccess setCursorVisibility(bool visible)=0
virtual GHOST_TSuccess setClientHeight(GHOST_TUns32 height)=0
virtual void getWindowBounds(GHOST_Rect &bounds) const =0
virtual GHOST_TSuccess hasCursorShape(GHOST_TStandardCursor cursorShape)=0
virtual GHOST_TUns16 getDPIHint()=0
virtual bool getCursorVisibility() const =0
virtual GHOST_TSuccess setDrawingContextType(GHOST_TDrawingContextType type)=0
virtual bool getValid() const =0
virtual float getNativePixelSize(void)=0
virtual GHOST_TSuccess setSwapInterval(int interval)=0
virtual GHOST_TUserDataPtr getUserData() const =0
virtual GHOST_TSuccess invalidate()=0
virtual void setUserData(const GHOST_TUserDataPtr userData)=0
virtual GHOST_TDrawingContextType getDrawingContextType()=0
virtual GHOST_TSuccess swapBuffers()=0
virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32 &outX, GHOST_TInt32 &outY) const =0
virtual GHOST_TStandardCursor getCursorShape() const =0
virtual GHOST_TWindowState getState() const =0
virtual unsigned int getDefaultFramebuffer()=0
virtual void endSession()=0
virtual void startSession(const GHOST_XrSessionBeginInfo *begin_info)=0
virtual bool needsUpsideDownDrawing() const =0
virtual void setGraphicsContextBindFuncs(GHOST_XrGraphicsContextBindFn bind_fn, GHOST_XrGraphicsContextUnbindFn unbind_fn)=0
virtual void drawSessionViews(void *draw_customdata)=0
virtual bool isSessionRunning() const =0
virtual void setDrawViewFunc(GHOST_XrDrawViewFn draw_view_fn)=0
GHOST_TInt32 m_l
Definition: GHOST_Rect.h:169
GHOST_TInt32 m_t
Definition: GHOST_Rect.h:171
GHOST_TInt32 m_r
Definition: GHOST_Rect.h:173
GHOST_TInt32 m_b
Definition: GHOST_Rect.h:175
__kernel void ccl_constant KernelData ccl_global void ccl_global char ccl_global int ccl_global char ccl_global unsigned int ccl_global float * buffer
static ulong state[N]
static int left
struct SELECTID_Context context
Definition: select_engine.c:47
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)