85 #include "RNA_prototypes.h"
100 #ifdef WITH_XR_OPENXR
104 #define UNDOCUMENTED_OPERATOR_TIP N_("(undocumented operator)")
112 const char *sep = strstr(
src,
"_OT_");
114 int ofs = (sep -
src);
118 memcpy(dst,
src,
sizeof(
char) * ofs);
130 const char *sep = strchr(
src,
'.');
133 const int ofs = (sep -
src);
134 memcpy(dst,
src,
sizeof(
char) * ofs);
136 memcpy(dst + ofs,
"_OT_", 4);
137 memcpy(dst + (ofs + 4), sep + 1, (from_len - ofs));
138 return (from_len - ofs) - 1;
145 const char *classname,
148 const char *ch = idname;
151 for (i = 0; *ch; i++, ch++) {
152 if ((*ch >=
'a' && *ch <=
'z') || (*ch >=
'0' && *ch <=
'9') || *ch ==
'_') {
155 else if (*ch ==
'.') {
161 "Registering operator class: '%s', invalid bl_idname '%s', at position %d",
172 "Registering operator class: '%s', invalid bl_idname '%s', "
173 "is too long, maximum length is %d",
184 "Registering operator class: '%s', invalid bl_idname '%s', must contain 1 '.' character",
195 const bool macro_args,
205 int max_prop_length = 10;
213 bool first_op =
true;
217 for (; opm; opm = opm->
next) {
220 if (opmptr ==
NULL) {
222 opmptr = &opmptr_default;
235 if (opmptr == &opmptr_default) {
243 const bool macro_args_test =
ot->
macro.
first ? macro_args :
true;
247 opptr = &opptr_default;
251 C, opptr,
false, all_args, macro_args_test, max_prop_length);
255 if (opptr == &opptr_default) {
274 const int str_len = strlen(
str);
275 const char *parens_start = strchr(
str,
'(');
278 const int parens_start_pos = parens_start -
str;
279 const char *parens_end = strrchr(parens_start + 1,
')');
282 const int parens_len = parens_end - parens_start;
284 if (parens_len > str_len_max) {
285 const char *comma_first = strchr(parens_start,
',');
289 const char end_str[] =
" ... )";
290 const int end_str_len =
sizeof(end_str) - 1;
293 const int new_str_len = (comma_first - parens_start) + 1;
295 if (str_len >= new_str_len + parens_start_pos + end_str_len + 1) {
297 memcpy(
str + new_str_len + parens_start_pos, end_str, end_str_len + 1);
324 const char *member_found =
NULL;
325 const char *member_id =
NULL;
326 bool member_found_is_id =
false;
328 for (link = lb.
first; link; link = link->
next) {
329 const char *identifier = link->
data;
341 member_found = identifier;
342 member_found_is_id = is_id;
347 member_id = identifier;
354 *r_is_id = member_found_is_id;
357 else if (member_id) {
388 const char *member_id =
NULL;
391 # define CTX_TEST_PTR_ID(C, member, idptr) \
393 const char *ctx_member = member; \
394 PointerRNA ctx_item_ptr = CTX_data_pointer_get(C, ctx_member); \
395 if (ctx_item_ptr.owner_id == idptr) { \
396 member_id = ctx_member; \
403 # define CTX_TEST_PTR_ID_CAST(C, member, member_full, cast, idptr) \
405 const char *ctx_member = member; \
406 const char *ctx_member_full = member_full; \
407 PointerRNA ctx_item_ptr = CTX_data_pointer_get(C, ctx_member); \
408 if (ctx_item_ptr.owner_id && (ID *)cast(ctx_item_ptr.owner_id) == idptr) { \
409 member_id = ctx_member_full; \
416 # define TEST_PTR_DATA_TYPE(member, rna_type, rna_ptr, dataptr_cmp) \
418 const char *ctx_member = member; \
419 if (RNA_struct_is_a((rna_ptr)->type, &(rna_type)) && (rna_ptr)->data == (dataptr_cmp)) { \
420 member_id = ctx_member; \
427 # define TEST_PTR_DATA_TYPE_FROM_CONTEXT(member, rna_type, rna_ptr) \
429 const char *ctx_member = member; \
430 if (RNA_struct_is_a((rna_ptr)->type, &(rna_type)) && \
431 (rna_ptr)->data == (CTX_data_pointer_get_type(C, ctx_member, &(rna_type)).data)) { \
432 member_id = ctx_member; \
456 switch (ptr_id_type) {
472 if (ptr_id_type ==
ID_AR) {
482 # define ID_CAST_OBDATA(id_pt) (((Object *)(id_pt))->data)
485 # undef ID_CAST_OBDATA
488 # define ID_CAST_OBMATACT(id_pt) \
489 (BKE_object_material_get(((Object *)id_pt), ((Object *)id_pt)->actcol))
493 # undef ID_CAST_OBMATACT
496 # define ID_CAST_SCENEWORLD(id_pt) (((Scene *)(id_pt))->world)
499 # undef ID_CAST_SCENEWORLD
508 if (space_data !=
NULL) {
558 # undef CTX_TEST_PTR_ID
559 # undef CTX_TEST_PTR_ID_CAST
560 # undef TEST_PTR_DATA_TYPE
576 char *member_id_data_path =
NULL;
577 if (member_id !=
NULL) {
580 if (data_path !=
NULL) {
583 if (prop_str[0] ==
'[') {
584 member_id_data_path =
BLI_string_joinN(member_id,
".", data_path, prop_str);
588 '.', member_id, data_path, prop_str);
601 if (prop_str[0] ==
'[') {
614 return member_id_data_path;
629 if (member_id_data_path !=
NULL) {
684 if (properties ==
NULL) {
685 properties = &tmp_properties;
688 if (*properties ==
NULL) {
698 (*ptr)->data = *properties;
732 bool changed =
false;
737 if (ptype != &RNA_Struct) {
803 bool changed =
false;
841 bool changed =
false;
868 if (opm->properties) {
906 "wait_to_deselect_others");
913 if (init_event_type == 0) {
944 const int drag_delta[2] = {
945 mval[0] -
event->mval[0],
946 mval[1] -
event->mval[1],
1020 "'%s', '%s' is not an enum property",
1025 const int retval = op->
type->
exec(
C, op);
1067 static char search[256] =
"";
1135 search_menu.
op =
op;
1148 search_menu.
op =
op;
1157 const char *message,
1162 if (properties && properties->
len) {
1275 bool exists =
false;
1281 if (idcode ==
ID_IM) {
1291 "Cannot read %s '%s': %s",
1294 errno ? strerror(errno) :
TIP_(
"unsupported format"));
1298 if (is_relative_path) {
1299 if (exists ==
false) {
1300 if (idcode ==
ID_IM) {
1464 col_block,
UI_BTYPE_BUT, 0,
IFACE_(
"OK"), 0, -30, 0,
UI_UNIT_Y,
NULL, 0, 0, 0, 0,
"");
1471 block, 6 *
U.dpi_fac, (
const int[2]){data->width / -2, data->height / 2});
1510 if (
data->free_op) {
1523 if (op && retval > 0) {
1537 data->free_op =
true;
1554 "Operator '%s' does not have register enabled, incorrect invoke function",
1563 "Operator '%s' does not have undo enabled, incorrect invoke function",
1607 data->free_op =
true;
1622 "Operator redo '%s' does not have register enabled, incorrect invoke function",
1670 RNA_def_int(
ot->
srna,
"debug_value", 0, SHRT_MIN, SHRT_MAX,
"Debug Value",
"", -10000, 10000);
1695 ot->
name =
"Restore Operator Defaults";
1696 ot->
idname =
"WM_OT_operator_defaults";
1697 ot->
description =
"Set the active operator to its default values";
1722 static char search[256] =
"";
1829 ot->
name =
"Search Menu";
1831 ot->
description =
"Pop-up a search over all menus in the current context";
1840 ot->
name =
"Search Operator";
1841 ot->
idname =
"WM_OT_search_operator";
1842 ot->
description =
"Pop-up a search over all available operators in current context";
1906 ot->
name =
"Call Pie Menu";
1907 ot->
idname =
"WM_OT_call_menu_pie";
1999 ot->
name =
"Close Window";
2019 ot->
name =
"New Main Window";
2020 ot->
idname =
"WM_OT_window_new_main";
2021 ot->
description =
"Create a new main window with its own workspace and scene selection";
2029 ot->
name =
"Toggle Window Fullscreen";
2030 ot->
idname =
"WM_OT_window_fullscreen_toggle";
2058 ot->
name =
"Quit Blender";
2084 ot->
idname =
"WM_OT_console_toggle";
2087 ot->
exec = wm_console_toggle_exec;
2142 if (pc->draw == draw_fn) {
2144 free(pc->customdata);
2158 #define WM_RADIAL_CONTROL_DISPLAY_SIZE (200 * UI_DPI_FAC)
2159 #define WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE (35 * UI_DPI_FAC)
2160 #define WM_RADIAL_CONTROL_DISPLAY_WIDTH \
2161 (WM_RADIAL_CONTROL_DISPLAY_SIZE - WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE)
2162 #define WM_RADIAL_MAX_STR 10
2173 int initial_mouse[2];
2232 float d[2] = {0, 0};
2233 float zoom[2] = {1, 1};
2300 float col[3] = {0, 0, 0};
2374 float step = (radius * 2.0f) / (
float)line_segments;
2377 for (
int i = 0; i < line_segments; i++) {
2392 short fstyle_points = fstyle->
points;
2394 short strdrawlen = 0;
2395 float strwidth, strheight;
2396 float r1 = 0.0f, r2 = 0.0f, rmin = 0.0, tex_radius, alpha;
2397 float zoom[2],
col[4] = {1.0f, 1.0f, 1.0f, 1.0f};
2398 float text_color[4];
2506 const float black[3] = {0.0f};
2524 BLF_size(fontid, 1.75f * fstyle_points *
U.pixelsize,
U.dpi);
2530 BLF_position(fontid, -0.5f * strwidth, -0.5f * strheight, 0.0f);
2570 if (
str[0] ==
'\0') {
2579 r_prop = &unused_prop;
2610 "Property from path '%s' has length %d instead of %d",
2637 &use_secondary_prop,
2643 const char *data_path;
2645 data_path =
"data_path_secondary";
2648 data_path =
"data_path_primary";
2682 "fill_color_override_path",
2691 "fill_color_override_test_path",
2745 int value,
min,
max, step;
2756 float value,
min,
max, step, precision;
2790 "Property must be a none, distance, factor, percentage, angle, or pixel");
2859 float new_value, dist = 0.0f, zoom[2];
2862 float angle_precision = 0.0f;
2864 bool handled =
false;
2876 numValue = fmod(numValue, 2.0f * (
float)
M_PI);
2877 if (numValue < 0.0f) {
2883 new_value = numValue;
2892 switch (event->
type) {
2909 if (!has_numInput) {
2925 delta[0] /= zoom[0];
2933 delta[0] /= zoom[0];
2936 dist = dist + 0.1f * (delta[0]);
2944 delta[0] /= zoom[0];
2945 delta[1] /= zoom[1];
2951 dist =
clamp_f(-delta[0], 0.0f, FLT_MAX);
2962 new_value = ((int)new_value + 5) / 10 * 10;
2970 new_value = ((int)(new_value + 2.5f)) / 5 * 5;
2976 new_value = ((int)
ceil(new_value * 10.0f) * 10.0f) / 100.0f;
2979 new_value = 1 - new_value;
2982 new_value =
atan2f(delta[1], delta[0]) + (
float)
M_PI + angle_precision;
2983 new_value = fmod(new_value, 2.0f * (
float)
M_PI);
2984 if (new_value < 0.0f) {
3034 numValue = fmod(numValue, 2.0f * (
float)
M_PI);
3035 if (numValue < 0.0f) {
3041 new_value = numValue;
3077 ot->
name =
"Radial Control";
3078 ot->
idname =
"WM_OT_radial_control";
3079 ot->
description =
"Set some size property (e.g. brush size) with mouse wheel";
3090 "data_path_primary",
3093 "Primary Data Path",
3094 "Primary path of property to be set by the radial control");
3098 "data_path_secondary",
3101 "Secondary Data Path",
3102 "Secondary path of property to be set by the radial control");
3110 "Path of property to select between the primary and secondary data paths");
3118 "Path of property used to rotate the texture display");
3126 "Path of property used to set the color of the control");
3134 "Path of property used to set the fill color of the control");
3138 ot->
srna,
"fill_color_override_path",
NULL, 0,
"Fill Color Override Path",
"");
3141 ot->
srna,
"fill_color_override_test_path",
NULL, 0,
"Fill Color Override Test",
"");
3149 "Path of property used to set the zoom level for the control");
3157 "Path of ID that is used to generate an image for the control");
3161 ot->
srna,
"secondary_tex",
false,
"Secondary Texture",
"Tweak brush secondary/mask texture");
3165 ot->
srna,
"release_confirm",
false,
"Confirm On Release",
"Finish operation on key release");
3206 {
eRTDrawRegionSwap,
"DRAW_SWAP", 0,
"Draw Region & Swap",
"Draw region and swap"},
3207 {
eRTDrawWindow,
"DRAW_WIN", 0,
"Draw Window",
"Draw window"},
3208 {
eRTDrawWindowSwap,
"DRAW_WIN_SWAP", 0,
"Draw Window & Swap",
"Draw window and swap"},
3210 {
eRTAnimationPlay,
"ANIM_PLAY", 0,
"Animation Play",
"Animation playback"},
3211 {
eRTUndo,
"UNDO", 0,
"Undo/Redo",
"Undo and redo"},
3245 if (!region_iter->visible) {
3309 const char *infostr =
"";
3322 for (
int a = 0;
a < iter;
a++) {
3326 if (time_limit != 0.0) {
3342 "%d x %s: %.4f ms, average: %.8f ms",
3346 time_delta / iter_steps);
3353 ot->
name =
"Redraw Timer";
3355 ot->
description =
"Simple redraw timer to test the speed of updating the interface";
3363 ot->
srna,
"iterations", 10, 1, INT_MAX,
"Iterations",
"Number of times to redraw", 1, 1000);
3370 "Seconds to run the test for (override iterations)",
3391 ot->
name =
"Memory Statistics";
3392 ot->
idname =
"WM_OT_memory_statistics";
3425 const int cb_flag = cb_data->
cb_flag;
3452 for (
int i = 0; lb[i]; i++) {
3456 preview_id_data.
C =
C;
3467 for (
int i = 0; lb[i]; i++) {
3481 ot->
name =
"Refresh Data-Block Previews";
3482 ot->
idname =
"WM_OT_previews_ensure";
3484 "Ensure data-block previews are available and up-to-date "
3485 "(to be saved in .blend file, only for some types like materials, textures, etc.)";
3516 "All Geometry Types",
3517 "Clear previews for scenes, collections and objects"},
3521 "All Shading Types",
3522 "Clear previews for materials, lights, worlds, textures and images"},
3532 {PREVIEW_FILTER_BRUSH,
"BRUSH", 0,
"Brushes",
""},
3584 for (
int i = 0; lb[i]; i++) {
3591 printf(
"%s: %d, %d, %d -> %d\n",
3603 for (;
id;
id =
id->
next) {
3615 ot->
name =
"Clear Data-Block Previews";
3616 ot->
idname =
"WM_OT_previews_clear";
3618 "Clear data-block previews (only for some types like objects, materials, textures, etc.)";
3628 "Which data-block previews to clear");
3662 ot->
name =
"View Online Manual";
3663 ot->
idname =
"WM_OT_doc_view_manual_ui_context";
3664 ot->
description =
"View a context based online manual in a web browser";
3683 ot->
name =
"Set Stereo 3D";
3684 ot->
idname =
"WM_OT_set_stereo_3d";
3685 ot->
description =
"Toggle 3D stereo support for current window (or change the display mode)";
3716 "use_interlace_swap",
3719 "Swap left and right stereo channels");
3722 "use_sidebyside_crosseyed",
3725 "Right eye should see left image and vice versa");
3779 #ifdef WITH_XR_OPENXR
4004 bool (*filter_ids)(
const ID *
id,
void *
user_data),
4012 const short id_type =
GS(
id->
name);
4013 for (;
id;
id =
id->
next) {
4014 if ((filter_ids !=
NULL) && filter_ids(
id,
user_data) ==
false) {
4020 item_tmp.
value = i++;
4023 if (id_type ==
ID_GR) {
typedef float(TangentPoint)[2]
bool id_type_can_have_animdata(short id_type)
float BKE_brush_curve_strength_clamped(const struct Brush *br, float p, float len)
struct ImBuf * BKE_brush_gen_radial_control_imbuf(struct Brush *br, bool secondary, bool display_gradient)
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 Object * CTX_data_edit_object(const bContext *C)
void CTX_wm_menu_set(bContext *C, struct ARegion *menu)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type)
struct View3D * CTX_wm_view3d(const bContext *C)
ListBase CTX_data_dir_get_ex(const bContext *C, bool use_store, bool use_rna, bool use_all)
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 ReportList * CTX_wm_reports(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
struct Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
void CTX_wm_area_set(bContext *C, struct ScrArea *area)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
struct PreviewImage * BKE_previewimg_id_ensure(struct ID *id)
void BKE_previewimg_clear(struct PreviewImage *prv)
void IDP_ReplaceInGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
struct IDProperty * IDP_New(char type, const IDPropertyTemplate *val, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void IDP_MergeGroup(struct IDProperty *dest, const struct IDProperty *src, bool do_overwrite) ATTR_NONNULL()
void IDP_FreeProperty(struct IDProperty *prop)
bool IDP_AddToGroup(struct IDProperty *group, struct IDProperty *prop) ATTR_NONNULL()
struct IDProperty * IDP_GetPropertyFromGroup(const struct IDProperty *prop, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void IDP_ClearProperty(struct IDProperty *prop)
struct IDProperty * IDP_CopyProperty(const struct IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
const char * BKE_idtype_idcode_to_name(short idcode)
uint64_t BKE_idtype_idcode_to_idfilter(short idcode)
struct Image * BKE_image_load_exists_ex(struct Main *bmain, const char *filepath, bool *r_exists)
void BKE_main_id_tag_all(struct Main *mainvar, int tag, bool value)
void id_us_plus(struct ID *id)
void BKE_main_id_tag_listbase(struct ListBase *lb, int tag, bool value)
void BKE_library_foreach_ID_link(struct Main *bmain, struct ID *id, LibraryIDLinkCallback callback, void *user_data, int flag)
const char * BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL()
General operations, lookup, etc. for materials.
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
void BKE_scene_graph_update_for_newframe(struct Depsgraph *depsgraph)
void BLF_width_and_height(int fontid, const char *str, size_t str_len, float *r_width, float *r_height) ATTR_NONNULL()
void BLF_color4fv(int fontid, const float rgba[4])
void BLF_draw(int fontid, const char *str, size_t str_len) ATTR_NONNULL(2)
void BLF_size(int fontid, float size, int dpi)
void BLF_position(int fontid, float x, float y, float z)
#define BLI_assert_unreachable()
Dial * BLI_dial_init(const float start_position[2], float threshold)
float BLI_dial_angle(Dial *dial, const float current_position[2])
A dynamically sized string ADT.
DynStr * BLI_dynstr_new(void) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
char * BLI_dynstr_get_cstring(const DynStr *ds) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_dynstr_free(DynStr *ds) ATTR_NONNULL()
void BLI_dynstr_appendf(DynStr *__restrict ds, const char *__restrict format,...) ATTR_PRINTF_FORMAT(2
void BLI_dynstr_append(DynStr *__restrict ds, const char *cstr) ATTR_NONNULL()
void BLI_kdtree_nd_() free(KDTree *tree)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
#define LISTBASE_FOREACH_BACKWARD(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
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)
MINLINE float max_ff(float a, float b)
MINLINE int min_ii(int a, int b)
MINLINE float clamp_f(float value, float min, float max)
MINLINE float min_ff(float a, float b)
MINLINE int max_ii(int a, int b)
MINLINE void copy_v2_v2_int(int r[2], const int a[2])
MINLINE float len_v2(const float a[2]) ATTR_WARN_UNUSED_RESULT
void BLI_path_rel(char *file, const char *relfile) ATTR_NONNULL()
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
#define STRNCPY(dst, src)
size_t BLI_strncpy_rlen(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_str_tolower_ascii(char *str, size_t len) ATTR_NONNULL()
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
void BLI_str_toupper_ascii(char *str, size_t len) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
size_t BLI_strlen_utf8(const char *strc) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
#define BLI_string_joinN(...)
#define BLI_string_join_by_sep_charN(sep,...)
#define POINTER_FROM_INT(i)
#define POINTER_AS_INT(i)
#define CTX_N_(context, msgid)
#define CTX_IFACE_(context, msgid)
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
typedef double(DMatrix)[4][4]
#define CLOG_ERROR(clg_ref,...)
#define CLOG_INFO(clg_ref, level,...)
struct Depsgraph Depsgraph
ID and Library types, which are fundamental for sdna.
#define ID_IS_LINKED(_id)
Object is a sort of wrapper for general info.
#define OB_DATA_SUPPORT_ID_CASE
#define OPERATOR_RETVAL_CHECK(ret)
struct FileSelectParams * ED_fileselect_get_active_params(const struct SpaceFile *sfile)
void ED_area_tag_redraw(ScrArea *area)
void ED_area_status_text(ScrArea *area, const char *str)
bool ED_operator_regionactive(struct bContext *C)
void ED_region_tag_redraw(struct ARegion *region)
void ED_screen_refresh(struct wmWindowManager *wm, struct wmWindow *win)
void ED_undo_redo(struct bContext *C)
void ED_undo_pop(struct bContext *C)
bool ED_undo_is_legacy_compatible_for_property(struct bContext *C, struct ID *id)
int ED_undo_operator_repeat(struct bContext *C, struct wmOperator *op)
void ED_undo_push(struct bContext *C, const char *str)
void ED_undo_push_op(struct bContext *C, struct wmOperator *op)
bool ED_undo_is_valid(const struct bContext *C, const char *undoname)
float ED_scene_grid_scale(const struct Scene *scene, const char **r_grid_unit)
float ED_view3d_grid_scale(const struct Scene *scene, struct View3D *v3d, const char **r_grid_unit)
GHOST C-API function and type declarations.
bool GHOST_setConsoleWindowState(GHOST_TConsoleWindowState action)
@ GHOST_kConsoleWindowStateToggle
_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 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 width
void GPU_matrix_pop(void)
void GPU_matrix_scale_2fv(const float vec[2])
void GPU_matrix_push(void)
void GPU_matrix_rotate_2d(float deg)
void GPU_matrix_rotate_3f(float deg, float x, float y, float z)
void GPU_matrix_translate_2f(float x, float y)
@ GPU_SHADER_2D_UNIFORM_COLOR
@ GPU_SHADER_2D_IMAGE_COLOR
void GPU_blend(eGPUBlend blend)
void GPU_line_width(float width)
void GPU_line_smooth(bool enable)
void GPU_texture_swizzle_set(GPUTexture *tex, const char swizzle[4])
struct GPUTexture GPUTexture
void GPU_texture_free(GPUTexture *tex)
void GPU_texture_filter_mode(GPUTexture *tex, bool use_filter)
void GPU_texture_unbind(GPUTexture *tex)
GPUTexture * GPU_texture_create_2d(const char *name, int w, int h, int mip_len, eGPUTextureFormat format, const float *data)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
static void init_data(ModifierData *md)
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
Platform independent time functions.
#define RNA_STRUCT_BEGIN(sptr, prop)
short RNA_type_to_ID_code(const StructRNA *type)
#define RNA_PROP_BEGIN(sptr, itemptr, prop)
#define RNA_SUBTYPE_UNIT_VALUE(subtype)
@ PROP_STRING_SEARCH_SUGGESTION
@ PROP_STRING_SEARCH_SORT
int UI_searchbox_size_x(void)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
@ UI_BUT_ACTIVATE_ON_INIT
void uiTemplateOperatorPropertyButs(const struct bContext *C, uiLayout *layout, struct wmOperator *op, eButLabelAlign label_align, short flag)
const struct uiStyle * UI_style_get_dpi(void)
void UI_block_theme_style_set(uiBlock *block, char theme_style)
int UI_searchbox_size_y(void)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
void UI_popup_block_close(struct bContext *C, struct wmWindow *win, uiBlock *block)
void UI_popup_block_invoke_ex(struct bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free, bool can_refresh)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
uiBut * uiDefBut(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
void UI_block_bounds_set_popup(uiBlock *block, int addval, const int bounds_offset[2])
const struct uiStyle * UI_style_get(void)
@ UI_BLOCK_THEME_STYLE_REGULAR
@ UI_BLOCK_THEME_STYLE_POPUP
void UI_block_flag_disable(uiBlock *block, int flag)
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
@ UI_TEMPLATE_OP_PROPS_SHOW_TITLE
void UI_block_func_handle_set(uiBlock *block, uiBlockHandleFunc func, void *arg)
void UI_but_func_menu_search(uiBut *but)
@ UI_BUT_LABEL_ALIGN_SPLIT_COLUMN
@ UI_BUT_LABEL_ALIGN_NONE
@ UI_BUT_LABEL_ALIGN_COLUMN
void uiItemFullO_ptr(uiLayout *layout, struct wmOperatorType *ot, const char *name, int icon, struct IDProperty *properties, wmOperatorCallContext context, int flag, struct PointerRNA *r_opptr)
void UI_but_func_operator_search(uiBut *but)
uiBut * uiDefSearchButO_ptr(uiBlock *block, struct wmOperatorType *ot, struct IDProperty *properties, void *arg, int retval, int icon, int maxlen, int x, int y, short width, short height, float a1, float a2, const char *tip)
void UI_popup_block_ex(struct bContext *C, uiBlockCreateFunc func, uiBlockHandleFunc popup_func, uiBlockCancelFunc cancel_func, void *arg, struct wmOperator *op)
void UI_block_func_set(uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2)
uiLayout * UI_block_layout(uiBlock *block, int dir, int type, int x, int y, int size, int em, int padding, const struct uiStyle *style)
void UI_but_func_set(uiBut *but, uiButHandleFunc func, void *arg1, void *arg2)
uiBlock * UI_block_begin(const struct bContext *C, struct ARegion *region, const char *name, eUIEmbossType emboss)
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup)
uiBut * uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x, int y, short width, short height, float a1, float a2, const char *tip)
void UI_but_focus_on_enter_event(struct wmWindow *win, uiBut *but)
int UI_popover_panel_invoke(struct bContext *C, const char *idname, bool keep_open, struct ReportList *reports)
void UI_block_flag_enable(uiBlock *block, int flag)
void UI_popup_block_invoke(struct bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free)
void uiLayoutSetOperatorContext(uiLayout *layout, wmOperatorCallContext opcontext)
int UI_popup_menu_invoke(struct bContext *C, const char *idname, struct ReportList *reports) ATTR_NONNULL(1
void UI_but_flag_enable(uiBut *but, int flag)
void uiItemsFullEnumO(uiLayout *layout, const char *opname, const char *propname, struct IDProperty *properties, wmOperatorCallContext context, int flag)
uiPopupMenu * UI_popup_menu_begin(struct bContext *C, const char *title, int icon) ATTR_NONNULL()
int UI_pie_menu_invoke(struct bContext *C, const char *idname, const struct wmEvent *event)
bool UI_but_online_manual_id_from_active(const struct bContext *C, char *r_str, size_t maxlength) ATTR_WARN_UNUSED_RESULT
int void UI_popup_menu_retval_set(const uiBlock *block, int retval, bool enable)
@ UI_BLOCK_MOVEMOUSE_QUIT
int UI_icon_color_from_collection(const struct Collection *collection)
void UI_icon_render_id(const struct bContext *C, struct Scene *scene, struct ID *id, enum eIconSizes size, bool use_job)
void UI_GetThemeColor4fv(int colorid, float col[4])
void(* wmPaintCursorDraw)(struct bContext *C, int, int, void *customdata)
@ WM_OP_INVOKE_REGION_WIN
struct CLG_LogRef * WM_LOG_OPERATORS
const Depsgraph * depsgraph
SyclQueue void void * src
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
void(* MEM_freeN)(void *vmemh)
void(* MEM_printmemlist_stats)(void)
void *(* MEM_callocN)(size_t len, const char *str)
ccl_device_inline float3 ceil(const float3 &a)
static void area(int d1, int d2, int e1, int e2, float weights[2])
vector snap(vector a, vector b)
float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step)
bool RNA_property_array_check(PropertyRNA *prop)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *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)
char * RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index, int max_prop_length)
bool RNA_struct_is_ID(const StructRNA *type)
const char * RNA_property_identifier(const PropertyRNA *prop)
void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision)
char * RNA_pointer_as_string_keywords(bContext *C, PointerRNA *ptr, const bool as_function, const bool all_args, const bool nested_args, const int max_prop_length)
PropertyUnit RNA_property_unit(PropertyRNA *prop)
bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index)
bool RNA_property_is_set_ex(PointerRNA *ptr, PropertyRNA *prop, bool use_ghost)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
PropertyType RNA_property_type(PropertyRNA *prop)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
int RNA_int_get(PointerRNA *ptr, const char *name)
void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value)
StructRNA * RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop)
int RNA_property_flag(PropertyRNA *prop)
void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value)
float RNA_float_get(PointerRNA *ptr, const char *name)
char * RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen, int *r_len)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_enum_description(const EnumPropertyItem *item, const int value, const char **r_description)
void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
char * RNA_pointer_as_string_id(bContext *C, PointerRNA *ptr)
PropertySubType RNA_property_subtype(PropertyRNA *prop)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_struct_iterator_property(StructRNA *type)
float RNA_property_float_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
const char * RNA_property_ui_name(const PropertyRNA *prop)
void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value)
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_enum_flag(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_string_search_func_runtime(PropertyRNA *prop, StringPropertySearchFunc search_fn, const eStringPropertySearchFlag search_flag)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
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)
char * RNA_path_from_ID_to_struct(const PointerRNA *ptr)
char * RNA_path_full_property_py(Main *bmain, const PointerRNA *ptr, PropertyRNA *prop, int index)
char * RNA_path_property_py(const PointerRNA *UNUSED(ptr), PropertyRNA *prop, int index)
bool RNA_path_resolve(const PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop)
const EnumPropertyItem rna_enum_stereo3d_display_items[]
const EnumPropertyItem rna_enum_stereo3d_anaglyph_type_items[]
const EnumPropertyItem rna_enum_stereo3d_interlace_type_items[]
struct CurveMapping * curve
char translation_context[BKE_ST_MAXNAME]
char label[BKE_ST_MAXNAME]
PointerRNA fill_col_override_test_ptr
ListBase orig_paintcursors
PropertyRNA * fill_col_override_test_prop
PropertyRNA * fill_col_override_prop
PointerRNA fill_col_override_ptr
PropertyRNA * fill_col_prop
StructRNA * image_id_srna
struct EditBone * act_edbone
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
struct IDProperty * last_properties
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
void(* cancel)(struct bContext *, struct wmOperator *)
const char * translation_context
void(* ui)(struct bContext *, struct wmOperator *)
bool(* check)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
const char *(* get_name)(struct wmOperatorType *, struct PointerRNA *)
struct ReportList * reports
struct wmOperatorType * type
void(* draw)(bContext *C, int, int, void *customdata)
bool(* poll)(struct bContext *C)
double PIL_check_seconds_timer(void)
void wm_operator_register(bContext *C, wmOperator *op)
void WM_operator_free(wmOperator *op)
void WM_cursor_wait(bool val)
void wm_draw_region_test(bContext *C, ScrArea *area, ARegion *region)
void wm_draw_update(bContext *C)
bool WM_event_drag_test_with_delta(const wmEvent *event, const int drag_delta[2])
void WM_event_drag_start_mval(const wmEvent *event, const ARegion *region, int r_mval[2])
int WM_userdef_event_type_from_keymap_type(int kmitype)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_event_add_fileselect(bContext *C, wmOperator *op)
void wm_event_do_refresh_wm_and_depsgraph(bContext *C)
int WM_operator_repeat(bContext *C, wmOperator *op)
int WM_operator_call_notest(bContext *C, wmOperator *op)
int WM_operator_name_call_ptr(bContext *C, wmOperatorType *ot, wmOperatorCallContext context, PointerRNA *properties, const wmEvent *event)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
int WM_operator_call_ex(bContext *C, wmOperator *op, const bool store)
#define ISMOUSE_MOTION(event_type)
@ GESTURE_MODAL_CIRCLE_SIZE
@ GESTURE_MODAL_CIRCLE_ADD
@ GESTURE_MODAL_CIRCLE_SUB
void WM_OT_read_history(wmOperatorType *ot)
void WM_OT_save_as_mainfile(wmOperatorType *ot)
void WM_OT_open_mainfile(wmOperatorType *ot)
void WM_OT_recover_last_session(wmOperatorType *ot)
void WM_OT_read_userpref(wmOperatorType *ot)
void WM_OT_save_homefile(wmOperatorType *ot)
void WM_OT_read_factory_userpref(wmOperatorType *ot)
void WM_OT_save_mainfile(wmOperatorType *ot)
void WM_OT_recover_auto_save(wmOperatorType *ot)
void WM_OT_read_factory_settings(wmOperatorType *ot)
void WM_OT_read_homefile(wmOperatorType *ot)
void WM_OT_save_userpref(wmOperatorType *ot)
void WM_OT_revert_mainfile(wmOperatorType *ot)
void WM_OT_lib_relocate(wmOperatorType *ot)
void WM_OT_append(wmOperatorType *ot)
void WM_OT_lib_reload(wmOperatorType *ot)
void WM_OT_link(wmOperatorType *ot)
void GIZMOGROUP_OT_gizmo_select(wmOperatorType *ot)
void GIZMOGROUP_OT_gizmo_tweak(wmOperatorType *ot)
void wm_gizmos_keymap(wmKeyConfig *keyconf)
void wm_exit_schedule_delayed(const bContext *C)
bool WM_jobs_test(const wmWindowManager *wm, const void *owner, int job_type)
wmKeyMap * WM_modalkeymap_find(wmKeyConfig *keyconf, const char *idname)
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_keymap_fix_linking(void)
ID * WM_operator_properties_id_lookup_from_name_or_session_uuid(Main *bmain, PointerRNA *ptr, const ID_Type type)
bool WM_operator_properties_id_lookup_is_set(PointerRNA *ptr)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operatortype_append(void(*opfunc)(wmOperatorType *))
const char * WM_operatortype_name(struct wmOperatorType *ot, struct PointerRNA *properties)
int WM_menu_invoke_ex(bContext *C, wmOperator *op, wmOperatorCallContext opcontext)
char * WM_prop_pystring_assign(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index)
static void WM_OT_call_menu_pie(wmOperatorType *ot)
static void gesture_box_modal_keymap(wmKeyConfig *keyconf)
static int wm_exit_blender_exec(bContext *C, wmOperator *UNUSED(op))
const EnumPropertyItem * RNA_mask_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
#define CTX_TEST_PTR_ID_CAST(C, member, member_full, cast, idptr)
static void WM_OT_search_menu(wmOperatorType *ot)
IDProperty * WM_operator_last_properties_ensure_idprops(wmOperatorType *ot)
#define ID_CAST_SCENEWORLD(id_pt)
static const EnumPropertyItem * rna_id_itemf(bool *r_free, ID *id, bool local, bool(*filter_ids)(const ID *id, void *user_data), void *user_data)
static void WM_OT_doc_view_manual_ui_context(wmOperatorType *ot)
char * WM_context_path_resolve_property_full(const bContext *C, const PointerRNA *ptr, PropertyRNA *prop, int index)
bool WM_operator_pystring_abbreviate(char *str, int str_len_max)
static char * wm_prop_pystring_from_context(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index)
static uiBlock * wm_block_search_menu(bContext *C, ARegion *region, void *userdata)
int WM_operator_confirm(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static void radial_control_paint_tex(RadialControl *rc, float radius, float alpha)
size_t WM_operator_py_idname(char *dst, const char *src)
const EnumPropertyItem * RNA_collection_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
int WM_operator_redo_popup(bContext *C, wmOperator *op)
static void wm_block_redo_cancel_cb(bContext *C, void *arg_op)
int WM_operator_props_popup_call(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static int wm_call_panel_exec(bContext *C, wmOperator *op)
static void gesture_straightline_modal_keymap(wmKeyConfig *keyconf)
static void radial_control_set_tex(RadialControl *rc)
static void gesture_zoom_border_modal_keymap(wmKeyConfig *keyconf)
static void wm_block_redo_cb(bContext *C, void *arg_op, int UNUSED(arg_event))
static void radial_control_cancel(bContext *C, wmOperator *op)
static void previews_id_ensure(bContext *C, Scene *scene, ID *id)
static int wm_debug_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
int WM_operator_ui_popup(bContext *C, wmOperator *op, int width)
static uiBlock * wm_block_dialog_create(bContext *C, ARegion *region, void *userData)
void wm_window_keymap(wmKeyConfig *keyconf)
static void redraw_timer_step(bContext *C, Scene *scene, struct Depsgraph *depsgraph, wmWindow *win, ScrArea *area, ARegion *region, const int type, const int cfra)
static int wm_operator_props_popup_ex(bContext *C, wmOperator *op, const bool do_call, const bool do_redo)
void WM_operator_last_properties_ensure(wmOperatorType *ot, PointerRNA *ptr)
static int radial_control_get_path(PointerRNA *ctx_ptr, wmOperator *op, const char *name, PointerRNA *r_ptr, PropertyRNA **r_prop, int req_length, RCPropFlags flags)
static void WM_OT_memory_statistics(wmOperatorType *ot)
#define CTX_TEST_PTR_ID(C, member, idptr)
static int radial_control_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int doc_view_manual_ui_context_exec(bContext *C, wmOperator *UNUSED(op))
#define ID_CAST_OBDATA(id_pt)
static int wm_call_pie_menu_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static void radial_control_update_header(wmOperator *op, bContext *C)
static void wm_operator_ui_popup_cancel(struct bContext *C, void *userData)
#define TEST_PTR_DATA_TYPE_FROM_CONTEXT(member, rna_type, rna_ptr)
int WM_operator_confirm_or_exec(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static const char * wm_context_member_from_ptr(const bContext *C, const PointerRNA *ptr, bool *r_is_id)
size_t WM_operator_bl_idname(char *dst, const char *src)
const EnumPropertyItem * RNA_collection_local_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
static const char * wm_call_panel_get_name(wmOperatorType *ot, PointerRNA *ptr)
void WM_operator_properties_reset(wmOperator *op)
static void radial_control_paint_cursor(bContext *UNUSED(C), int x, int y, void *customdata)
static void WM_OT_debug_menu(wmOperatorType *ot)
char * WM_operator_pystring(bContext *C, wmOperator *op, const bool all_args, const bool macro_args)
static int previews_clear_exec(bContext *C, wmOperator *op)
#define ID_CAST_OBMATACT(id_pt)
static void gesture_lasso_modal_keymap(wmKeyConfig *keyconf)
static void WM_OT_radial_control(wmOperatorType *ot)
int WM_operator_confirm_message(bContext *C, wmOperator *op, const char *message)
static bool rna_id_enum_filter_single(const ID *id, void *user_data)
bool WM_operator_last_properties_store(wmOperator *op)
void WM_operator_properties_alloc(PointerRNA **ptr, IDProperty **properties, const char *opstring)
static int wm_exit_blender_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
#define WM_RADIAL_CONTROL_DISPLAY_WIDTH
bool WM_operator_filesel_ensure_ext_imtype(wmOperator *op, const struct ImageFormatData *im_format)
int WM_operator_props_popup_confirm(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
struct PreviewsIDEnsureData PreviewsIDEnsureData
static int radial_control_modal(bContext *C, wmOperator *op, const wmEvent *event)
static int radial_control_get_properties(bContext *C, wmOperator *op)
static int wm_call_pie_menu_exec(bContext *C, wmOperator *op)
void wm_operatortypes_register(void)
static bool redraw_timer_poll(bContext *C)
static void WM_OT_call_menu(wmOperatorType *ot)
static void wm_operator_ui_popup_ok(struct bContext *C, void *arg, int retval)
static int wm_call_menu_exec(bContext *C, wmOperator *op)
bool WM_operator_winactive(bContext *C)
const EnumPropertyItem * RNA_scene_without_active_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
int WM_operator_smooth_viewtx_get(const wmOperator *op)
bool WM_operator_check_ui_enabled(const bContext *C, const char *idname)
bool WM_paint_cursor_end(wmPaintCursor *handle)
static int previews_id_ensure_callback(LibraryIDLinkCallbackData *cb_data)
int WM_enum_search_invoke_previews(bContext *C, wmOperator *op, short prv_cols, short prv_rows)
void WM_paint_cursor_remove_by_type(wmWindowManager *wm, void *draw_fn, void(*free)(void *))
char * WM_operator_pystring_ex(bContext *C, wmOperator *op, const bool all_args, const bool macro_args, wmOperatorType *ot, PointerRNA *opptr)
static uiBlock * wm_block_create_redo(bContext *C, ARegion *region, void *arg_op)
int WM_operator_filesel(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static void WM_OT_redraw_timer(wmOperatorType *ot)
const EnumPropertyItem * RNA_scene_local_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
static void WM_OT_search_operator(wmOperatorType *ot)
static void radial_control_set_initial_mouse(RadialControl *rc, const wmEvent *event)
static int wm_search_menu_exec(bContext *UNUSED(C), wmOperator *UNUSED(op))
const EnumPropertyItem * RNA_movieclip_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
static void WM_OT_previews_clear(wmOperatorType *ot)
static uiBlock * wm_operator_ui_create(bContext *C, ARegion *region, void *userData)
static bool wm_operator_winactive_normal(bContext *C)
int WM_operator_props_popup(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
const EnumPropertyItem * RNA_mask_local_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
bool WM_operator_last_properties_init(wmOperator *op)
static void WM_OT_stereo3d_set(wmOperatorType *ot)
static void redraw_timer_window_swap(bContext *C)
int WM_generic_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static void WM_OT_call_panel(wmOperatorType *ot)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
int WM_operator_confirm_message_ex(bContext *C, wmOperator *op, const char *title, const int icon, const char *message, const wmOperatorCallContext opcontext)
static void WM_OT_quit_blender(wmOperatorType *ot)
int WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width)
bool WM_operator_properties_default(PointerRNA *ptr, const bool do_update)
int WM_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static const EnumPropertyItem preview_id_type_items[]
static void WM_OT_window_new_main(wmOperatorType *ot)
static bool operator_last_properties_init_impl(wmOperator *op, IDProperty *last_properties)
static int wm_operator_defaults_exec(bContext *C, wmOperator *op)
static int previews_ensure_exec(bContext *C, wmOperator *UNUSED(op))
static void WM_OT_window_new(wmOperatorType *ot)
static int redraw_timer_exec(bContext *C, wmOperator *op)
void WM_operator_properties_clear(PointerRNA *ptr)
#define TEST_PTR_DATA_TYPE(member, rna_type, rna_ptr, dataptr_cmp)
static const char * wm_call_menu_get_name(wmOperatorType *ot, PointerRNA *ptr)
static int wm_debug_menu_exec(bContext *C, wmOperator *op)
static int memory_statistics_exec(bContext *UNUSED(C), wmOperator *UNUSED(op))
int WM_generic_select_modal(bContext *C, wmOperator *op, const wmEvent *event)
static void WM_OT_previews_ensure(wmOperatorType *ot)
ID * WM_operator_drop_load_path(struct bContext *C, wmOperator *op, const short idcode)
static uint preview_filter_to_idfilter(enum PreviewFilterID filter)
static const EnumPropertyItem redraw_timer_type_items[]
static void gesture_circle_modal_keymap(wmKeyConfig *keyconf)
static void radial_control_set_value(RadialControl *rc, float val)
void WM_operator_properties_create(PointerRNA *ptr, const char *opstring)
int WM_enum_search_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot)
wmPaintCursor * WM_paint_cursor_activate(short space_type, short region_type, bool(*poll)(bContext *C), wmPaintCursorDraw draw, void *customdata)
static void dialog_exec_cb(bContext *C, void *arg1, void *arg2)
#define WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE
const EnumPropertyItem * RNA_action_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
static void radial_control_paint_curve(uint pos, Brush *br, float radius, int line_segments)
static void WM_OT_window_close(wmOperatorType *ot)
void WM_operator_properties_free(PointerRNA *ptr)
const EnumPropertyItem * RNA_scene_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
const EnumPropertyItem * RNA_image_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
@ PREVIEW_FILTER_GEOMETRY
@ PREVIEW_FILTER_MATERIAL
@ PREVIEW_FILTER_COLLECTION
void WM_operator_properties_sanitize(PointerRNA *ptr, const bool no_context)
bool WM_operator_py_idname_ok_or_report(ReportList *reports, const char *classname, const char *idname)
#define WM_RADIAL_MAX_STR
char * WM_context_path_resolve_full(bContext *C, const PointerRNA *ptr)
#define WM_RADIAL_CONTROL_DISPLAY_SIZE
void WM_operator_view3d_unit_defaults(struct bContext *C, struct wmOperator *op)
static int wm_search_menu_invoke(bContext *C, wmOperator *op, const wmEvent *event)
wmOperator * WM_operator_last_redo(const bContext *C)
static void WM_OT_operator_defaults(wmOperatorType *ot)
const EnumPropertyItem * RNA_movieclip_local_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
static uiBlock * wm_enum_search_menu(bContext *C, ARegion *region, void *arg)
struct wmOpPopUp wmOpPopUp
const EnumPropertyItem * RNA_image_local_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
PanelType * WM_paneltype_find(const char *idname, bool quiet)
void WM_paneltype_idname_visit_for_search(const bContext *UNUSED(C), PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), const char *UNUSED(edit_text), StringPropertySearchVisitFunc visit_fn, void *visit_user_data)
void WM_OT_splash_about(wmOperatorType *ot)
void WM_OT_splash(wmOperatorType *ot)
int wm_stereo3d_set_exec(bContext *C, wmOperator *op)
bool wm_stereo3d_set_check(bContext *UNUSED(C), wmOperator *UNUSED(op))
int wm_stereo3d_set_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
void wm_stereo3d_set_draw(bContext *UNUSED(C), wmOperator *op)
void wm_stereo3d_set_cancel(bContext *UNUSED(C), wmOperator *op)
int wm_window_new_main_exec(bContext *C, wmOperator *op)
int wm_window_close_exec(bContext *C, wmOperator *UNUSED(op))
void wm_quit_with_optional_confirmation_prompt(bContext *C, wmWindow *win)
bScreen * WM_window_get_active_screen(const wmWindow *win)
void wm_window_make_drawable(wmWindowManager *wm, wmWindow *win)
int wm_window_fullscreen_toggle_exec(bContext *C, wmOperator *UNUSED(op))
int wm_window_new_exec(bContext *C, wmOperator *op)
void wm_xr_operatortypes_register(void)