72 #include "RNA_prototypes.h"
82 #define KM_MODAL_CANCEL 1
83 #define KM_MODAL_APPLY 2
84 #define KM_MODAL_SNAP_ON 3
85 #define KM_MODAL_SNAP_OFF 4
141 if (
G.is_rendering) {
159 if (screen ==
NULL) {
263 if (ob && ob == obedit) {
536 if (obpose !=
NULL) {
753 *r_rect_clip = az->
rect;
798 for (az =
area->actionzones.first; az; az = az->
next) {
830 if (mouse_sq < spot_sq) {
833 else if (mouse_sq < fadein_sq) {
836 else if (mouse_sq < fadeout_sq) {
838 ((
float)(mouse_sq - fadein_sq)) / ((
float)(fadeout_sq - fadein_sq));
864 else if (test_only) {
865 if (isect_value != 0) {
872 if (isect_value ==
'h') {
879 else if (isect_value ==
'v') {
888 float dist_fac = 0.0f, alpha = 0.0f;
891 float hide_width = (az->
y2 - az->
y1) / 2.0f;
893 CLAMP(dist_fac, 0.0f, 1.0f);
894 alpha = 1.0f - dist_fac;
899 float hide_width = (az->
x2 - az->
x1) / 2.0f;
901 CLAMP(dist_fac, 0.0f, 1.0f);
902 alpha = 1.0f - dist_fac;
1007 event.customdata_free =
true;
1028 sad->
x =
event->xy[0];
1029 sad->
y =
event->xy[1];
1052 switch (event->
type) {
1054 const int delta_x = (
event->xy[0] - sad->
x);
1055 const int delta_y = (
event->xy[1] - sad->
y);
1058 const int delta_max =
max_ii(
abs(delta_x),
abs(delta_y));
1061 const int join_threshold = (0.6 *
U.widget_unit);
1062 const int split_threshold = (1.2 *
U.widget_unit);
1063 const int area_threshold = (0.1 *
U.widget_unit);
1066 if (delta_y >
abs(delta_x)) {
1069 else if (delta_x >=
abs(delta_y)) {
1072 else if (delta_y < -
abs(delta_x)) {
1097 is_gesture = (delta_max > area_threshold);
1109 is_gesture = (delta_max > split_threshold);
1131 is_gesture = (delta_max > join_threshold);
1140 is_gesture = (delta_max > area_threshold);
1174 ot->
name =
"Handle Area Action Zones";
1175 ot->
description =
"Handle area action zones for mouse actions/gestures";
1176 ot->
idname =
"SCREEN_OT_actionzone";
1196 const int cursor[2],
1208 if (actedge ==
NULL) {
1215 screen,
SPACE_TYPE_ANY, (
const int[2]){cursor[0], cursor[1] + borderwidth});
1217 screen,
SPACE_TYPE_ANY, (
const int[2]){cursor[0], cursor[1] - borderwidth});
1221 screen,
SPACE_TYPE_ANY, (
const int[2]){cursor[0] + borderwidth, cursor[1]});
1223 screen,
SPACE_TYPE_ANY, (
const int[2]){cursor[0] - borderwidth, cursor[1]});
1308 switch (event->
type) {
1316 if (!sad->
sa2 || sad->
sa1 == sad->
sa2) {
1358 ot->
idname =
"SCREEN_OT_area_swap";
1370 ot->
srna,
"cursor", 2,
NULL, INT_MIN, INT_MAX,
"Cursor",
"", INT_MIN, INT_MAX);
1429 ot->
name =
"Duplicate Area into New Window";
1430 ot->
description =
"Duplicate selected area into new window";
1431 ot->
idname =
"SCREEN_OT_area_dupli";
1508 ot->
idname =
"SCREEN_OT_area_close";
1571 bool *use_bigger_smaller_snap)
1574 *bigger = *smaller = 100000;
1576 if (use_bigger_smaller_snap !=
NULL) {
1577 *use_bigger_smaller_snap =
false;
1582 size_min =
max_ii(size_min, 0);
1587 if ((
area->v1->editflag &&
area->v2->editflag)) {
1588 *smaller =
area->v4->vec.x - size_max;
1589 *bigger =
area->v4->vec.x - size_min;
1590 *use_bigger_smaller_snap =
true;
1594 if ((
area->v2->editflag &&
area->v3->editflag)) {
1595 *smaller =
area->v1->vec.y + size_min;
1596 *bigger =
area->v1->vec.y + size_max;
1597 *use_bigger_smaller_snap =
true;
1601 if ((
area->v3->editflag &&
area->v4->editflag)) {
1602 *smaller =
area->v1->vec.x + size_min;
1603 *bigger =
area->v1->vec.x + size_max;
1604 *use_bigger_smaller_snap =
true;
1608 if ((
area->v4->editflag &&
area->v1->editflag)) {
1609 *smaller =
area->v2->vec.y - size_max;
1610 *bigger =
area->v2->vec.y - size_min;
1611 *use_bigger_smaller_snap =
true;
1624 if (
area->v1->vec.y > window_rect.
ymin) {
1625 areamin +=
U.pixelsize;
1627 if (
area->v2->vec.y < (window_rect.
ymax - 1)) {
1628 areamin +=
U.pixelsize;
1634 if (
area->v1->editflag &&
area->v4->editflag) {
1637 else if (
area->v2->editflag &&
area->v3->editflag) {
1644 if (
area->v1->vec.x > window_rect.
xmin) {
1645 areamin +=
U.pixelsize;
1647 if (
area->v4->vec.x < (window_rect.
xmax - 1)) {
1648 areamin +=
U.pixelsize;
1654 if (
area->v1->editflag &&
area->v2->editflag) {
1655 *bigger =
min_ii(*bigger, x1);
1657 else if (
area->v3->editflag &&
area->v4->editflag) {
1658 *smaller =
min_ii(*smaller, x1);
1677 if (actedge ==
NULL) {
1696 v1->editflag =
v1->flag;
1699 bool use_bigger_smaller_snap =
false;
1703 md->
snap_type = use_bigger_smaller_snap ? SNAP_BIGGER_SMALLER_ONLY : SNAP_AREAGRID;
1709 const enum AreaMoveSnapType snap_type,
1717 int m_cursor_final = -1;
1718 const int m_cursor = origval + delta;
1719 const int m_span = (
float)(bigger + smaller);
1720 const int m_min = origval - smaller;
1723 switch (snap_type) {
1725 m_cursor_final = m_cursor;
1726 if (!
ELEM(delta, bigger, -smaller)) {
1727 m_cursor_final -= (m_cursor %
AREAGRID);
1728 CLAMP(m_cursor_final, origval - smaller, origval + bigger);
1732 case SNAP_BIGGER_SMALLER_ONLY:
1733 m_cursor_final = (m_cursor >= bigger) ? bigger : smaller;
1736 case SNAP_FRACTION_AND_ADJACENT: {
1738 int snap_dist_best = INT_MAX;
1740 const float div_array[] = {
1756 for (
int i = 0; i <
ARRAY_SIZE(div_array); i++) {
1757 const int m_cursor_test = m_min +
round_fl_to_int(m_span * div_array[i]);
1758 const int snap_dist_test =
abs(m_cursor - m_cursor_test);
1759 if (snap_dist_best >= snap_dist_test) {
1760 snap_dist_best = snap_dist_test;
1761 m_cursor_final = m_cursor_test;
1767 if (!
v1->editflag) {
1770 const int v_loc = (&
v1->vec.x)[!axis];
1776 if (v_loc == (&
v2->vec.x)[!axis]) {
1777 const int v_loc2 = (&
v2->vec.x)[axis];
1779 if ((origval - smaller) < v_loc2 && v_loc2 < (origval + bigger)) {
1780 const int snap_dist_test =
abs(m_cursor - v_loc2);
1781 if (snap_dist_best >= snap_dist_test) {
1782 snap_dist_best = snap_dist_test;
1783 m_cursor_final = v_loc2;
1796 IN_RANGE_INCL(m_cursor_final, origval - smaller, origval + bigger));
1798 return m_cursor_final;
1808 const enum AreaMoveSnapType snap_type)
1812 short final_loc = -1;
1813 bool doredraw =
false;
1815 if (snap_type != SNAP_BIGGER_SMALLER_ONLY) {
1816 CLAMP(delta, -smaller, bigger);
1819 if (snap_type == SNAP_NONE) {
1820 final_loc = origval + delta;
1824 screen, snap_type, delta, origval, dir_axis, bigger, smaller);
1833 short oldval = (&
v1->vec.x)[axis];
1834 (&
v1->vec.x)[axis] = final_loc;
1836 if (oldval == final_loc) {
1846 bool redraw_all =
false;
1848 if (
area->v1->editflag ||
area->v2->editflag ||
area->v3->editflag ||
area->v4->editflag) {
1853 area->global->cur_fixed_height =
area->global->size_min;
1856 area->global->cur_fixed_height =
area->global->size_max;
1941 switch (event->
type) {
1953 switch (event->
val) {
1963 if (md->
snap_type != SNAP_BIGGER_SMALLER_ONLY) {
1964 md->
snap_type = SNAP_FRACTION_AND_ADJACENT;
1969 if (md->
snap_type != SNAP_BIGGER_SMALLER_ONLY) {
1984 ot->
name =
"Move Area Edges";
1986 ot->
idname =
"SCREEN_OT_area_move";
2000 RNA_def_int(
ot->
srna,
"delta", 0, INT_MIN, INT_MAX,
"Delta",
"", INT_MIN, INT_MAX);
2142 if (sav1 == sbv4 && sav2 == sbv3) {
2145 if (sav2 == sbv1 && sav3 == sbv4) {
2148 if (sav3 == sbv2 && sav4 == sbv1) {
2151 if (sav1 == sbv2 && sav4 == sbv3) {
2282 const bool is_left = factor_v < 0.5f;
2283 const bool is_bottom = factor_h < 0.5f;
2284 const bool is_right = !
is_left;
2285 const bool is_top = !is_bottom;
2298 if ((is_top &&
is_left) || (is_bottom && is_right)) {
2299 factor = 1.0f - factor;
2319 op->
ptr, prop_factor, ((
float)(event->
xy[0] -
area->v1->vec.x)) / (
float)
area->winx);
2323 op->
ptr, prop_factor, ((
float)(event->
xy[1] -
area->v1->vec.y)) / (
float)
area->winy);
2346 if (actedge ==
NULL) {
2423 bool update_factor =
false;
2426 switch (event->
type) {
2428 update_factor =
true;
2457 update_factor =
true;
2472 update_factor =
true;
2476 if (update_factor) {
2485 SNAP_FRACTION_AND_ADJACENT,
2517 area->v1->editflag =
area->v2->editflag =
area->v3->editflag =
area->v4->editflag = 1;
2520 SNAP_FRACTION_AND_ADJACENT,
2527 area->v1->editflag =
area->v2->editflag =
area->v3->editflag =
area->v4->editflag = 0;
2554 ot->
idname =
"SCREEN_OT_area_split";
2570 ot->
srna,
"cursor", 2,
NULL, INT_MIN, INT_MAX,
"Cursor",
"", INT_MIN, INT_MAX);
2600 dist = region->
winy + scalear->
winy -
U.pixelsize;
2604 dist = region->
winx + scalear->
winx -
U.pixelsize;
2618 if (region == scalear) {
2623 dist -= region->winx;
2626 dist -= region->winx;
2632 dist -= region->winy;
2638 dist -= region->winy;
2726 short *
size, maxsize = -1;
2737 if (*
size > maxsize && maxsize > 0) {
2757 if (region_tool_header !=
NULL) {
2773 switch (event->
type) {
2777 const int snap_size_threshold = (
U.widget_unit * 2) / aspect;
2779 delta =
event->xy[0] - rmd->
orig_xy[0];
2787 const int size_no_snap = rmd->
origval + delta;
2792 if (
abs(rmd->
region->
sizex - sizex_test) < snap_size_threshold) {
2798 if (size_no_snap <
UI_UNIT_X / aspect) {
2812 delta =
event->xy[1] - rmd->
orig_xy[1];
2820 const int size_no_snap = rmd->
origval + delta;
2825 if (
abs(rmd->
region->
sizey - sizey_test) < snap_size_threshold) {
2834 if (size_no_snap < (
UI_UNIT_Y / 4) / aspect) {
2887 ot->
name =
"Scale Region Size";
2889 ot->
idname =
"SCREEN_OT_region_scale";
2925 if ((
scene->
r.
cfra < region->v2d.cur.xmin) ||
2934 region->v2d.cur.xmin = region->v2d.cur.xmax -
w;
2936 else if (
scene->
r.
cfra > region->v2d.cur.xmax) {
2938 region->v2d.cur.xmax = region->v2d.cur.xmin +
w;
2970 ot->
name =
"Frame Offset";
2971 ot->
idname =
"SCREEN_OT_frame_offset";
2972 ot->
description =
"Move current frame forward/backward by a given number";
2981 RNA_def_int(
ot->
srna,
"delta", 0, INT_MIN, INT_MAX,
"Delta",
"", INT_MIN, INT_MAX);
3032 ot->
name =
"Jump to Endpoint";
3033 ot->
description =
"Jump to first/last frame in frame range";
3034 ot->
idname =
"SCREEN_OT_frame_jump";
3107 while ((ak !=
NULL) && (done ==
false)) {
3128 if (done ==
false) {
3145 ot->
name =
"Jump to Keyframe";
3147 ot->
idname =
"SCREEN_OT_keyframe_jump";
3182 if ((marker->frame <
scene->
r.
cfra) && (!found || closest < marker->frame)) {
3209 ot->
name =
"Jump to Marker";
3211 ot->
idname =
"SCREEN_OT_marker_jump";
3246 ot->
idname =
"SCREEN_OT_screen_set";
3273 if (area_iter->full) {
3315 ot->
name =
"Toggle Maximize Area";
3316 ot->
description =
"Toggle display selected area as fullscreen/maximized";
3317 ot->
idname =
"SCREEN_OT_screen_full_area";
3472 if (sad->
sa1 == sad->
sa2) {
3507 switch (event->
type) {
3574 ot->
idname =
"SCREEN_OT_area_join";
3588 ot->
srna,
"cursor", 2,
NULL, INT_MIN, INT_MAX,
"Cursor",
"", INT_MIN, INT_MAX);
3610 "SCREEN_OT_area_split",
3611 IFACE_(
"Vertical Split"),
3623 "SCREEN_OT_area_split",
3624 IFACE_(
"Horizontal Split"),
3641 "SCREEN_OT_area_join",
3654 "SCREEN_OT_area_swap",
3672 ot->
name =
"Area Options";
3674 ot->
idname =
"SCREEN_OT_area_options";
3698 if (
area->spacedata.first !=
area->spacedata.last) {
3716 ot->
name =
"Clean Up Space Data";
3717 ot->
description =
"Remove unused settings for invisible editors";
3718 ot->
idname =
"SCREEN_OT_spacedata_cleanup";
3750 lastop = lastop->
prev;
3764 ot->
name =
"Repeat Last";
3766 ot->
idname =
"SCREEN_OT_repeat_last";
3794 for (i = items - 1, lastop = wm->
operators.
last; lastop; lastop = lastop->
prev, i--) {
3829 ot->
name =
"Repeat History";
3830 ot->
description =
"Display menu for previous actions performed";
3831 ot->
idname =
"SCREEN_OT_repeat_history";
3862 ot->
description =
"Display parameters for last action performed";
3863 ot->
idname =
"SCREEN_OT_redo_last";
3898 rv3d->
persp = persp;
3932 if (region != region_user) {
3963 else if (region->
next) {
3980 int index_qsplit = 0;
3996 (region = region->
next),
4001 (region = region->
next),
4027 ot->
name =
"Toggle Quad View";
4028 ot->
description =
"Split selected area into camera, front, right, and top views";
4029 ot->
idname =
"SCREEN_OT_region_quadview";
4079 ot->
name =
"Toggle Region";
4080 ot->
idname =
"SCREEN_OT_region_toggle";
4093 "Type of the region to toggle");
4147 ot->
name =
"Flip Region";
4148 ot->
idname =
"SCREEN_OT_region_flip";
4149 ot->
description =
"Toggle the region's alignment (left/right or top/bottom)";
4179 ot->
name =
"Expand/Collapse Header Menus";
4180 ot->
idname =
"SCREEN_OT_header_toggle_menus";
4181 ot->
description =
"Expand or collapse the header pulldown menus";
4208 "SCREEN_OT_area_split",
4209 IFACE_(
"Vertical Split"),
4221 "SCREEN_OT_area_split",
4222 IFACE_(
"Horizontal Split"),
4238 "SCREEN_OT_screen_full_area");
4242 "SCREEN_OT_screen_full_area",
4243 IFACE_(
"Full Screen Area"),
4253 uiItemO(layout,
NULL, ICON_NONE,
"SCREEN_OT_area_dupli");
4255 uiItemO(layout,
NULL, ICON_NONE,
"SCREEN_OT_area_close");
4263 IFACE_(
"Flip to Bottom") :
4269 uiItemR(layout, &
ptr,
"show_region_header", 0,
IFACE_(
"Show Header"), ICON_NONE);
4277 uiItemR(
col, &
ptr,
"show_region_tool_header", 0,
IFACE_(
"Show Tool Settings"), ICON_NONE);
4283 "SCREEN_OT_header_toggle_menus");
4291 uiItemO(layout, but_flip_str, ICON_NONE,
"SCREEN_OT_region_flip");
4302 IFACE_(
"Flip to Bottom") :
4307 uiItemR(layout, &
ptr,
"show_region_footer", 0,
IFACE_(
"Show Footer"), ICON_NONE);
4313 uiItemO(layout, but_flip_str, ICON_NONE,
"SCREEN_OT_region_flip");
4323 IFACE_(
"Flip to Right") :
4329 uiItemO(layout, but_flip_str, ICON_NONE,
"SCREEN_OT_region_flip");
4337 uiItemR(layout, &
ptr,
"show_statusbar_stats", 0,
IFACE_(
"Scene Statistics"), ICON_NONE);
4338 uiItemR(layout, &
ptr,
"show_statusbar_memory", 0,
IFACE_(
"System Memory"), ICON_NONE);
4340 uiItemR(layout, &
ptr,
"show_statusbar_vram", 0,
IFACE_(
"Video Memory"), ICON_NONE);
4342 uiItemR(layout, &
ptr,
"show_statusbar_version", 0,
IFACE_(
"Blender Version"), ICON_NONE);
4383 ot->
name =
"Region Context Menu";
4385 ot->
idname =
"SCREEN_OT_region_context_menu";
4410 bool from_anim_edit)
4415 switch (spacetype) {
4455 if ((redraws &
TIME_CLIPS) || from_anim_edit) {
4486 switch (spacetype) {
4572 #ifdef PROFILE_AUDIO_SYNCH
4573 static int old_frame = 0;
4598 if (scene_eval ==
NULL) {
4617 #ifdef PROFILE_AUDIO_SYNCH
4619 if (newfra_int < old_frame) {
4620 printf(
"back jump detected, frame %d!\n", newfra_int);
4622 else if (newfra_int > old_frame + 1) {
4623 printf(
"forward jump detected, frame %d!\n", newfra_int);
4626 old_frame = newfra_int;
4634 double delta_frames = wt->
delta *
FPS;
4639 if (delta_frames < 1.0) {
4645 delta_frames = 1.0f;
4653 const int step = delta_frames;
4717 #ifdef PROFILE_AUDIO_SYNCH
4732 bool redraw =
false;
4733 if (region == sad->
region) {
4767 ot->
name =
"Animation Step";
4769 ot->
idname =
"SCREEN_OT_animation_step";
4860 ot->
name =
"Play Animation";
4862 ot->
idname =
"SCREEN_OT_animation_play";
4870 ot->
srna,
"reverse", 0,
"Play in Reverse",
"Animation is played backwards");
4909 ot->
name =
"Cancel Animation";
4910 ot->
description =
"Cancel animation, returning to the original frame";
4911 ot->
idname =
"SCREEN_OT_animation_cancel";
4922 "Restore the frame when animation was initialized");
4955 printf(
"box select do select\n");
4958 printf(
"box select deselect\n");
4961 printf(
"box select do something\n");
4971 ot->
idname =
"SCREEN_OT_box_select";
4982 RNA_def_int(
ot->
srna,
"event_type", 0, INT_MIN, INT_MAX,
"Event Type",
"", INT_MIN, INT_MAX);
5002 if (area_iter->full) {
5020 ot->
name =
"Back to Previous Screen";
5021 ot->
description =
"Revert back to the original screen layout, before fullscreen area overlay";
5022 ot->
idname =
"SCREEN_OT_back_to_previous";
5057 IFACE_(
"Blender Preferences"),
5091 ot->
name =
"Open Preferences...";
5092 ot->
description =
"Edit user preferences and system settings";
5093 ot->
idname =
"SCREEN_OT_userpref_show";
5104 "Section to activate in the Preferences");
5134 IFACE_(
"Blender Drivers Editor"),
5148 bool driven, special;
5177 ot->
name =
"Show Drivers Editor";
5178 ot->
description =
"Show drivers editor in a separate window";
5179 ot->
idname =
"SCREEN_OT_drivers_editor_show";
5203 IFACE_(
"Blender Info Log"),
5205 event->xy[1] + shift_y,
5222 ot->
name =
"Show Info Log";
5224 ot->
idname =
"SCREEN_OT_info_log_show";
5283 ot->
name =
"Delete Screen";
5308 #define TIMEOUT 0.1f
5309 #define TIMESTEP (1.0f / 60.0f)
5315 region = region->
prev;
5328 CLAMP(alpha, 0.0f, 1.0f);
5428 ot->
name =
"Region Alpha";
5429 ot->
idname =
"SCREEN_OT_region_blend";
5463 if (
area->spacetype != space_type) {
5476 for (
int i = 1; i < item_len; i++) {
5478 if ((item_test->
value >> 16) == space_type) {
5495 ot->
name =
"Cycle Space Type Set";
5497 ot->
idname =
"SCREEN_OT_space_type_set_or_cycle";
5536 const char *propname;
5538 switch (
area->spacetype) {
5541 propname =
"context";
5545 propname =
"active_section";
5574 ot->
name =
"Cycle Space Context";
5575 ot->
description =
"Cycle through the editor context by activating the next/previous one";
5576 ot->
idname =
"SCREEN_OT_space_context_cycle";
5589 "Direction to cycle through");
5614 if (link->data == workspace_src) {
5616 workspace_dst = (link->prev) ? link->prev->data :
NULL;
5619 workspace_dst = (link->next) ? link->next->data :
NULL;
5624 if (workspace_dst ==
NULL) {
5626 workspace_dst = link->
data;
5631 if (workspace_src == workspace_dst) {
5645 ot->
name =
"Cycle Workspace";
5647 ot->
idname =
"SCREEN_OT_workspace_cycle";
5660 "Direction to cycle through");
5745 if (
ELEM(drag->
icon, ICON_FILE_BLEND, ICON_BLENDER)) {
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 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)
void CTX_wm_window_set(bContext *C, struct wmWindow *win)
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 SpaceFile * CTX_wm_space_file(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, const 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(int icon_id)
bool BKE_id_is_editable(const struct Main *bmain, const struct ID *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_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
struct Depsgraph * BKE_scene_get_depsgraph(const struct Scene *scene, const struct ViewLayer *view_layer)
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)
struct ScrArea struct ScrArea * BKE_screen_find_area_xy(struct bScreen *screen, int spacetype, const int xy[2]) ATTR_NONNULL(1
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_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)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT 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)
int BLI_rcti_length_x(const rcti *rect, int x)
int BLI_rcti_length_y(const rcti *rect, int y)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
BLI_INLINE int BLI_rcti_cent_y(const struct rcti *rct)
BLI_INLINE float BLI_rctf_size_x(const struct rctf *rct)
BLI_INLINE int BLI_rcti_cent_x(const struct rcti *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 SCE_KEYS_NO_SELONLY
@ AREA_FLAG_ACTIONZONES_UPDATE
#define RGN_ALIGN_ENUM_FROM_MASK(align)
@ RGN_FLAG_HIDDEN_BY_USER
#define AREAMAP_FROM_SCREEN(screen)
#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_fileselect_is_asset_browser(const struct SpaceFile *sfile)
bool ED_fileselect_is_file_browser(const struct SpaceFile *sfile)
bool ED_space_image_show_uvedit(const 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)
#define ED_screen_verts_iter(win, screen, vert_name)
#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)
ScrArea * ED_area_find_under_cursor(const struct bContext *C, int spacetype, const int xy[2])
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()
void ED_update_for_newframe(struct Main *bmain, struct Depsgraph *depsgraph)
void ED_region_tag_redraw(struct ARegion *region)
struct ScrArea * ED_screen_state_toggle(struct bContext *C, struct wmWindow *win, struct ScrArea *area, short state)
void ED_area_init(struct wmWindowManager *wm, struct wmWindow *win, struct ScrArea *area)
void ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2)
bool ED_workspace_layout_cycle(struct WorkSpace *workspace, short direction, struct bContext *C) ATTR_NONNULL()
@ SPACE_CONTEXT_CYCLE_NEXT
@ SPACE_CONTEXT_CYCLE_PREV
@ ANIMPLAY_FLAG_USE_NEXT_FRAME
bool ED_space_sequencer_has_playback_animation(const struct SpaceSeq *sseq, const 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 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 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 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 Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
#define UI_REGION_OVERLAP_MARGIN
void uiLayoutSetActive(uiLayout *layout, bool active)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void UI_drop_color_copy(struct bContext *C, struct wmDrag *drag, struct wmDropBox *drop)
void uiItemIntO(uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
#define UI_NAVIGATION_REGION_WIDTH
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
void uiItemS(uiLayout *layout)
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)
void uiItemFullO(uiLayout *layout, const char *opname, const char *name, int icon, struct IDProperty *properties, wmOperatorCallContext context, int flag, struct PointerRNA *r_opptr)
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)
bool UI_drop_color_poll(struct bContext *C, struct wmDrag *drag, const struct wmEvent *event)
void uiLayoutSetOperatorContext(uiLayout *layout, wmOperatorCallContext opcontext)
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, const int xy[2], int *r_scroll) ATTR_NONNULL(1
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
SyclQueue void void size_t num_bytes void
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
AnimKeylist * ED_keylist_create()
void scene_to_keylist(bDopeSheet *ads, Scene *sce, AnimKeylist *keylist, const int saction_flag)
void mask_to_keylist(bDopeSheet *UNUSED(ads), MaskLayer *masklay, AnimKeylist *keylist)
void gpencil_to_keylist(bDopeSheet *ads, bGPdata *gpd, AnimKeylist *keylist, const bool active)
void ob_to_keylist(bDopeSheet *ads, Object *ob, AnimKeylist *keylist, const int saction_flag)
void ED_keylist_prepare_for_direct_access(AnimKeylist *keylist)
const ActKeyColumn * ED_keylist_find_next(const AnimKeylist *keylist, const float cfra)
void ED_keylist_free(AnimKeylist *keylist)
const ActKeyColumn * ED_keylist_find_prev(const AnimKeylist *keylist, const float cfra)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static int box_select_exec(bContext *C, wmOperator *op)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
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)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool 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[]
const EnumPropertyItem rna_enum_preference_section_items[]
void screen_draw_split_preview(ScrArea *area, const eScreenAxis dir_axis, const float fac)
void screen_draw_join_highlight(ScrArea *sa1, ScrArea *sa2)
bool screen_area_close(struct bContext *C, bScreen *screen, ScrArea *area)
eScreenDir area_getorientation(ScrArea *sa_a, ScrArea *sa_b)
int screen_area_join(bContext *C, bScreen *screen, ScrArea *sa1, ScrArea *sa2)
ScrArea * area_split(const wmWindow *win, bScreen *screen, ScrArea *area, const eScreenAxis dir_axis, const float fac, const bool 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_area(struct wmOperatorType *ot)
#define SCREEN_DIR_IS_VERTICAL(dir)
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)
bool ED_operator_spreadsheet_active(bContext *C)
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 void screen_area_menu_items(ScrArea *area, uiLayout *layout)
static int area_split_exec(bContext *C, wmOperator *op)
static bool ed_operator_posemode_exclusive_ex(bContext *C, Object *obact)
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 bool area_split_allowed(const ScrArea *area, const eScreenAxis dir_axis)
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 ed_screens_statusbar_menu_create(uiLayout *layout, void *UNUSED(arg))
static void area_move_set_limits(wmWindow *win, bScreen *screen, const eScreenAxis dir_axis, int *bigger, int *smaller, bool *use_bigger_smaller_snap)
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)
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 area_move_apply_do(const bContext *C, int delta, const int origval, const eScreenAxis dir_axis, const int bigger, const int smaller, const enum AreaMoveSnapType snap_type)
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 int area_snap_calc_location(const bScreen *screen, const enum AreaMoveSnapType snap_type, const int delta, const int origval, const eScreenAxis dir_axis, const int bigger, const int smaller)
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 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 bool match_region_with_redraws(const ScrArea *area, eRegion_Type regiontype, eScreen_Redraws_Flag redraws, bool from_anim_edit)
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_area_close(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 bool blend_file_drop_poll(bContext *UNUSED(C), wmDrag *drag, const wmEvent *UNUSED(event))
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)
bool ED_operator_asset_browsing_active(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 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)
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))
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 bool area_close_poll(bContext *C)
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)
bool ED_operator_file_browsing_active(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 blend_file_drop_copy(bContext *UNUSED(C), wmDrag *drag, wmDropBox *drop)
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)
bool ED_operator_camera_poll(bContext *C)
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)
static bool screen_animation_region_supports_time_follow(eSpace_Type spacetype, eRegion_Type regiontype)
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)
bool ED_operator_object_active_local_editable_posemode_exclusive(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
bool ED_operator_object_active_editable_ex(bContext *C, const Object *ob)
static void SCREEN_OT_area_move(wmOperatorType *ot)
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)
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_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)
bool ED_operator_objectmode_poll_msg(bContext *C)
static int area_close_exec(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
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)
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmDropBox * WM_dropbox_add(ListBase *lb, const char *idname, bool(*poll)(bContext *, wmDrag *, const wmEvent *), void(*copy)(bContext *, wmDrag *, wmDropBox *), void(*cancel)(Main *, wmDrag *, wmDropBox *), WMDropboxTooltipFunc tooltip)
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 toplevel, bool dialog, bool temp, eWindowAlignment alignment)
wmTimer * WM_event_add_timer(wmWindowManager *wm, wmWindow *win, int event_type, double timestep)