109 #define GHOST_WINDOW_STATE_DEFAULT GHOST_kWindowStateMaximized
127 .window_focus =
true,
128 .native_pixels =
true,
142 unsigned int uiwidth;
143 unsigned int uiheight;
147 *r_height = uiheight;
153 unsigned int uiwidth;
154 unsigned int uiheight;
158 *r_height = uiheight;
218 if (wt->win == win && wt->event_type ==
TIMERJOBS) {
225 if (wt->win == win) {
255 if (id <= win->winid) {
282 const bool duplicate_layout,
291 win_dst->posx = win_src->
posx + 10;
292 win_dst->posy = win_src->
posy;
293 win_dst->sizex = win_src->
sizex;
294 win_dst->sizey = win_src->
sizey;
296 win_dst->scene = win_src->
scene;
300 bmain, workspace, layout_old, win_dst) :
315 const bool duplicate_layout,
394 for (win_other = wm->
windows.
first; win_other; win_other = win_other->
next) {
407 if (iter_win->parent == win) {
431 if (screen && screen->
temp) {
455 G_MAIN->recovered ?
" (Recovered)" :
"");
476 auto_dpi =
max_ff(auto_dpi, 96.0f);
480 if (
U.ui_scale == 0) {
484 U.ui_scale = virtual_pixel;
487 U.ui_scale = (virtual_pixel *
U.dpi * 96.0f) / (auto_dpi * 72.0f);
490 CLAMP(
U.ui_scale, 0.25f, 4.0f);
497 int dpi = auto_dpi *
U.ui_scale * (72.0 / 96.0f);
500 int pixelsize =
max_ii(1, (
int)(dpi / 64));
502 pixelsize =
max_ii(1, pixelsize +
U.ui_line_width);
505 U.pixelsize = pixelsize;
506 U.dpi = dpi / pixelsize;
508 U.dpi_fac = ((
U.pixelsize * (
float)
U.dpi) / 72.0f);
509 U.inv_dpi_fac = 1.0f /
U.dpi_fac;
512 U.widget_unit = (
U.pixelsize *
U.dpi * 20 + 36) / 72;
514 U.widget_unit += 2 * ((int)
U.pixelsize - (
int)
U.dpi_fac);
554 int posy = (scr_h - win->
posy - win->
sizey);
725 if (win->ghostwin ==
NULL) {
745 int posy = scr_h -
t - win->
sizey;
747 if (win->
sizex != sizex || win->
sizey != sizey || win->
posx != posx || win->
posy != posy) {
784 rect.
xmin = win_prev->
posx + (
x / native_pixel_size);
785 rect.
ymin = win_prev->
posy + (
y / native_pixel_size);
786 sizex /= native_pixel_size;
787 sizey /= native_pixel_size;
791 rect.
xmin -= sizex / 2;
792 rect.
ymin -= sizey / 2;
796 rect.
xmin += (win_prev->
sizex - sizex) / 2;
797 rect.
ymin += (win_prev->
sizey - sizey) / 2;
815 if (
STREQ(title, wintitle)) {
841 if (screen ==
NULL) {
923 win_src->
sizex * 0.95f,
924 win_src->
sizey * 0.9f,
1063 printf(
"%s: set drawable %d\n", __func__, win->
winid);
1139 puts(
"<!> event has no window");
1145 puts(
"<!> event has invalid window");
1191 if ((keymodifier &
KM_SHIFT) == 0) {
1196 #ifdef USE_WIN_ACTIVATE
1204 if ((keymodifier &
KM_CTRL) == 0) {
1209 #ifdef USE_WIN_ACTIVATE
1217 if ((keymodifier &
KM_ALT) == 0) {
1222 #ifdef USE_WIN_ACTIVATE
1224 if (keymodifier &
KM_ALT) {
1230 if ((keymodifier &
KM_OSKEY) == 0) {
1235 #ifdef USE_WIN_ACTIVATE
1243 #undef USE_WIN_ACTIVATE
1267 event.prevx =
event.x;
1268 event.prevy =
event.y;
1269 event.is_repeat =
false;
1281 printf(
"%s: ghost redraw %d\n", __func__, win->
winid);
1311 const char *state_str;
1315 state_str =
"normal";
1318 state_str =
"minimized";
1321 state_str =
"maximized";
1324 state_str =
"fullscreen";
1327 state_str =
"<unknown>";
1330 printf(
"%s: window %d state = %s\n", __func__, win->
winid, state_str);
1333 printf(
"win move event pos %d %d size %d %d\n",
1346 #if defined(__APPLE__) || defined(WIN32)
1399 event.prevx =
event.x;
1400 event.prevy =
event.y;
1401 event.is_repeat =
false;
1414 event.customdata = &wm->
drags;
1415 event.customdatafree = 1;
1426 for (
int a = 0;
a < stra->
count;
a++) {
1427 printf(
"drop file %s\n", stra->
strings[
a]);
1441 float prev_pixelsize =
U.pixelsize;
1444 if (
U.pixelsize != prev_pixelsize) {
1512 if (wt->sleep != 0) {
1516 if (
time > wt->ntime) {
1517 wt->delta =
time - wt->ltime;
1518 wt->duration += wt->delta;
1520 wt->ntime = wt->stime + wt->timestep *
ceil(wt->duration / wt->timestep);
1535 event.type = wt->event_type;
1537 event.keymodifier = 0;
1538 event.is_repeat =
false;
1540 event.customdata = wt;
1560 #ifdef WITH_XR_OPENXR
1567 if (hasevent == 0) {
1583 GHOST_EventConsumerHandle consumer;
1626 wt->sleep = do_sleep;
1674 if (timer_iter == timer) {
1695 if (event->customdata == wt) {
1696 event->customdata =
NULL;
1729 char *newbuf =
MEM_mallocN(strlen(buf) + 1, __func__);
1734 for (
char *p = buf; *p; p++) {
1735 if (!
ELEM(*p,
'\n',
'\r')) {
1744 for (
char *p = buf; *p; p++) {
1755 *r_len = (p2 - newbuf);
1780 if (!
G.background) {
1787 for (p = buf; *p; p++) {
1796 newbuf =
MEM_callocN(newlen + 1,
"WM_clipboard_text_set");
1798 for (p = buf, p2 = newbuf; *p; p++, p2++) {
1846 *r_pos_x = win->
posx;
1847 *r_pos_y = win->
posy;
1905 const int screen_pos[2],
1909 r_desk_pos[0] = screen_pos[0] + (int)(
U.pixelsize * win->
posx);
1910 r_desk_pos[1] = screen_pos[1] + (int)(
U.pixelsize * win->
posy);
1914 const int desktop_pos[2],
1918 r_scr_pos[0] = desktop_pos[0] - (int)(
U.pixelsize * win->
posx);
1919 r_scr_pos[1] = desktop_pos[1] - (int)(
U.pixelsize * win->
posy);
1935 if (win_iter == win_ignore) {
1946 if (scr_pos[0] >= 0 && scr_pos[1] >= 0 && scr_pos[0] <=
WM_window_pixels_x(win_iter) &&
1965 if (setup_context) {
1972 if (setup_context) {
1993 if (setup_context) {
2000 const uint rect_len = r_size[0] * r_size[1];
2005 if (setup_context) {
2015 for (i = 0, cp += 3; i < rect_len; i++, cp += 4) {
2018 return (
uint *)rect;
2075 switch (
U.tablet_api) {
2094 int oldx =
x, oldy =
y;
2114 *
x = (int)(*
x / f) * f;
2115 *
y = (int)(*
y / f) * f;
2156 rcti window_rect, screen_rect;
2159 screen_rect = window_rect;
2169 switch (global_area->global->align) {
2184 *r_rect = screen_rect;
2261 bool changed =
false;
2270 if (win_child->parent == win_parent && win_child->
scene !=
scene) {
2316 if ((win_iter == win_parent) || (win_iter->parent == win_parent)) {
2317 STRNCPY(win_iter->view_layer_name, view_layer->
name);
2348 if (win_child->parent == win_parent) {
2386 return (screen && screen->
temp != 0);
2395 #ifdef WITH_INPUT_IME
2399 void wm_window_IME_begin(
wmWindow *win,
int x,
int y,
int w,
int h,
bool complete)
2406 void wm_window_IME_end(
wmWindow *win)
2456 const char *message,
2457 const char *help_label,
2458 const char *continue_label,
typedef float(TangentPoint)[2]
struct Scene * CTX_data_scene(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
struct bScreen * CTX_wm_screen(const bContext *C)
void CTX_wm_window_set(bContext *C, struct wmWindow *win)
void CTX_wm_area_set(bContext *C, struct ScrArea *area)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void BKE_icon_changed(const int icon_id)
struct ViewLayer * BKE_view_layer_default_view(const struct Scene *scene)
struct ViewLayer * BKE_view_layer_find(const struct Scene *scene, const char *layer_name)
const char * BKE_main_blendfile_path_from_global(void)
void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL()
struct ScrArea struct ScrArea * BKE_screen_find_big_area(struct bScreen *screen, const int spacetype, const short min)
void BKE_workspace_active_layout_set(struct WorkSpaceInstanceHook *hook, const int winid, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) SETTER_ATTRS
Activate a layout.
void BKE_workspace_layout_remove(struct Main *bmain, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) ATTR_NONNULL()
struct WorkSpaceInstanceHook * BKE_workspace_instance_hook_create(const struct Main *bmain, const int winid)
struct WorkSpace * BKE_workspace_active_get(struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
void BKE_workspace_active_screen_set(struct WorkSpaceInstanceHook *hook, const int winid, struct WorkSpace *workspace, struct bScreen *screen) SETTER_ATTRS
void BKE_workspace_instance_hook_free(const struct Main *bmain, struct WorkSpaceInstanceHook *hook)
struct bScreen * BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
void BKE_workspace_active_set(struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace) SETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_active_layout_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
struct bScreen * BKE_workspace_layout_screen_get(const struct WorkSpaceLayout *layout) GETTER_ATTRS
void BLF_cache_clear(void)
void BLF_default_dpi(int dpi)
#define BLI_assert_unreachable()
void BLI_kdtree_nd_() free(KDTree *tree)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE float max_ff(float a, float b)
MINLINE int max_ii(int a, int b)
MINLINE void copy_v2_v2_int(int r[2], const int a[2])
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
bool BLI_rcti_is_valid(const struct rcti *rect)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
void BLI_rcti_resize_y(struct rcti *rect, int y)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
void BLI_rcti_resize_x(struct rcti *rect, int x)
#define STRNCPY(dst, src)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
int BLI_thread_is_main(void)
#define POINTER_AS_UINT(i)
#define POINTER_FROM_UINT(i)
These structs are the foundation for all linked lists in the library system.
@ GLOBAL_AREA_ALIGN_BOTTOM
int ED_file_extension_icon(const char *path)
void ED_render_view_layer_changed(struct Main *bmain, struct bScreen *screen)
void ED_scene_change_update(struct Main *bmain, struct Scene *scene, struct ViewLayer *layer) ATTR_NONNULL()
void ED_screen_exit(struct bContext *C, struct wmWindow *window, struct bScreen *screen)
void ED_workspace_scene_data_sync(struct WorkSpaceInstanceHook *hook, Scene *scene) ATTR_NONNULL()
int ED_area_global_size_y(const ScrArea *area)
struct WorkSpaceLayout * ED_workspace_layout_add(struct Main *bmain, struct WorkSpace *workspace, struct wmWindow *win, const char *name) ATTR_NONNULL()
void ED_area_newspace(struct bContext *C, ScrArea *area, int type, const bool skip_region_exit)
struct WorkSpaceLayout * ED_workspace_layout_duplicate(struct Main *bmain, struct WorkSpace *workspace, const struct WorkSpaceLayout *layout_old, struct wmWindow *win) ATTR_NONNULL()
bool ED_workspace_change(struct WorkSpace *workspace_new, struct bContext *C, struct wmWindowManager *wm, struct wmWindow *win) ATTR_NONNULL()
Change the active workspace.
void ED_screen_refresh(struct wmWindowManager *wm, struct wmWindow *win)
void ED_screen_scene_change(struct bContext *C, struct wmWindow *win, struct Scene *scene)
void ED_screen_global_areas_refresh(struct wmWindow *win)
bool ED_screen_change(struct bContext *C, struct bScreen *screen)
Change the active screen.
GHOST C-API function and type declarations.
int GHOST_ProcessEvents(GHOST_SystemHandle systemhandle, int waitForEvent)
GHOST_TWindowState GHOST_GetWindowState(GHOST_WindowHandle windowhandle)
char * GHOST_GetTitle(GHOST_WindowHandle windowhandle)
void GHOST_UseWindowFocus(int use_focus)
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)
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_putClipboard(GHOST_TInt8 *buffer, int selection)
GHOST_SystemHandle GHOST_CreateSystem(void)
GHOST_TSuccess GHOST_AddEventConsumer(GHOST_SystemHandle systemhandle, GHOST_EventConsumerHandle consumerhandle)
int GHOST_UseNativePixels(void)
void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr userdata)
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_SetClientSize(GHOST_WindowHandle windowhandle, GHOST_TUns32 width, GHOST_TUns32 height)
void GHOST_DisposeRectangle(GHOST_RectangleHandle rectanglehandle)
void GHOST_SetTitle(GHOST_WindowHandle windowhandle, const char *title)
int GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, float progress)
GHOST_TSuccess GHOST_ReleaseOpenGLContext(GHOST_ContextHandle contexthandle)
void GHOST_SystemInitDebug(GHOST_SystemHandle systemhandle, int is_debug_enabled)
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)
GHOST_TSuccess GHOST_GetSwapInterval(GHOST_WindowHandle windowhandle, int *intervalOut)
void GHOST_BeginIME(GHOST_WindowHandle windowhandle, GHOST_TInt32 x, GHOST_TInt32 y, GHOST_TInt32 w, GHOST_TInt32 h, int complete)
GHOST_TSuccess GHOST_DisposeOpenGLContext(GHOST_SystemHandle systemhandle, GHOST_ContextHandle contexthandle)
GHOST_TSuccess GHOST_SetWindowState(GHOST_WindowHandle windowhandle, GHOST_TWindowState state)
GHOST_TSuccess GHOST_ActivateOpenGLContext(GHOST_ContextHandle contexthandle)
GHOST_TUns8 * GHOST_getClipboard(int selection)
void GHOST_SetTabletAPI(GHOST_SystemHandle systemhandle, GHOST_TTabletAPI api)
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)
GHOST_TEventDataPtr GHOST_GetEventData(GHOST_EventHandle eventhandle)
GHOST_TSuccess GHOST_ActivateWindowDrawingContext(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, GHOST_TModifierKeyMask mask, int *isDown)
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)
void GHOST_EndIME(GHOST_WindowHandle windowhandle)
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_SetWindowModifiedState(GHOST_WindowHandle windowhandle, GHOST_TUns8 isUnsavedChanges)
GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle)
GHOST_EventConsumerHandle GHOST_CreateEventConsumer(GHOST_EventCallbackProcPtr eventCallback, GHOST_TUserDataPtr userdata)
GHOST_TSuccess GHOST_SetSwapInterval(GHOST_WindowHandle windowhandle, int interval)
GHOST_TUns64 GHOST_GetEventTime(GHOST_EventHandle eventhandle)
GHOST_RectangleHandle GHOST_GetClientBounds(GHOST_WindowHandle windowhandle)
GHOST_TSuccess GHOST_DisposeSystem(GHOST_SystemHandle systemhandle)
int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle)
@ GHOST_kWindowStateMinimized
@ GHOST_kWindowStateMaximized
@ GHOST_kWindowStateNormal
@ GHOST_kWindowStateFullScreen
void * GHOST_TUserDataPtr
@ GHOST_kEventWindowClose
@ GHOST_kEventDraggingDropDone
@ GHOST_kEventNativeResolutionChange
@ GHOST_kEventOpenMainFile
@ GHOST_kEventButtonUp
Mouse button event.
@ GHOST_kEventWindowActivate
@ GHOST_kEventTrackpad
Mouse wheel event.
@ GHOST_kEventWindowUpdate
@ GHOST_kEventWindowDeactivate
@ GHOST_kEventButtonDown
Mouse move event.
@ GHOST_kEventWindowDPIHintChanged
@ GHOST_kEventQuitRequest
void * GHOST_TEventDataPtr
@ GHOST_kDrawingContextTypeOpenGL
@ GHOST_kWindowOrderBottom
@ GHOST_kModifierKeyRightControl
@ GHOST_kModifierKeyLeftControl
@ GHOST_kModifierKeyRightAlt
@ GHOST_kModifierKeyRightShift
@ GHOST_kModifierKeyLeftAlt
@ GHOST_kModifierKeyLeftShift
@ GHOST_kDragnDropTypeFilenames
unsigned char GHOST_TUns8
void GPU_context_discard(GPUContext *)
GPUContext * GPU_context_create(void *ghost_window)
void GPU_context_active_set(GPUContext *)
GPUFrameBuffer * GPU_framebuffer_back_get(void)
GPUFrameBuffer * GPU_framebuffer_active_get(void)
_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 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 right
_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 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
Read Guarded memory(de)allocation.
Group RGB to Bright Vector Camera CLAMP
Platform independent time functions.
void UI_popup_handlers_remove_all(struct bContext *C, struct ListBase *handlers)
@ WIN_ALIGN_LOCATION_CENTER
@ WIN_ALIGN_PARENT_CENTER
@ WM_TIMER_NO_FREE_CUSTOM_DATA
ATTR_WARN_UNUSED_RESULT const BMLoop * l
void activate(bool forceActivation=false) const
static btDbvtVolume bounds(btDbvtNode **leaves, int count)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
void GPU_clear_color(float red, float green, float blue, float alpha)
void GPU_frontbuffer_read_pixels(int x, int y, int w, int h, int channels, eGPUDataFormat format, void *data)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
struct SELECTID_Context context
unsigned __int64 uint64_t
GHOST_TDragnDropTypes dataType
struct wmTimer * reporttimer
eWinOverrideFlag override_flag
void(* exec)(struct bContext *C, void *user_data)
struct wmKeyConfig * defaultconf
struct ReportList reports
struct wmWindow * windrawable
struct wmWindow * winactive
struct wmEvent * eventstate
struct wmIMEData * ime_data
struct WorkSpaceInstanceHook * workspace_hook
void * cursor_keymap_status
struct Stereo3dFormat * stereo3d_format
void PIL_sleep_ms(int ms)
double PIL_check_seconds_timer(void)
ccl_device_inline float3 ceil(const float3 &a)
void WM_check(bContext *C)
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmDrag * WM_event_start_drag(struct bContext *C, int icon, int type, void *poin, double value, unsigned int flags)
void wm_draw_update(bContext *C)
wmEventHandler_Dropbox * WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes)
void wm_event_do_handlers(bContext *C)
void WM_main_add_notifier(unsigned int type, void *reference)
wmEvent * wm_event_add(wmWindow *win, const wmEvent *event_to_add)
void WM_event_add_notifier_ex(wmWindowManager *wm, const wmWindow *win, uint type, void *reference)
void wm_event_free_all(wmWindow *win)
void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void *customdata)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
wmEventHandler_Keymap * WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
int WM_operator_name_call_ptr(bContext *C, wmOperatorType *ot, short context, PointerRNA *properties)
void wm_event_do_notifiers(bContext *C)
void wm_event_init_from_window(wmWindow *win, wmEvent *event)
void WM_event_remove_handlers(bContext *C, ListBase *handlers)
void wm_autosave_timer(Main *bmain, wmWindowManager *wm, wmTimer *UNUSED(wt))
bool wm_file_or_image_is_modified(const Main *bmain, const wmWindowManager *wm)
void wm_close_file_dialog(bContext *C, wmGenericCallback *post_action)
void WM_gestures_free_all(wmWindow *win)
void wm_exit_schedule_delayed(const bContext *C)
void wm_jobs_timer_end(wmWindowManager *wm, wmTimer *wt)
void wm_jobs_timer(wmWindowManager *wm, wmTimer *wt)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
void WM_operator_properties_free(PointerRNA *ptr)
static void wm_window_ghostwindow_ensure(wmWindowManager *wm, wmWindow *win, bool is_dialog)
void WM_window_set_active_scene(Main *bmain, bContext *C, wmWindow *win, Scene *scene)
static void wm_window_screen_pos_get(const wmWindow *win, const int desktop_pos[2], int r_scr_pos[2])
int wm_window_new_exec(bContext *C, wmOperator *UNUSED(op))
static GHOST_SystemHandle g_system
int wm_window_close_exec(bContext *C, wmOperator *UNUSED(op))
void WM_event_remove_timer(wmWindowManager *wm, wmWindow *UNUSED(win), wmTimer *timer)
void * WM_opengl_context_create(void)
void WM_clipboard_text_set(const char *buf, bool selection)
void wm_window_raise(wmWindow *win)
void WM_window_ensure_active_view_layer(wmWindow *win)
Scene * WM_windows_scene_get_from_screen(const wmWindowManager *wm, const bScreen *screen)
int WM_window_pixels_y(const wmWindow *win)
static void wm_window_check_size(rcti *rect)
void wm_window_swap_buffers(wmWindow *win)
Push rendered buffer to the screen.
#define GHOST_WINDOW_STATE_DEFAULT
void wm_window_reset_drawable(void)
void WM_window_set_active_workspace(bContext *C, wmWindow *win, WorkSpace *workspace)
wmWindow * wm_window_copy(Main *bmain, wmWindowManager *wm, wmWindow *win_src, const bool duplicate_layout, const bool child)
void WM_init_state_normal_set(void)
char * WM_clipboard_text_get_firstline(bool selection, int *r_len)
void WM_opengl_context_activate(void *context)
static struct WMInitStruct wm_init_state
static int query_qual(modifierKeyType qual)
ViewLayer * WM_windows_view_layer_get_from_screen(const wmWindowManager *wm, const bScreen *screen)
static void wm_window_ensure_eventstate(wmWindow *win)
int wm_window_new_main_exec(bContext *C, wmOperator *UNUSED(op))
void WM_cursor_compatible_xy(wmWindow *win, int *x, int *y)
void wm_quit_with_optional_confirmation_prompt(bContext *C, wmWindow *win)
void wm_window_title(wmWindowManager *wm, wmWindow *win)
void WM_cursor_warp(wmWindow *win, int x, int y)
wmWindow * wm_window_new(const Main *bmain, wmWindowManager *wm, wmWindow *parent, bool dialog)
static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wmWindow *win, bool is_dialog)
bool wm_window_get_swap_interval(wmWindow *win, int *intervalOut)
WorkSpaceLayout * WM_window_get_active_layout(const wmWindow *win)
static void wm_ghostwindow_destroy(wmWindowManager *wm, wmWindow *win)
void WM_opengl_context_release(void *context)
bool WM_window_is_fullscreen(const wmWindow *win)
void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win)
uint * WM_window_pixels_read(wmWindowManager *wm, wmWindow *win, int r_size[2])
void wm_window_set_swap_interval(wmWindow *win, int interval)
wmTimer * WM_event_add_timer_notifier(wmWindowManager *wm, wmWindow *win, unsigned int type, double timestep)
void WM_window_set_active_screen(wmWindow *win, WorkSpace *workspace, bScreen *screen)
static void wm_confirm_quit(bContext *C)
void wm_get_desktopsize(int *r_width, int *r_height)
static int wm_window_timer(const bContext *C)
void WM_init_native_pixels(bool do_it)
void wm_window_set_size(wmWindow *win, int width, int height)
void WM_init_state_maximized_set(void)
void WM_window_set_dpi(const wmWindow *win)
void WM_event_timer_sleep(wmWindowManager *wm, wmWindow *UNUSED(win), wmTimer *timer, bool do_sleep)
void wm_window_ghostwindows_remove_invalid(bContext *C, wmWindowManager *wm)
char * WM_clipboard_text_get(bool selection, int *r_len)
void wm_window_clear_drawable(wmWindowManager *wm)
static void wm_window_desktop_pos_get(const wmWindow *win, const int screen_pos[2], int r_desk_pos[2])
void wm_window_process_events(const bContext *C)
bScreen * WM_window_get_active_screen(const wmWindow *win)
static int find_free_winid(wmWindowManager *wm)
void wm_get_screensize(int *r_width, int *r_height)
void wm_cursor_position_to_ghost(wmWindow *win, int *x, int *y)
void WM_progress_clear(wmWindow *win)
void WM_init_state_size_set(int stax, int stay, int sizx, int sizy)
void WM_opengl_context_dispose(void *context)
static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr)
bool WM_window_find_under_cursor(const wmWindowManager *wm, const wmWindow *win_ignore, const wmWindow *win, const int mval[2], wmWindow **r_win, int r_mval[2])
void WM_progress_set(wmWindow *win, float progress)
void wm_window_make_drawable(wmWindowManager *wm, wmWindow *win)
void WM_init_tablet_api(void)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
int wm_window_fullscreen_toggle_exec(bContext *C, wmOperator *UNUSED(op))
WorkSpace * WM_window_get_active_workspace(const wmWindow *win)
static bool wm_window_update_size_position(wmWindow *win)
bool WM_window_is_temp_screen(const wmWindow *win)
void WM_window_rect_calc(const wmWindow *win, rcti *r_rect)
void wm_cursor_position_from_ghost(wmWindow *win, int *x, int *y)
bool WM_window_is_maximized(const wmWindow *win)
void WM_window_set_active_layout(wmWindow *win, WorkSpace *workspace, WorkSpaceLayout *layout)
void WM_window_screen_rect_calc(const wmWindow *win, rcti *r_rect)
void WM_window_pixel_sample_read(const wmWindowManager *wm, const wmWindow *win, const int pos[2], float r_col[3])
void WM_window_set_active_view_layer(wmWindow *win, ViewLayer *view_layer)
void wm_window_get_position(wmWindow *win, int *r_pos_x, int *r_pos_y)
static char * wm_clipboard_text_get_ex(bool selection, int *r_len, bool firstline)
static void wm_window_update_eventstate(wmWindow *win)
int WM_window_pixels_x(const wmWindow *win)
wmWindow * wm_window_copy_test(bContext *C, wmWindow *win_src, const bool duplicate_layout, const bool child)
wmWindow * WM_window_open(bContext *C, const char *title, int x, int y, int sizex, int sizey, int space_type, bool dialog, bool temp, WindowAlignment alignment)
void WM_event_remove_timer_notifier(wmWindowManager *wm, wmWindow *win, wmTimer *timer)
static void wm_window_set_drawable(wmWindowManager *wm, wmWindow *win, bool activate)
void wm_window_free(bContext *C, wmWindowManager *wm, wmWindow *win)
WorkSpace * WM_windows_workspace_get_from_screen(const wmWindowManager *wm, const bScreen *screen)
void wm_ghost_init(bContext *C)
static void wm_save_file_on_quit_dialog_callback(bContext *C, void *UNUSED(user_data))
void WM_init_state_fullscreen_set(void)
void WM_windows_scene_data_sync(const ListBase *win_lb, Scene *scene)
void wm_window_ghostwindows_ensure(wmWindowManager *wm)
void WM_init_window_focus_set(bool do_it)
Scene * WM_window_get_active_scene(const wmWindow *win)
wmTimer * WM_event_add_timer(wmWindowManager *wm, wmWindow *win, int event_type, double timestep)
void wm_cursor_position_get(wmWindow *win, int *r_x, int *r_y)
void wm_window_lower(wmWindow *win)
void WM_ghost_show_message_box(const char *title, const char *message, const char *help_label, const char *continue_label, const char *link, GHOST_DialogOptions dialog_options)
bool wm_xr_events_handle(wmWindowManager *wm)