96 #define KM_MODAL_CANCEL 1
97 #define KM_MODAL_APPLY 2
98 #define KM_MODAL_SNAP_ON 3
99 #define KM_MODAL_SNAP_OFF 4
155 if (
G.is_rendering) {
174 if (screen ==
NULL) {
269 if (ob && ob == obedit) {
459 if (obpose !=
NULL) {
460 if (obact == obpose) {
490 if (obpose !=
NULL) {
619 if (
area &&
area->spacedata.first) {
620 switch (
area->spacetype) {
645 return (cam !=
NULL);
730 *r_rect_clip = az->
rect;
775 for (az =
area->actionzones.first; az; az = az->
next) {
807 if (mouse_sq < spot_sq) {
810 else if (mouse_sq < fadein_sq) {
813 else if (mouse_sq < fadeout_sq) {
815 ((
float)(mouse_sq - fadein_sq)) / ((
float)(fadeout_sq - fadein_sq));
835 region, v2d, xy[0], xy[1], &scroll_flag);
842 else if (test_only) {
843 if (isect_value != 0) {
850 if (isect_value ==
'h') {
857 else if (isect_value ==
'v') {
866 float dist_fac = 0.0f,
alpha = 0.0f;
870 CLAMP(dist_fac, 0.0f, 1.0f);
871 alpha = 1.0f - dist_fac;
877 CLAMP(dist_fac, 0.0f, 1.0f);
878 alpha = 1.0f - dist_fac;
987 event.is_repeat =
false;
989 event.customdatafree =
true;
1033 switch (event->
type) {
1035 const int delta_x = (
event->x - sad->
x);
1036 const int delta_y = (
event->y - sad->
y);
1039 const int delta_max =
max_ii(
abs(delta_x),
abs(delta_y));
1042 const int join_threshold = (0.6 *
U.widget_unit);
1043 const int split_threshold = (1.2 *
U.widget_unit);
1044 const int area_threshold = (0.1 *
U.widget_unit);
1047 if (delta_y >
abs(delta_x)) {
1050 else if (delta_x >=
abs(delta_y)) {
1053 else if (delta_y < -
abs(delta_x)) {
1076 is_gesture = (delta_max > split_threshold);
1092 is_gesture = (delta_max > join_threshold);
1101 is_gesture = (delta_max > area_threshold);
1135 ot->
name =
"Handle Area Action Zones";
1136 ot->
description =
"Handle area action zones for mouse actions/gestures";
1137 ot->
idname =
"SCREEN_OT_actionzone";
1157 const int cursor[2],
1169 if (actedge ==
NULL) {
1268 switch (event->
type) {
1275 if (!sad->
sa2 || sad->
sa1 == sad->
sa2) {
1317 ot->
idname =
"SCREEN_OT_area_swap";
1329 ot->
srna,
"cursor", 2,
NULL, INT_MIN, INT_MAX,
"Cursor",
"", INT_MIN, INT_MAX);
1387 ot->
name =
"Duplicate Area into New Window";
1388 ot->
description =
"Duplicate selected area into new window";
1389 ot->
idname =
"SCREEN_OT_area_dupli";
1453 bool *use_bigger_smaller_snap)
1456 *bigger = *smaller = 100000;
1458 if (use_bigger_smaller_snap !=
NULL) {
1459 *use_bigger_smaller_snap =
false;
1464 size_min =
max_ii(size_min, 0);
1469 if ((
area->v1->editflag &&
area->v2->editflag)) {
1470 *smaller =
area->v4->vec.x - size_max;
1471 *bigger =
area->v4->vec.x - size_min;
1472 *use_bigger_smaller_snap =
true;
1476 if ((
area->v2->editflag &&
area->v3->editflag)) {
1477 *smaller =
area->v1->vec.y + size_min;
1478 *bigger =
area->v1->vec.y + size_max;
1479 *use_bigger_smaller_snap =
true;
1483 if ((
area->v3->editflag &&
area->v4->editflag)) {
1484 *smaller =
area->v1->vec.x + size_min;
1485 *bigger =
area->v1->vec.x + size_max;
1486 *use_bigger_smaller_snap =
true;
1490 if ((
area->v4->editflag &&
area->v1->editflag)) {
1491 *smaller =
area->v2->vec.y - size_max;
1492 *bigger =
area->v2->vec.y - size_min;
1493 *use_bigger_smaller_snap =
true;
1506 if (
area->v1->vec.y > window_rect.
ymin) {
1507 areamin +=
U.pixelsize;
1509 if (
area->v2->vec.y < (window_rect.
ymax - 1)) {
1510 areamin +=
U.pixelsize;
1516 if (
area->v1->editflag &&
area->v4->editflag) {
1519 else if (
area->v2->editflag &&
area->v3->editflag) {
1526 if (
area->v1->vec.x > window_rect.
xmin) {
1527 areamin +=
U.pixelsize;
1529 if (
area->v4->vec.x < (window_rect.
xmax - 1)) {
1530 areamin +=
U.pixelsize;
1536 if (
area->v1->editflag &&
area->v2->editflag) {
1537 *bigger =
min_ii(*bigger, x1);
1539 else if (
area->v3->editflag &&
area->v4->editflag) {
1540 *smaller =
min_ii(*smaller, x1);
1559 if (actedge ==
NULL) {
1567 if (md->
dir ==
'h') {
1578 v1->editflag =
v1->flag;
1581 bool use_bigger_smaller_snap =
false;
1584 md->
snap_type = use_bigger_smaller_snap ? SNAP_BIGGER_SMALLER_ONLY : SNAP_AREAGRID;
1590 const enum AreaMoveSnapType snap_type,
1598 int m_cursor_final = -1;
1599 const int m_cursor = origval + delta;
1600 const int m_span = (
float)(bigger + smaller);
1601 const int m_min = origval - smaller;
1604 switch (snap_type) {
1606 m_cursor_final = m_cursor;
1607 if (!
ELEM(delta, bigger, -smaller)) {
1608 m_cursor_final -= (m_cursor %
AREAGRID);
1609 CLAMP(m_cursor_final, origval - smaller, origval + bigger);
1613 case SNAP_BIGGER_SMALLER_ONLY:
1614 m_cursor_final = (m_cursor >= bigger) ? bigger : smaller;
1617 case SNAP_FRACTION_AND_ADJACENT: {
1618 const int axis = (dir ==
'v') ? 0 : 1;
1619 int snap_dist_best = INT_MAX;
1621 const float div_array[] = {
1637 for (
int i = 0; i <
ARRAY_SIZE(div_array); i++) {
1638 const int m_cursor_test = m_min +
round_fl_to_int(m_span * div_array[i]);
1639 const int snap_dist_test =
abs(m_cursor - m_cursor_test);
1640 if (snap_dist_best >= snap_dist_test) {
1641 snap_dist_best = snap_dist_test;
1642 m_cursor_final = m_cursor_test;
1648 if (!
v1->editflag) {
1651 const int v_loc = (&
v1->vec.x)[!axis];
1657 if (v_loc == (&
v2->vec.x)[!axis]) {
1658 const int v_loc2 = (&
v2->vec.x)[axis];
1660 if ((origval - smaller) < v_loc2 && v_loc2 < (origval + bigger)) {
1661 const int snap_dist_test =
abs(m_cursor - v_loc2);
1662 if (snap_dist_best >= snap_dist_test) {
1663 snap_dist_best = snap_dist_test;
1664 m_cursor_final = v_loc2;
1677 IN_RANGE_INCL(m_cursor_final, origval - smaller, origval + bigger));
1679 return m_cursor_final;
1689 const enum AreaMoveSnapType snap_type)
1693 short final_loc = -1;
1694 bool doredraw =
false;
1696 if (snap_type != SNAP_BIGGER_SMALLER_ONLY) {
1697 CLAMP(delta, -smaller, bigger);
1700 if (snap_type == SNAP_NONE) {
1701 final_loc = origval + delta;
1708 short axis = (dir ==
'v') ? 0 : 1;
1713 short oldval = (&
v1->vec.x)[axis];
1714 (&
v1->vec.x)[axis] = final_loc;
1716 if (oldval == final_loc) {
1726 bool redraw_all =
false;
1728 if (
area->v1->editflag ||
area->v2->editflag ||
area->v3->editflag ||
area->v4->editflag) {
1733 area->global->cur_fixed_height =
area->global->size_min;
1736 area->global->cur_fixed_height =
area->global->size_max;
1824 switch (event->
type) {
1829 int delta = (md->
dir ==
'v') ? event->
x -
x : event->
y -
y;
1836 switch (event->
val) {
1846 if (md->
snap_type != SNAP_BIGGER_SMALLER_ONLY) {
1847 md->
snap_type = SNAP_FRACTION_AND_ADJACENT;
1852 if (md->
snap_type != SNAP_BIGGER_SMALLER_ONLY) {
1867 ot->
name =
"Move Area Edges";
1869 ot->
idname =
"SCREEN_OT_area_move";
1883 RNA_def_int(
ot->
srna,
"delta", 0, INT_MIN, INT_MAX,
"Delta",
"", INT_MIN, INT_MAX);
2017 if (sav1 == sbv4 && sav2 == sbv3) {
2020 if (sav2 == sbv1 && sav3 == sbv4) {
2023 if (sav3 == sbv2 && sav4 == sbv1) {
2026 if (sav1 == sbv2 && sav4 == sbv3) {
2147 const bool is_left = factor_v < 0.5f;
2148 const bool is_bottom = factor_h < 0.5f;
2149 const bool is_right = !
is_left;
2150 const bool is_top = !is_bottom;
2163 if ((is_top &&
is_left) || (is_bottom && is_right)) {
2164 factor = 1.0f - factor;
2184 op->
ptr, prop_factor, ((
float)(event->
x -
area->v1->vec.x)) / (
float)
area->winx);
2188 op->
ptr, prop_factor, ((
float)(event->
y -
area->v1->vec.y)) / (
float)
area->winy);
2211 if (actedge ==
NULL) {
2288 bool update_factor =
false;
2291 switch (event->
type) {
2293 update_factor =
true;
2321 update_factor =
true;
2335 update_factor =
true;
2339 if (update_factor) {
2347 SNAP_FRACTION_AND_ADJACENT,
2376 area->v1->editflag =
area->v2->editflag =
area->v3->editflag =
area->v4->editflag = 1;
2379 SNAP_FRACTION_AND_ADJACENT,
2386 area->v1->editflag =
area->v2->editflag =
area->v3->editflag =
area->v4->editflag = 0;
2404 {
'h',
"HORIZONTAL", 0,
"Horizontal",
""},
2405 {
'v',
"VERTICAL", 0,
"Vertical",
""},
2413 ot->
idname =
"SCREEN_OT_area_split";
2429 ot->
srna,
"cursor", 2,
NULL, INT_MIN, INT_MAX,
"Cursor",
"", INT_MIN, INT_MAX);
2459 dist = region->
winy + scalear->
winy -
U.pixelsize;
2463 dist = region->
winx + scalear->
winx -
U.pixelsize;
2477 if (region == scalear) {
2482 dist -= region->winx;
2485 dist -= region->winx;
2491 dist -= region->winy;
2497 dist -= region->winy;
2551 rmd->
origx =
event->x;
2552 rmd->
origy =
event->y;
2586 short *
size, maxsize = -1;
2597 if (*
size > maxsize && maxsize > 0) {
2617 if (region_tool_header !=
NULL) {
2633 switch (event->
type) {
2637 const int snap_size_threshold = (
U.widget_unit * 2) / aspect;
2639 delta =
event->x - rmd->
origx;
2647 const int size_no_snap = rmd->
origval + delta;
2652 if (
abs(rmd->
region->
sizex - sizex_test) < snap_size_threshold) {
2658 if (size_no_snap <
UI_UNIT_X / aspect) {
2672 delta =
event->y - rmd->
origy;
2680 const int size_no_snap = rmd->
origval + delta;
2685 if (
abs(rmd->
region->
sizey - sizey_test) < snap_size_threshold) {
2694 if (size_no_snap < (
UI_UNIT_Y / 4) / aspect) {
2747 ot->
name =
"Scale Region Size";
2749 ot->
idname =
"SCREEN_OT_region_scale";
2785 if ((
scene->
r.
cfra < region->v2d.cur.xmin) ||
2794 region->v2d.cur.xmin = region->v2d.cur.xmax -
w;
2796 else if (
scene->
r.
cfra > region->v2d.cur.xmax) {
2798 region->v2d.cur.xmax = region->v2d.cur.xmin +
w;
2830 ot->
name =
"Frame Offset";
2831 ot->
idname =
"SCREEN_OT_frame_offset";
2832 ot->
description =
"Move current frame forward/backward by a given number";
2841 RNA_def_int(
ot->
srna,
"delta", 0, INT_MIN, INT_MAX,
"Delta",
"", INT_MIN, INT_MAX);
2892 ot->
name =
"Jump to Endpoint";
2893 ot->
description =
"Jump to first/last frame in frame range";
2894 ot->
idname =
"SCREEN_OT_frame_jump";
2967 while ((ak !=
NULL) && (done ==
false)) {
2988 if (done ==
false) {
3005 ot->
name =
"Jump to Keyframe";
3007 ot->
idname =
"SCREEN_OT_keyframe_jump";
3036 if ((marker->frame >
CFRA) && (!found ||
closest > marker->frame)) {
3042 if ((marker->frame <
CFRA) && (!found || closest < marker->frame)) {
3069 ot->
name =
"Jump to Marker";
3071 ot->
idname =
"SCREEN_OT_marker_jump";
3106 ot->
idname =
"SCREEN_OT_screen_set";
3133 if (area_iter->full) {
3175 ot->
name =
"Toggle Maximize Area";
3176 ot->
description =
"Toggle display selected area as fullscreen/maximized";
3177 ot->
idname =
"SCREEN_OT_screen_full_area";
3232 if (sd->
sa1 && sd->
sa2) {
3330 if (sad->
sa1 == sad->
sa2) {
3365 switch (event->
type) {
3401 printf(
"oops, didn't expect that!\n");
3417 else if (dir == 3) {
3420 else if (dir == 2) {
3423 else if (dir == 0) {
3459 ot->
idname =
"SCREEN_OT_area_join";
3473 ot->
srna,
"cursor", 2,
NULL, INT_MIN, INT_MAX,
"Cursor",
"", INT_MIN, INT_MAX);
3495 "SCREEN_OT_area_split",
3496 IFACE_(
"Vertical Split"),
3508 "SCREEN_OT_area_split",
3509 IFACE_(
"Horizontal Split"),
3526 "SCREEN_OT_area_join",
3539 "SCREEN_OT_area_swap",
3557 ot->
name =
"Area Options";
3559 ot->
idname =
"SCREEN_OT_area_options";
3583 if (
area->spacedata.first !=
area->spacedata.last) {
3601 ot->
name =
"Clean Up Space Data";
3602 ot->
description =
"Remove unused settings for invisible editors";
3603 ot->
idname =
"SCREEN_OT_spacedata_cleanup";
3635 lastop = lastop->
prev;
3649 ot->
name =
"Repeat Last";
3651 ot->
idname =
"SCREEN_OT_repeat_last";
3679 for (i = items - 1, lastop = wm->
operators.
last; lastop; lastop = lastop->
prev, i--) {
3714 ot->
name =
"Repeat History";
3715 ot->
description =
"Display menu for previous actions performed";
3716 ot->
idname =
"SCREEN_OT_repeat_history";
3747 ot->
description =
"Display parameters for last action performed";
3748 ot->
idname =
"SCREEN_OT_redo_last";
3783 rv3d->
persp = persp;
3817 if (region != region_user) {
3848 else if (region->
next) {
3865 int index_qsplit = 0;
3881 (region = region->
next),
3886 (region = region->
next),
3912 ot->
name =
"Toggle Quad View";
3913 ot->
description =
"Split selected area into camera, front, right, and top views";
3914 ot->
idname =
"SCREEN_OT_region_quadview";
3964 ot->
name =
"Toggle Region";
3965 ot->
idname =
"SCREEN_OT_region_toggle";
3978 "Type of the region to toggle");
4032 ot->
name =
"Flip Region";
4033 ot->
idname =
"SCREEN_OT_region_flip";
4034 ot->
description =
"Toggle the region's alignment (left/right or top/bottom)";
4064 ot->
name =
"Expand/Collapse Header Menus";
4065 ot->
idname =
"SCREEN_OT_header_toggle_menus";
4066 ot->
description =
"Expand or collapse the header pulldown menus";
4085 IFACE_(
"Flip to Bottom") :
4091 uiItemR(layout, &
ptr,
"show_region_header", 0,
IFACE_(
"Show Header"), ICON_NONE);
4099 uiItemR(
col, &
ptr,
"show_region_tool_header", 0,
IFACE_(
"Show Tool Settings"), ICON_NONE);
4105 "SCREEN_OT_header_toggle_menus");
4114 uiItemO(layout, but_flip_str, ICON_NONE,
"SCREEN_OT_region_flip");
4122 const char *but_str =
area->full ?
IFACE_(
"Tile Area") :
IFACE_(
"Maximize Area");
4123 uiItemO(layout, but_str, ICON_NONE,
"SCREEN_OT_screen_full_area");
4132 IFACE_(
"Flip to Bottom") :
4137 uiItemR(layout, &
ptr,
"show_region_footer", 0,
IFACE_(
"Show Footer"), ICON_NONE);
4143 uiItemO(layout, but_flip_str, ICON_NONE,
"SCREEN_OT_region_flip");
4150 const char *but_str =
area->full ?
IFACE_(
"Tile Area") :
IFACE_(
"Maximize Area");
4151 uiItemO(layout, but_str, ICON_NONE,
"SCREEN_OT_screen_full_area");
4159 IFACE_(
"Flip to Right") :
4165 uiItemO(layout, but_flip_str, ICON_NONE,
"SCREEN_OT_region_flip");
4173 uiItemR(layout, &
ptr,
"show_statusbar_stats", 0,
IFACE_(
"Scene Statistics"), ICON_NONE);
4174 uiItemR(layout, &
ptr,
"show_statusbar_memory", 0,
IFACE_(
"System Memory"), ICON_NONE);
4176 uiItemR(layout, &
ptr,
"show_statusbar_vram", 0,
IFACE_(
"Video Memory"), ICON_NONE);
4178 uiItemR(layout, &
ptr,
"show_statusbar_version", 0,
IFACE_(
"Blender Version"), ICON_NONE);
4219 ot->
name =
"Region Context Menu";
4221 ot->
idname =
"SCREEN_OT_region_context_menu";
4245 bool from_anim_edit)
4250 switch (spacetype) {
4290 if ((redraws &
TIME_CLIPS) || from_anim_edit) {
4321 switch (spacetype) {
4400 #ifdef PROFILE_AUDIO_SYNCH
4401 static int old_frame = 0;
4426 if (scene_eval ==
NULL) {
4445 #ifdef PROFILE_AUDIO_SYNCH
4447 if (newfra_int < old_frame) {
4448 printf(
"back jump detected, frame %d!\n", newfra_int);
4450 else if (newfra_int > old_frame + 1) {
4451 printf(
"forward jump detected, frame %d!\n", newfra_int);
4454 old_frame = newfra_int;
4462 double delta_frames = wt->
delta *
FPS;
4467 if (delta_frames < 1.0) {
4473 delta_frames = 1.0f;
4481 const int step = delta_frames;
4545 #ifdef PROFILE_AUDIO_SYNCH
4560 bool redraw =
false;
4561 if (region == sad->
region) {
4595 ot->
name =
"Animation Step";
4597 ot->
idname =
"SCREEN_OT_animation_step";
4690 ot->
name =
"Play Animation";
4692 ot->
idname =
"SCREEN_OT_animation_play";
4700 ot->
srna,
"reverse", 0,
"Play in Reverse",
"Animation is played backwards");
4739 ot->
name =
"Cancel Animation";
4740 ot->
description =
"Cancel animation, returning to the original frame";
4741 ot->
idname =
"SCREEN_OT_animation_cancel";
4752 "Restore the frame when animation was initialized");
4785 printf(
"box select do select\n");
4788 printf(
"box select deselect\n");
4791 printf(
"box select do something\n");
4801 ot->
idname =
"SCREEN_OT_box_select";
4812 RNA_def_int(
ot->
srna,
"event_type", 0, INT_MIN, INT_MAX,
"Event Type",
"", INT_MIN, INT_MAX);
4832 if (area_iter->full) {
4850 ot->
name =
"Back to Previous Screen";
4851 ot->
description =
"Revert back to the original screen layout, before fullscreen area overlay";
4852 ot->
idname =
"SCREEN_OT_back_to_previous";
4875 IFACE_(
"Blender Preferences"),
4906 ot->
name =
"Show Preferences";
4907 ot->
description =
"Edit user preferences and system settings";
4908 ot->
idname =
"SCREEN_OT_userpref_show";
4941 IFACE_(
"Blender Drivers Editor"),
4954 bool driven, special;
4983 ot->
name =
"Show Drivers Editor";
4984 ot->
description =
"Show drivers editor in a separate window";
4985 ot->
idname =
"SCREEN_OT_drivers_editor_show";
5009 IFACE_(
"Blender Info Log"),
5027 ot->
name =
"Show Info Log";
5029 ot->
idname =
"SCREEN_OT_info_log_show";
5088 ot->
name =
"Delete Screen";
5113 #define TIMEOUT 0.1f
5114 #define TIMESTEP (1.0f / 60.0f)
5120 region = region->
prev;
5236 ot->
name =
"Region Alpha";
5237 ot->
idname =
"SCREEN_OT_region_blend";
5271 if (
area->spacetype != space_type) {
5284 for (
int i = 1; i < item_len; i++) {
5286 if ((item_test->
value >> 16) == space_type) {
5303 ot->
name =
"Cycle Space Type Set";
5305 ot->
idname =
"SCREEN_OT_space_type_set_or_cycle";
5344 const char *propname;
5346 switch (
area->spacetype) {
5349 propname =
"context";
5353 propname =
"active_section";
5382 ot->
name =
"Cycle Space Context";
5383 ot->
description =
"Cycle through the editor context by activating the next/previous one";
5384 ot->
idname =
"SCREEN_OT_space_context_cycle";
5397 "Direction to cycle through");
5422 if (link->data == workspace_src) {
5424 workspace_dst = (link->prev) ? link->prev->data :
NULL;
5427 workspace_dst = (link->next) ? link->next->data :
NULL;
5432 if (workspace_dst ==
NULL) {
5434 workspace_dst = link->
data;
5439 if (workspace_src == workspace_dst) {
5453 ot->
name =
"Cycle Workspace";
5455 ot->
idname =
"SCREEN_OT_workspace_cycle";
5468 "Direction to cycle through");
5552 const char **
UNUSED(r_tooltip))
5555 if (drag->
icon == ICON_FILE_BLEND) {
typedef float(TangentPoint)[2]
struct WorkSpace * CTX_wm_workspace(const bContext *C)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
void CTX_wm_region_set(bContext *C, struct ARegion *region)
struct SpaceNode * CTX_wm_space_node(const bContext *C)
struct Object * CTX_data_edit_object(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct Mask * CTX_data_edit_mask(const bContext *C)
PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
struct Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct bScreen * CTX_wm_screen(const bContext *C)
struct SpaceLink * CTX_wm_space_data(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
void CTX_wm_area_set(bContext *C, struct ScrArea *area)
void CTX_wm_operator_poll_msg_set(struct bContext *C, const char *msg)
struct SpaceImage * CTX_wm_space_image(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct RegionView3D * CTX_wm_region_view3d(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
BMEditMesh * BKE_editmesh_from_object(struct Object *ob)
Return the BMEditMesh for a given object.
struct FCurve * BKE_fcurve_find_by_rna_context_ui(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop, int rnaindex, struct AnimData **r_animdata, struct bAction **r_action, bool *r_driven, bool *r_special)
void BKE_icon_changed(const int icon_id)
void BKE_id_ordered_list(struct ListBase *ordered_lb, const struct ListBase *lb)
struct MaskLayer * BKE_mask_layer_active(struct Mask *mask)
General operations, lookup, etc. for blender objects.
struct Object * BKE_object_pose_armature_get(struct Object *ob)
bool BKE_object_pose_context_check(const struct Object *ob)
void BKE_report(ReportList *reports, ReportType type, const char *message)
void BKE_reportf(ReportList *reports, ReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
struct Depsgraph * BKE_scene_get_depsgraph(const struct Scene *scene, const struct ViewLayer *view_layer)
struct ScrArea * BKE_screen_find_area_xy(struct bScreen *screen, const int spacetype, int x, int y)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
struct ScrEdge * BKE_screen_find_edge(const struct bScreen *screen, struct ScrVert *v1, struct ScrVert *v2)
void BKE_screen_remove_double_scredges(struct bScreen *screen)
void BKE_spacedata_freelist(ListBase *lb)
void BKE_screen_remove_unused_scrverts(struct bScreen *screen)
void BKE_screen_remove_unused_scredges(struct bScreen *screen)
struct ARegion * BKE_area_region_copy(const struct SpaceType *st, const struct ARegion *region)
void BKE_screen_remove_double_scrverts(struct bScreen *screen)
double BKE_sound_sync_scene(struct Scene *scene)
void BKE_sound_stop_scene(struct Scene *scene)
void BKE_sound_play_scene(struct Scene *scene)
struct WorkSpace * BKE_workspace_active_get(struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_active_layout_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS
struct WorkSpaceLayout * BKE_workspace_layout_find(const struct WorkSpace *workspace, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
void BLI_dlrbTree_init(DLRBT_Tree *tree)
void BLI_dlrbTree_free(DLRBT_Tree *tree)
DLRBT_Node * BLI_dlrbTree_search_next(DLRBT_Tree *tree, DLRBT_Comparator_FP cmp_cb, void *search_data)
DLRBT_Node * BLI_dlrbTree_search_prev(DLRBT_Tree *tree, DLRBT_Comparator_FP cmp_cb, void *search_data)
void BLI_kdtree_nd_() free(KDTree *tree)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int round_fl_to_int(float a)
MINLINE int min_ii(int a, int b)
MINLINE int square_i(int a)
MINLINE int max_ii(int a, int b)
void copy_qt_qt(float q[4], const float a[4])
MINLINE void copy_v2_v2_int(int r[2], const int a[2])
MINLINE int len_manhattan_v2v2_int(const int a[2], const int b[2]) ATTR_WARN_UNUSED_RESULT
bool BLI_rcti_isect_pt_v(const struct rcti *rect, const int xy[2])
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
int BLI_rcti_length_x(const rcti *rect, const int x)
int BLI_rcti_length_y(const rcti *rect, const int y)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
BLI_INLINE float BLI_rctf_size_x(const struct rctf *rct)
#define IN_RANGE_INCL(a, b, c)
struct Depsgraph Depsgraph
void DEG_id_tag_update(struct ID *id, int flag)
struct Scene * DEG_get_evaluated_scene(const struct Depsgraph *graph)
#define ID_IS_LINKED(_id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
#define OB_MODE_ALL_WEIGHT_PAINT
Object is a sort of wrapper for general info.
#define OBEDIT_FROM_VIEW_LAYER(view_layer)
#define SCE_KEYS_NO_SELONLY
#define RGN_ALIGN_ENUM_FROM_MASK(align)
#define AREAMAP_FROM_SCREEN(screen)
@ AREA_FLAG_ACTIONZONES_UPDATE
@ RGN_FLAG_HIDDEN_BY_USER
#define FRAMENUMBER_MIN_CLAMP(cfra)
#define RV3D_GPULIGHT_UPDATE
#define RV3D_VIEWLOCK_INIT
void ED_drivers_editor_init(struct bContext *C, struct ScrArea *area)
@ ANIMFILTER_DATA_VISIBLE
bool ED_space_clip_check_show_maskedit(struct SpaceClip *sc)
bool ED_space_image_check_show_maskedit(struct SpaceImage *sima, struct Object *obedit)
bool ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit)
struct Mesh * ED_mesh_context(struct bContext *C)
struct Object * ED_object_active_context(const struct bContext *C)
void ED_area_tag_redraw(ScrArea *area)
void ED_screen_global_areas_sync(struct wmWindow *win)
void ED_region_visibility_change_update(struct bContext *C, struct ScrArea *area, struct ARegion *region)
void ED_screen_full_prevspace(struct bContext *C, ScrArea *area)
int ED_area_global_min_size_y(const ScrArea *area)
void ED_screen_draw_split_preview(struct ScrArea *area, const int dir, const float fac)
#define ED_screen_verts_iter(win, screen, vert_name)
struct ScrArea * ED_screen_state_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *area, const short state)
#define ED_screen_areas_iter(win, screen, area_name)
void ED_region_remove(struct bContext *C, struct ScrArea *area, struct ARegion *region)
void ED_area_tag_redraw_no_rebuild(ScrArea *area)
int ED_area_global_max_size_y(const ScrArea *area)
void ED_region_toggle_hidden(struct bContext *C, struct ARegion *region)
void ED_screen_animation_timer(struct bContext *C, int redraws, int sync, int enable)
int ED_area_headersize(void)
bool ED_area_is_global(const ScrArea *area)
void ED_region_tag_redraw_no_rebuild(struct ARegion *region)
void ED_refresh_viewport_fps(struct bContext *C)
struct WorkSpaceLayout * ED_workspace_layout_duplicate(struct Main *bmain, struct WorkSpace *workspace, const struct WorkSpaceLayout *layout_old, struct wmWindow *win) ATTR_NONNULL()
@ SPACE_CONTEXT_CYCLE_NEXT
@ SPACE_CONTEXT_CYCLE_PREV
void ED_update_for_newframe(struct Main *bmain, struct Depsgraph *depsgraph)
void ED_region_tag_redraw(struct ARegion *region)
void ED_screen_draw_join_shape(struct ScrArea *sa1, struct ScrArea *sa2)
bool ED_workspace_layout_cycle(struct WorkSpace *workspace, const short direction, struct bContext *C) ATTR_NONNULL()
void ED_area_init(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *area)
void ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2)
@ ANIMPLAY_FLAG_USE_NEXT_FRAME
bool ED_space_sequencer_check_show_maskedit(struct SpaceSeq *sseq, struct Scene *scene)
char ED_view3d_lock_view_from_index(int index)
void ED_view3d_lastview_store(struct RegionView3D *rv3d)
bool ED_view3d_lock(struct RegionView3D *rv3d)
bool ED_view3d_context_user_region(struct bContext *C, struct View3D **r_v3d, struct ARegion **r_region)
void ED_view3d_quadview_update(struct ScrArea *area, struct ARegion *region, bool do_clip)
bool GPU_mem_stats_supported(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 y1
_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 x2
_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 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 v1
Read Guarded memory(de)allocation.
Group RGB to Bright Vector Camera CLAMP
StructRNA RNA_SpaceProperties
StructRNA RNA_Preferences
StructRNA RNA_PreferencesView
#define UI_REGION_OVERLAP_MARGIN
void uiLayoutSetActive(uiLayout *layout, bool active)
void uiLayoutSetOperatorContext(uiLayout *layout, int opcontext)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemFullO(uiLayout *layout, const char *opname, const char *name, int icon, struct IDProperty *properties, int context, int flag, struct PointerRNA *r_opptr)
void uiItemIntO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
void UI_drop_color_copy(struct wmDrag *drag, struct wmDropBox *drop)
#define UI_NAVIGATION_REGION_WIDTH
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
void uiItemS(uiLayout *layout)
bool UI_drop_color_poll(struct bContext *C, struct wmDrag *drag, const struct wmEvent *event, const char **r_tooltip)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
uiBut * UI_context_active_but_prop_get(const struct bContext *C, struct PointerRNA *r_ptr, struct PropertyRNA **r_prop, int *r_index)
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup)
uiPopupMenu * UI_popup_menu_begin(struct bContext *C, const char *title, int icon) ATTR_NONNULL()
float UI_view2d_view_to_region_x(const struct View2D *v2d, float x)
float UI_view2d_view_to_region_y(const struct View2D *v2d, float y)
char UI_view2d_mouse_in_scrollers_ex(const struct ARegion *region, const struct View2D *v2d, int x, int y, int *r_scroll)
void UI_view2d_curRect_validate(struct View2D *v2d)
@ WIN_ALIGN_LOCATION_CENTER
#define WM_EVENT_CURSOR_MOTION_THRESHOLD
void ANIM_anim_channels_select_set(bAnimContext *ac, eAnimChannels_SetFlag sel)
void ANIM_set_active_channel(bAnimContext *ac, void *data, eAnimCont_Types datatype, eAnimFilter_Flags filter, void *channel_data, eAnim_ChannelType channel_type)
bool ANIM_animdata_get_context(const bContext *C, bAnimContext *ac)
void region_toggle_hidden(bContext *C, ARegion *region, const bool do_fade)
void ED_area_data_copy(ScrArea *area_dst, ScrArea *area_src, const bool do_free)
return(oflags[bm->toolflag_index].f &oflag) !=0
ATTR_WARN_UNUSED_RESULT const BMVert * v2
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
bool closest(btVector3 &v)
static float is_left(const float p0[2], const float p1[2], const float p2[2])
const Depsgraph * depsgraph
static CCL_NAMESPACE_BEGIN const double alpha
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
void scene_to_keylist(bDopeSheet *ads, Scene *sce, DLRBT_Tree *keys, int saction_flag)
void mask_to_keylist(bDopeSheet *UNUSED(ads), MaskLayer *masklay, DLRBT_Tree *keys)
short compare_ak_cfraPtr(void *node, void *data)
void gpencil_to_keylist(bDopeSheet *ads, bGPdata *gpd, DLRBT_Tree *keys, const bool active)
void ob_to_keylist(bDopeSheet *ads, Object *ob, DLRBT_Tree *keys, int saction_flag)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static int box_select_exec(bContext *C, wmOperator *op)
static void area(int d1, int d2, int e1, int e2, float weights[2])
bool active
all scheduled work for the GPU.
Object * ED_pose_object_from_context(bContext *C)
void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values)
void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
int RNA_property_enum_step(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, int from_value, int step)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
int RNA_int_get(PointerRNA *ptr, const char *name)
float RNA_float_get(PointerRNA *ptr, const char *name)
void RNA_float_set(PointerRNA *ptr, const char *name, float value)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
int RNA_enum_from_value(const EnumPropertyItem *item, const int value)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
void RNA_property_enum_items(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_int_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
const EnumPropertyItem rna_enum_region_type_items[]
const EnumPropertyItem rna_enum_space_type_items[]
int area_getorientation(ScrArea *area, ScrArea *sb)
int screen_area_join(bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2)
ScrArea * area_split(const wmWindow *win, bScreen *screen, ScrArea *area, char dir, float fac, int merge)
ScrEdge * screen_geom_area_map_find_active_scredge(const ScrAreaMap *area_map, const rcti *bounds_rect, const int mx, const int my)
void screen_geom_select_connected_edge(const wmWindow *win, ScrEdge *edge)
bool screen_geom_edge_is_horizontal(ScrEdge *se)
ScrEdge * screen_geom_find_active_scredge(const wmWindow *win, const bScreen *screen, const int mx, const int my)
int screen_geom_area_width(const ScrArea *area)
int screen_geom_area_height(const ScrArea *area)
void SCREEN_OT_screenshot(struct wmOperatorType *ot)
static int region_flip_exec(bContext *C, wmOperator *UNUSED(op))
static void screen_animation_region_tag_redraw(bContext *C, ScrArea *area, ARegion *region, const Scene *scene, eScreen_Redraws_Flag redraws)
static void SCREEN_OT_back_to_previous(struct wmOperatorType *ot)
static void SCREEN_OT_area_options(wmOperatorType *ot)
static int screen_delete_exec(bContext *C, wmOperator *UNUSED(op))
bool ED_operator_editarmature(bContext *C)
static int frame_jump_exec(bContext *C, wmOperator *op)
static int area_split_exec(bContext *C, wmOperator *op)
static void area_swap_cancel(bContext *C, wmOperator *op)
static void actionzone_exit(wmOperator *op)
static void SCREEN_OT_region_context_menu(wmOperatorType *ot)
static int area_move_modal(bContext *C, wmOperator *op, const wmEvent *event)
static void keymap_modal_set(wmKeyConfig *keyconf)
static void SCREEN_OT_region_scale(wmOperatorType *ot)
static void SCREEN_OT_userpref_show(struct wmOperatorType *ot)
static int screen_maximize_area_exec(bContext *C, wmOperator *op)
bool ED_operator_uvmap(bContext *C)
static int area_swap_invoke(bContext *C, wmOperator *op, const wmEvent *event)
void ED_operatortypes_screen(void)
bool ED_operator_graphedit_active(bContext *C)
bool ED_operator_action_active(bContext *C)
bool ED_operator_sequencer_active_editable(bContext *C)
bool ED_operator_animview_active(bContext *C)
static int area_move_invoke(bContext *C, wmOperator *op, const wmEvent *event)
bool ED_operator_node_editable(bContext *C)
bool ED_operator_screen_mainwinactive(bContext *C)
static int screen_animation_cancel_exec(bContext *C, wmOperator *op)
static bool area_split_menu_init(bContext *C, wmOperator *op)
static void area_move_set_limits(wmWindow *win, bScreen *screen, int dir, int *bigger, int *smaller, bool *use_bigger_smaller_snap)
static bool match_region_with_redraws(const ScrArea *area, eRegionType regiontype, eScreen_Redraws_Flag redraws, bool from_anim_edit)
static void ed_screens_statusbar_menu_create(uiLayout *layout, void *UNUSED(arg))
static void region_scale_validate_size(RegionMoveData *rmd)
static int area_swap_modal(bContext *C, wmOperator *op, const wmEvent *event)
static bool space_context_cycle_poll(bContext *C)
static bool area_split_apply(bContext *C, wmOperator *op)
bool ED_operator_console_active(bContext *C)
static void context_cycle_prop_get(bScreen *screen, const ScrArea *area, PointerRNA *r_ptr, PropertyRNA **r_prop)
static bool screen_animation_region_supports_time_follow(eSpace_Type spacetype, eRegionType regiontype)
float ED_region_blend_alpha(ARegion *region)
static void SCREEN_OT_animation_play(wmOperatorType *ot)
static bool area_join_init(bContext *C, wmOperator *op, ScrArea *sa1, ScrArea *sa2)
static void SCREEN_OT_workspace_cycle(wmOperatorType *ot)
static void area_move_exit(bContext *C, wmOperator *op)
bool ED_operator_info_active(bContext *C)
static void blend_file_drop_copy(wmDrag *drag, wmDropBox *drop)
static int screen_new_exec(bContext *C, wmOperator *UNUSED(op))
void ED_keymap_screen(wmKeyConfig *keyconf)
static int screen_animation_play_exec(bContext *C, wmOperator *op)
static AZone * area_actionzone_refresh_xy(ScrArea *area, const int xy[2], const bool test_only)
bool ED_operator_editable_mesh(bContext *C)
static int region_scale_modal(bContext *C, wmOperator *op, const wmEvent *event)
static int region_blend_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
bool ED_operator_editmesh_auto_smooth(bContext *C)
static int area_join_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_actionzone(wmOperatorType *ot)
static int space_context_cycle_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static int area_join_modal(bContext *C, wmOperator *op, const wmEvent *event)
static void actionzone_apply(bContext *C, wmOperator *op, int type)
static void region_scale_cancel(bContext *UNUSED(C), wmOperator *op)
bool ED_operator_scene(bContext *C)
AZone * ED_area_azones_update(ScrArea *area, const int xy[2])
bool ED_operator_object_active_local_editable(bContext *C)
static int region_toggle_exec(bContext *C, wmOperator *op)
bool ED_operator_screenactive(bContext *C)
bool ED_operator_regionactive(bContext *C)
static int area_snap_calc_location(const bScreen *screen, const enum AreaMoveSnapType snap_type, const int delta, const int origval, const int dir, const int bigger, const int smaller)
static bool actionzone_area_poll(bContext *C)
bool ED_operator_editsurfcurve_region_view3d(bContext *C)
int ED_screen_animation_play(bContext *C, int sync, int mode)
void ED_screens_header_tools_menu_create(bContext *C, uiLayout *layout, void *UNUSED(arg))
static int marker_jump_exec(bContext *C, wmOperator *op)
static void area_split_draw_cb(const struct wmWindow *UNUSED(win), void *userdata)
static void region_scale_toggle_hidden(bContext *C, RegionMoveData *rmd)
static void SCREEN_OT_keyframe_jump(wmOperatorType *ot)
static bool space_type_set_or_cycle_poll(bContext *C)
static int drivers_editor_show_exec(bContext *C, wmOperator *op)
struct RegionAlphaInfo RegionAlphaInfo
static ScrEdge * area_findsharededge(bScreen *screen, ScrArea *area, ScrArea *sb)
static bool ed_spacetype_test(bContext *C, int type)
bool ED_operator_object_active(bContext *C)
bool ED_operator_editsurfcurve(bContext *C)
static void SCREEN_OT_frame_jump(wmOperatorType *ot)
static void SCREEN_OT_redo_last(wmOperatorType *ot)
static int space_type_set_or_cycle_exec(bContext *C, wmOperator *op)
static bool area_swap_init(wmOperator *op, const wmEvent *event)
static void area_move_apply(bContext *C, wmOperator *op)
bool ED_operator_editcurve_3d(bContext *C)
bool ED_operator_objectmode(bContext *C)
static int redo_last_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
static int header_toggle_menus_exec(bContext *C, wmOperator *UNUSED(op))
static bool area_split_init(bContext *C, wmOperator *op)
static void SCREEN_OT_drivers_editor_show(struct wmOperatorType *ot)
bool ED_operator_sequencer_active(bContext *C)
static void SCREEN_OT_animation_step(wmOperatorType *ot)
static void SCREEN_OT_header_toggle_menus(wmOperatorType *ot)
static int area_join_exec(bContext *C, wmOperator *op)
bool ED_operator_scene_editable(bContext *C)
static int actionzone_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_delete(wmOperatorType *ot)
bool ED_operator_image_active(bContext *C)
static void SCREEN_OT_space_type_set_or_cycle(wmOperatorType *ot)
bool ED_operator_view3d_active(bContext *C)
static ScrArea * screen_actionzone_area(bScreen *screen, const AZone *az)
static const EnumPropertyItem prop_direction_items[]
static int info_log_show_exec(bContext *C, wmOperator *op)
static ScrEdge * screen_area_edge_from_cursor(const bContext *C, const int cursor[2], ScrArea **r_sa1, ScrArea **r_sa2)
static AZone * screen_actionzone_find_xy(bScreen *screen, const int xy[2])
static int spacedata_cleanup_exec(bContext *C, wmOperator *op)
bool ED_operator_node_active(bContext *C)
struct sAreaSplitData sAreaSplitData
void ED_screens_footer_tools_menu_create(bContext *C, uiLayout *layout, void *UNUSED(arg))
static void SCREEN_OT_screen_full_area(wmOperatorType *ot)
static bool azone_clipped_rect_calc(const AZone *az, rcti *r_rect_clip)
static bool blend_file_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event), const char **UNUSED(r_tooltip))
static bool repeat_history_poll(bContext *C)
bool ED_operator_posemode_local(bContext *C)
static void SCREEN_OT_frame_offset(wmOperatorType *ot)
static void view3d_localview_update_rv3d(struct RegionView3D *rv3d)
static int repeat_history_exec(bContext *C, wmOperator *op)
static int area_max_regionsize(ScrArea *area, ARegion *scalear, AZEdge edge)
bool ED_operator_nla_active(bContext *C)
bool ED_operator_object_active_local_editable_ex(bContext *C, const Object *ob)
bool ED_operator_screenactive_nobackground(bContext *C)
bool ED_operator_uvedit_space_image(bContext *C)
static void region_scale_exit(wmOperator *op)
static void SCREEN_OT_space_context_cycle(wmOperatorType *ot)
bool ED_operator_region_view3d_active(bContext *C)
bool ED_operator_object_active_editable(bContext *C)
bool ED_operator_posemode_exclusive(bContext *C)
check for pose mode (no mixed modes)
struct sAreaMoveData sAreaMoveData
static bool region_toggle_poll(bContext *C)
static int screen_context_menu_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
bool ED_operator_camera(bContext *C)
static int region_quadview_exec(bContext *C, wmOperator *op)
bool ED_operator_editcurve(bContext *C)
static int repeat_history_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
struct sActionzoneData sActionzoneData
static void area_split_exit(bContext *C, wmOperator *op)
static void SCREEN_OT_area_swap(wmOperatorType *ot)
static int frame_offset_exec(bContext *C, wmOperator *op)
static void area_swap_exit(bContext *C, wmOperator *op)
bScreen * ED_screen_animation_playing(const wmWindowManager *wm)
bool ED_operator_areaactive(bContext *C)
bool ED_operator_editmesh_region_view3d(bContext *C)
static void SCREEN_OT_area_split(wmOperatorType *ot)
void ED_region_visibility_change_update_animated(bContext *C, ScrArea *area, ARegion *region)
bool ED_operator_object_active_editable_mesh(bContext *C)
static void SCREEN_OT_spacedata_cleanup(wmOperatorType *ot)
static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event)
bool ED_operator_posemode_context(bContext *C)
static void SCREEN_OT_repeat_history(wmOperatorType *ot)
bool ED_operator_posemode(bContext *C)
static int repeat_last_exec(bContext *C, wmOperator *UNUSED(op))
bool ED_operator_editmball(bContext *C)
static int area_move_exec(bContext *C, wmOperator *op)
static void SCREEN_OT_new(wmOperatorType *ot)
static void SCREEN_OT_animation_cancel(wmOperatorType *ot)
static int userpref_show_exec(bContext *C, wmOperator *op)
static void fullscreen_click_rcti_init(rcti *rect, const short UNUSED(x1), const short UNUSED(y1), const short x2, const short y2)
static void SCREEN_OT_area_dupli(wmOperatorType *ot)
#define KM_MODAL_SNAP_OFF
bool ED_operator_file_active(bContext *C)
static void area_split_preview_update_cursor(bContext *C, wmOperator *op)
struct sAreaSwapData sAreaSwapData
static void SCREEN_OT_region_quadview(wmOperatorType *ot)
static void SCREEN_OT_screen_set(wmOperatorType *ot)
static void actionzone_cancel(bContext *UNUSED(C), wmOperator *op)
bool ED_operator_editmesh_view3d(bContext *C)
static void area_split_cancel(bContext *C, wmOperator *op)
static bool screen_active_editable(bContext *C)
static bool ED_operator_screenactive_norender(bContext *C)
static int area_split_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int region_scale_invoke(bContext *C, wmOperator *op, const wmEvent *event)
bool ED_operator_editsurf(bContext *C)
static void SCREEN_OT_repeat_last(wmOperatorType *ot)
static bool area_join_apply(bContext *C, wmOperator *op)
struct sAreaJoinData sAreaJoinData
static int actionzone_modal(bContext *C, wmOperator *op, const wmEvent *event)
bScreen * ED_screen_animation_no_scrub(const wmWindowManager *wm)
static void region_blend_end(bContext *C, ARegion *region, const bool is_running)
static int space_workspace_cycle_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
void ED_screens_navigation_bar_tools_menu_create(bContext *C, uiLayout *layout, void *UNUSED(arg))
static void areas_do_frame_follow(bContext *C, bool middle)
struct RegionMoveData RegionMoveData
static void SCREEN_OT_area_move(wmOperatorType *ot)
bool ED_operator_mask(bContext *C)
static void SCREEN_OT_marker_jump(wmOperatorType *ot)
bool ED_operator_editlattice(bContext *C)
static int screen_area_options_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int fullscreen_back_exec(bContext *C, wmOperator *op)
bool ED_operator_outliner_active_no_editobject(bContext *C)
static bool region_flip_poll(bContext *C)
bool ED_operator_editmesh(bContext *C)
static bool ed_object_hidden(const Object *ob)
bool ED_operator_object_active_editable_ex(bContext *UNUSED(C), const Object *ob)
static const EnumPropertyItem space_context_cycle_direction[]
bool ED_operator_uvedit(bContext *C)
static void area_join_cancel(bContext *C, wmOperator *op)
bool ED_operator_outliner_active(bContext *C)
bool ED_operator_object_active_editable_font(bContext *C)
static void region_quadview_init_rv3d(ScrArea *area, ARegion *region, const char viewlock, const char view, const char persp)
static void SCREEN_OT_region_flip(wmOperatorType *ot)
static void area_move_apply_do(const bContext *C, int delta, const int origval, const int dir, const int bigger, const int smaller, const enum AreaMoveSnapType snap_type)
static void area_join_exit(bContext *C, wmOperator *op)
static int screen_animation_step_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
static void area_join_draw_cb(const struct wmWindow *UNUSED(win), void *userdata)
static bool area_move_init(bContext *C, wmOperator *op)
static void area_move_cancel(bContext *C, wmOperator *op)
static bool screen_maximize_area_poll(bContext *C)
static void SCREEN_OT_region_blend(wmOperatorType *ot)
static int area_swap_exec(bContext *C, wmOperator *op)
AZone * ED_area_actionzone_find_xy(ScrArea *area, const int xy[2])
bool ED_operator_buttons_active(bContext *C)
static int area_split_modal(bContext *C, wmOperator *op, const wmEvent *event)
static void SCREEN_OT_info_log_show(struct wmOperatorType *ot)
static int keyframe_jump_exec(bContext *C, wmOperator *op)
static int screen_set_exec(bContext *C, wmOperator *op)
static void SCREEN_OT_region_toggle(wmOperatorType *ot)
static void SCREEN_OT_area_join(wmOperatorType *ot)
bool ED_operator_editfont(bContext *C)
static bool is_split_edge(const int alignment, const AZEdge edge)
int(* snap_size)(const struct ARegion *region, int size, int axis)
struct wmTimer * regiontimer
struct ARegionType * type
AZScrollDirection direction
struct ActKeyColumn * next
struct ActKeyColumn * prev
struct RegionView3D * localvd
double lagging_frame_count
struct bNodeTree * edittree
WorkSpace * temp_workspace_store
struct wmTimer * animtimer
struct ARegion * active_region
enum sAreaMoveData::AreaMoveSnapType snap_type
@ SNAP_FRACTION_AND_ADJACENT
@ SNAP_BIGGER_SMALLER_ONLY
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
int(* modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
void(* cancel)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
struct wmOperatorType * type
struct wmEvent * eventstate
struct WorkSpaceInstanceHook * workspace_hook
__forceinline const avxi abs(const avxi &a)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
void WM_operator_free_all_after(wmWindowManager *wm, struct wmOperator *op)
void WM_cursor_modal_set(wmWindow *win, int val)
void WM_cursor_set(wmWindow *win, int curs)
void WM_cursor_modal_restore(wmWindow *win)
wmDropBox * WM_dropbox_add(ListBase *lb, const char *idname, bool(*poll)(bContext *, wmDrag *, const wmEvent *, const char **), void(*copy)(wmDrag *, wmDropBox *), void(*cancel)(struct Main *, wmDrag *, wmDropBox *))
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
void WM_draw_cb_exit(wmWindow *win, void *handle)
void * WM_draw_cb_activate(wmWindow *win, void(*draw)(const struct wmWindow *, void *), void *customdata)
int WM_operator_repeat_last(bContext *C, wmOperator *op)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
wmEvent * wm_event_add(wmWindow *win, const wmEvent *event_to_add)
int WM_operator_repeat(bContext *C, wmOperator *op)
bool WM_operator_repeat_check(const bContext *UNUSED(C), wmOperator *op)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void wm_event_init_from_window(wmWindow *win, wmEvent *event)
void WM_event_remove_handlers(bContext *C, ListBase *handlers)
void WM_event_add_mousemove(wmWindow *win)
@ EVT_ACTIONZONE_FULLSCREEN
void WM_gesture_box_cancel(bContext *C, wmOperator *op)
int WM_gesture_box_invoke(bContext *C, wmOperator *op, const wmEvent *event)
int WM_gesture_box_modal(bContext *C, wmOperator *op, const wmEvent *event)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
void WM_modalkeymap_assign(wmKeyMap *km, const char *opname)
wmKeyMap * WM_modalkeymap_ensure(wmKeyConfig *keyconf, const char *idname, const EnumPropertyItem *items)
void WM_operator_properties_border(wmOperatorType *ot)
void WM_operatortype_append(void(*opfunc)(wmOperatorType *))
const char * WM_operatortype_name(struct wmOperatorType *ot, struct PointerRNA *properties)
int WM_operator_redo_popup(bContext *C, wmOperator *op)
bool WM_operator_winactive(bContext *C)
wmOperator * WM_operator_last_redo(const bContext *C)
void WM_event_remove_timer(wmWindowManager *wm, wmWindow *UNUSED(win), wmTimer *timer)
bScreen * WM_window_get_active_screen(const wmWindow *win)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
WorkSpace * WM_window_get_active_workspace(const wmWindow *win)
bool WM_window_is_temp_screen(const wmWindow *win)
void WM_window_rect_calc(const wmWindow *win, rcti *r_rect)
void WM_window_screen_rect_calc(const wmWindow *win, rcti *r_rect)
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)
wmTimer * WM_event_add_timer(wmWindowManager *wm, wmWindow *win, int event_type, double timestep)