10#define DNA_DEPRECATED_ALLOW
92 ARegion *region_unlock_user =
nullptr;
93 ARegion *region_unlock =
nullptr;
94 const ListBase *region_list = (v3d == area->spacedata.first) ? &area->regionbase :
104 region_unlock = region;
106 region_unlock_user = region;
114 if (region_unlock_user) {
115 *r_region = region_unlock_user;
120 *r_region = region_unlock;
207 v3d->
camera = scene->camera;
211 region = MEM_cnew<ARegion>(
"header for view3d");
218 region = MEM_cnew<ARegion>(
"tool header for view3d");
226 region = MEM_cnew<ARegion>(
"asset shelf for view3d");
234 region = MEM_cnew<ARegion>(
"asset shelf header for view3d");
240 region = MEM_cnew<ARegion>(
"toolshelf for view3d");
248 region = MEM_cnew<ARegion>(
"buttons for view3d");
256 region = MEM_cnew<ARegion>(
"main region for view3d");
261 region->regiondata = MEM_cnew<RegionView3D>(
"region view3d");
301 View3D *v3d =
static_cast<View3D *
>(area->spacedata.first);
486 return GS(local_id->
name);
524 state->draw_plane =
true;
526 float dimensions[3] = {0.0f};
534 if (dimensions_prop) {
542 state->draw_box =
true;
620 const int mval[2] = {
621 xy[0] - region->winrct.xmin,
622 xy[1] - region->winrct.ymin,
646 return TIP_(
"Create object instance from object-data");
744 int mval[2] = {
xy[0] - region->winrct.xmin,
xy[1] - region->winrct.ymin};
750 float obmat_final[4][4])
765 offset[2] = bb->min[2];
780 float obmat_final[4][4];
813 if (base !=
nullptr) {
827 float obmat_final[4][4];
919 "OBJECT_OT_add_named",
930 "OBJECT_OT_transform_to_mouse",
941 "OBJECT_OT_collection_external_asset_drop",
947 "OBJECT_OT_collection_instance_add",
954 "OBJECT_OT_drop_named_material",
960 "OBJECT_OT_drop_geometry_nodes",
966 "VIEW3D_OT_camera_background_image_add",
972 "OBJECT_OT_empty_image_add",
978 "OBJECT_OT_data_instance_add",
984 "VIEW3D_OT_drop_world",
1051 region->regiondata =
nullptr;
1071 new_rv3d->
sms =
nullptr;
1086 View3D *v3d =
static_cast<View3D *
>(area->spacedata.first);
1105 switch (wmn->
data) {
1124 switch (wmn->
data) {
1169 switch (wmn->
data) {
1197 switch (wmn->
data) {
1217 switch (wmn->
data) {
1245 switch (wmn->
data) {
1262 switch (wmn->
data) {
1271 switch (wmn->
data) {
1282 switch (wmn->
data) {
1318#ifdef WITH_XR_OPENXR
1319 ED_view3d_xr_shading_update(
1345 switch (wmn->
data) {
1399 drw_context.
v3d = v3d;
1441 msg_sub_value_region_tag_redraw.
owner = region;
1442 msg_sub_value_region_tag_redraw.user_data = region;
1446 msg_sub_value_workbench_view_update.
owner = region;
1447 msg_sub_value_workbench_view_update.user_data = area;
1450 for (
int i = 0; i <
ARRAY_SIZE(type_array); i++) {
1451 msg_key_params.ptr.type = type_array[i];
1460 mbus, RenderSettings, resolution_x, &msg_sub_value_region_tag_redraw);
1462 mbus, RenderSettings, resolution_y, &msg_sub_value_region_tag_redraw);
1464 mbus, RenderSettings, pixel_aspect_x, &msg_sub_value_region_tag_redraw);
1466 mbus, RenderSettings, pixel_aspect_y, &msg_sub_value_region_tag_redraw);
1469 mbus, RenderSettings, use_border, &msg_sub_value_region_tag_redraw);
1480 if (obact !=
nullptr) {
1481 switch (obact->
mode) {
1488 mbus,
WorkSpace, tools, &msg_sub_value_workbench_view_update);
1497 msg_sub_value_region_tag_refresh.
owner = region;
1498 msg_sub_value_region_tag_refresh.user_data = area;
1548 switch (wmn->
data) {
1563 switch (wmn->
data) {
1574 switch (wmn->
data) {
1588 switch (wmn->
data) {
1661 msg_sub_value_region_tag_redraw.
owner = region;
1662 msg_sub_value_region_tag_redraw.user_data = region;
1665 for (
int i = 0; i <
ARRAY_SIZE(type_array); i++) {
1666 msg_key_params.ptr.type = type_array[i];
1684 const char *category_override)
1688 const char *contexts_base[4] = {
nullptr};
1691 const char **contexts = &contexts_base[1];
1796 ListBase *paneltypes = ®ion->type->paneltypes;
1799 if (category_override !=
nullptr) {
1822 switch (wmn->
data) {
1836 switch (wmn->
data) {
1856 switch (wmn->
data) {
1871 switch (wmn->
data) {
1957 asset::shelf::region_init(wm, region);
1965 View3D *v3d =
static_cast<View3D *
>(area->spacedata.first);
1970 switch (wmn->
data) {
1981 switch (wmn->
data) {
1991 switch (wmn->
data) {
2036 const bool is_local)
2042 ListBase *regionbase = (slink == area->spacedata.first) ? &area->regionbase :
2069 if (view3d->
localvd !=
nullptr) {
2140 std::unique_ptr<SpaceType> st = std::make_unique<SpaceType>();
2161 st->blend_read_after_liblink =
nullptr;
2165 art = MEM_cnew<ARegionType>(
"spacetype view3d main region");
2180 art = MEM_cnew<ARegionType>(
"spacetype view3d buttons region");
2194 art = MEM_cnew<ARegionType>(
"spacetype view3d tools region");
2207 art = MEM_cnew<ARegionType>(
"spacetype view3d tool header region");
2218 art = MEM_cnew<ARegionType>(
"spacetype view3d header region");
2229 art = MEM_cnew<ARegionType>(
"spacetype view3d asset shelf region");
2232 art->
duplicate = asset::shelf::region_duplicate;
2233 art->
free = asset::shelf::region_free;
2235 art->
listener = asset::shelf::region_listen;
2237 art->
poll = asset::shelf::regions_poll;
2238 art->
snap_size = asset::shelf::region_snap;
2240 art->
context = asset::shelf::context;
2242 art->
layout = asset::shelf::region_layout;
2243 art->
draw = asset::shelf::region_draw;
2247 art = MEM_cnew<ARegionType>(
"spacetype view3d asset shelf header region");
2250 art->
init = asset::shelf::header_region_init;
2251 art->
poll = asset::shelf::regions_poll;
2252 art->
draw = asset::shelf::header_region;
2253 art->
listener = asset::shelf::header_region_listen;
2254 art->
context = asset::shelf::context;
2263 art = MEM_cnew<ARegionType>(
"spacetype view3d xr region");
Main runtime representation of an asset.
IDProperty * BKE_asset_metadata_idprop_find(const AssetMetaData *asset_data, const char *name) ATTR_WARN_UNUSED_RESULT
const char * CTX_data_mode_string(const bContext *C)
@ CTX_MODE_VERTEX_GPENCIL_LEGACY
@ CTX_MODE_WEIGHT_GPENCIL_LEGACY
@ CTX_MODE_EDIT_POINT_CLOUD
@ CTX_MODE_SCULPT_GPENCIL_LEGACY
@ CTX_MODE_PAINT_GREASE_PENCIL
@ CTX_MODE_PAINT_GPENCIL_LEGACY
@ CTX_MODE_SCULPT_GREASE_PENCIL
@ CTX_MODE_EDIT_GREASE_PENCIL
@ CTX_MODE_WEIGHT_GREASE_PENCIL
@ CTX_MODE_VERTEX_GREASE_PENCIL
@ CTX_MODE_EDIT_GPENCIL_LEGACY
Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
ScrArea * CTX_wm_area(const bContext *C)
wmWindow * CTX_wm_window(const bContext *C)
Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
RegionView3D * CTX_wm_region_view3d(const bContext *C)
ARegion * CTX_wm_region(const bContext *C)
wmWindowManager * CTX_wm_manager(const bContext *C)
View3D * CTX_wm_view3d(const bContext *C)
enum eContextObjectMode CTX_data_mode_enum(const bContext *C)
ViewLayer * CTX_data_view_layer(const bContext *C)
void BKE_gpencil_blend_read_data(struct BlendDataReader *reader, struct bGPdata *gpd)
void IDP_FreeProperty(IDProperty *prop)
IDProperty * IDP_CopyProperty(const IDProperty *prop) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
void BKE_view_layer_base_deselect_all(const Scene *scene, ViewLayer *view_layer)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
Base * BKE_view_layer_base_find(ViewLayer *view_layer, Object *ob)
void BKE_view_layer_base_select_and_set_active(ViewLayer *view_layer, Base *selbase)
Object * BKE_view_layer_edit_object_get(const ViewLayer *view_layer)
ID * BKE_libblock_find_session_uid(Main *bmain, short type, uint32_t session_uid)
#define BKE_LIB_FOREACHID_PROCESS_IDSUPER(data_, id_super_, cb_flag_)
@ IDWALK_CB_DIRECT_WEAK_LINK
int BKE_lib_query_foreachid_process_flags_get(const LibraryForeachIDData *data)
@ ID_REMAP_RESULT_SOURCE_UNASSIGNED
General operations, lookup, etc. for blender objects.
std::optional< blender::Bounds< blender::float3 > > BKE_object_boundbox_get(const Object *ob)
void BKE_object_dimensions_eval_cached_get(Object *ob, float r_vec[3])
Depsgraph * BKE_scene_get_depsgraph(const Scene *scene, const ViewLayer *view_layer)
void BKE_screen_view3d_shading_blend_read_data(BlendDataReader *reader, View3DShading *shading)
void BKE_spacetype_register(std::unique_ptr< SpaceType > st)
void BKE_screen_view3d_shading_blend_write(BlendWriter *writer, View3DShading *shading)
SpaceType * BKE_spacetype_from_id(int spaceid)
ARegionType * BKE_regiontype_from_id(const SpaceType *st, int regionid)
void BKE_screen_view3d_sync(View3D *v3d, Scene *scene)
void BKE_screen_view3d_do_versions_250(View3D *v3d, ListBase *regions)
void BKE_viewer_path_copy(ViewerPath *dst, const ViewerPath *src)
void BKE_viewer_path_id_remap(ViewerPath *viewer_path, const blender::bke::id::IDRemapper &mappings)
void BKE_viewer_path_foreach_id(LibraryForeachIDData *data, ViewerPath *viewer_path)
void BKE_viewer_path_clear(ViewerPath *viewer_path)
void BKE_viewer_path_blend_read_data(BlendDataReader *reader, ViewerPath *viewer_path)
void BKE_viewer_path_blend_write(BlendWriter *writer, const ViewerPath *viewer_path)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define BLI_ASSERT_ZERO_M4(m)
void zero_m4(float m[4][4])
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void copy_m4_m3(float m1[4][4], const float m2[3][3])
void rescale_m4(float mat[4][4], const float scale[3])
void mat4_to_size(float size[3], const float M[4][4])
void mul_mat3_m4_v3(const float mat[4][4], float r[3])
MINLINE void sub_v3_v3(float r[3], const float a[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE bool is_zero_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void mul_v3_v3fl(float r[3], const float a[3], float f)
#define STRNCPY(dst, src)
#define ARRAY_SET_ITEMS(...)
#define UNUSED_VARS_NDEBUG(...)
#define BLO_write_struct(writer, struct_name, data_ptr)
#define BLO_read_struct(reader, struct_name, ptr_p)
#define BPy_BEGIN_ALLOW_THREADS
#define BPy_END_ALLOW_THREADS
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
#define ID_IS_EDITABLE(_id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
Object groups, one object can be in many groups at once.
#define DNA_struct_default_alloc(struct_name)
Object is a sort of wrapper for general info.
#define OB_DATA_SUPPORT_ID(_id_type)
#define BASE_SELECTABLE(v3d, base)
#define RGN_ALIGN_ENUM_FROM_MASK(align)
@ RGN_ALIGN_HIDE_WITH_PREV
@ RGN_TYPE_ASSET_SHELF_HEADER
@ RGN_FLAG_HIDDEN_BY_USER
@ V3D_SHADING_BACKGROUND_WORLD
#define V3D_USES_SCENE_WORLD(v3d)
@ V3D_RUNTIME_LOCAL_MAYBE_EMPTY
void DRW_notify_view_update(const DRWUpdateContext *update_ctx)
void DRW_engine_external_free(RegionView3D *rv3d)
void ED_outliner_select_sync_from_object_tag(bContext *C)
void ED_render_view3d_update(Depsgraph *depsgraph, wmWindow *window, ScrArea *area, bool updated)
void ED_area_do_mgs_subscribe_for_tool_header(const wmRegionMessageSubscribeParams *params)
ARegionType * ED_area_type_hud(int space_type)
void ED_area_do_mgs_subscribe_for_tool_ui(const wmRegionMessageSubscribeParams *params)
bool ED_region_overlap_isect_any_xy(const ScrArea *area, const int event_xy[2])
void ED_region_header(const bContext *C, ARegion *region)
void ED_region_header_init(ARegion *region)
void ED_area_tag_redraw_regiontype(ScrArea *area, int regiontype)
void ED_region_panels_layout_ex(const bContext *C, ARegion *region, ListBase *paneltypes, wmOperatorCallContext op_context, const char *contexts[], const char *category_override)
void ED_region_header_with_button_sections(const bContext *C, ARegion *region, uiButtonSectionsAlign align)
int ED_region_generic_tools_region_snap_size(const ARegion *region, int size, int axis)
void ED_region_tag_redraw_cursor(ARegion *region)
void ED_area_tag_refresh(ScrArea *area)
void ED_region_generic_tools_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
void ED_region_panels_init(wmWindowManager *wm, ARegion *region)
void ED_region_tag_redraw(ARegion *region)
void ED_region_do_msg_notify_tag_redraw(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
void ED_region_panels_ex(const bContext *C, ARegion *region, wmOperatorCallContext op_context, const char *contexts[])
void ED_region_panels_draw(const bContext *C, ARegion *region)
void ED_undo_push(bContext *C, const char *str)
V3DSnapCursorState * ED_view3d_cursor_snap_state_create()
V3DSnapCursorState * ED_view3d_cursor_snap_state_active_get()
Object * ED_view3d_give_object_under_cursor(bContext *C, const int mval[2])
bool ED_localview_exit_if_empty(const Depsgraph *depsgraph, Scene *scene, ViewLayer *view_layer, wmWindowManager *wm, wmWindow *win, View3D *v3d, ScrArea *area, bool frame_selected=true, int smooth_viewtx=0)
void ED_view3d_clipping_local(RegionView3D *rv3d, const float mat[4][4])
bool ED_view3d_is_object_under_cursor(bContext *C, const int mval[2])
void ED_view3d_cursor_snap_state_free(V3DSnapCursorState *state)
RenderEngineType * ED_view3d_engine_type(const Scene *scene, int drawtype)
V3DSnapCursorData * ED_view3d_cursor_snap_data_get()
#define GPU_matrix_mul(x)
Read Guarded memory(de)allocation.
#define UI_SIDEBAR_PANEL_WIDTH
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
@ WM_JOB_TYPE_RENDER_PREVIEW
#define ND_ASSET_LIST_READING
#define ND_GPENCIL_EDITMODE
#define ND_RENDER_OPTIONS
#define ND_SPACE_ASSET_PARAMS
@ WM_OP_INVOKE_REGION_WIN
#define ND_BONE_COLLECTION
#define ND_ASSET_CATALOGS
#define ND_XR_DATA_CHANGED
#define NS_VIEW3D_SHADING
#define ND_NODE_ASSET_DATA
#define ND_DRAW_RENDER_VIEWPORT
AssetMetaData & get_metadata() const
ID_Type get_id_type() const
IDRemapperApplyResult apply(ID **r_id_ptr, IDRemapperApplyOptions options, ID *id_self=nullptr) const
bool contains_mappings_for_any(IDTypeFilter filter) const
const Depsgraph * depsgraph
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void MEM_freeN(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
MenuType node_group_operator_assets_menu()
MenuType node_group_operator_assets_menu_unassigned()
void clear_operator_asset_trees()
std::string drop_named_material_tooltip(bContext *C, const char *name, const int mval[2])
std::string drop_geometry_nodes_tooltip(bContext *C, PointerRNA *properties, const int mval[2])
T midpoint(const T &a, const T &b)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
int RNA_int_get(PointerRNA *ptr, const char *name)
void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values)
static void view3d_main_region_init(wmWindowManager *wm, ARegion *region)
static void view3d_ob_drop_copy_external_asset(bContext *C, wmDrag *drag, wmDropBox *drop)
void ED_view3d_check_mats_rv3d(RegionView3D *rv3d)
static void view3d_exit(wmWindowManager *, ScrArea *area)
static bool view3d_world_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_id_remap(ScrArea *area, SpaceLink *slink, const blender::bke::id::IDRemapper &mappings)
static bool view3d_ob_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_collection_drop_poll_local_id(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_object_data_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_id_path_drop_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
static void view3d_tools_header_region_draw(const bContext *C, ARegion *region)
static void view3d_collection_drop_copy_local_id(bContext *, wmDrag *drag, wmDropBox *drop)
static void view3d_free(SpaceLink *sl)
static void space_view3d_listener(const wmSpaceTypeListenerParams *params)
void ED_view3d_clear_mats_rv3d(RegionView3D *rv3d)
static bool view3d_ima_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_ima_bg_is_camera_view(bContext *C)
static bool view3d_collection_drop_poll_external_asset(bContext *C, wmDrag *drag, const wmEvent *event)
void ED_view3d_init_mats_rv3d(const Object *ob, RegionView3D *rv3d)
static SpaceLink * view3d_duplicate(SpaceLink *sl)
static void view3d_widgets()
static void view3d_ob_drop_matrix_from_snap(V3DSnapCursorState *snap_state, Object *ob, float obmat_final[4][4])
static void view3d_main_region_listener(const wmRegionListenerParams *params)
static std::string view3d_object_data_drop_tooltip(bContext *, wmDrag *, const int[2], wmDropBox *)
void ED_view3d_stop_render_preview(wmWindowManager *wm, ARegion *region)
static void view3d_header_region_draw(const bContext *C, ARegion *region)
static bool view3d_ima_empty_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_ob_drop_poll_local_id(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_id_remap_v3d(ScrArea *area, SpaceLink *slink, View3D *v3d, const blender::bke::id::IDRemapper &mappings, const bool is_local)
static void view3d_init(wmWindowManager *, ScrArea *)
static void view3d_tools_region_draw(const bContext *C, ARegion *region)
static SpaceLink * view3d_create(const ScrArea *, const Scene *scene)
static void view3d_header_region_init(wmWindowManager *wm, ARegion *region)
static void view3d_main_region_exit(wmWindowManager *wm, ARegion *region)
static void view3d_id_remap_v3d_ob_centers(View3D *v3d, const blender::bke::id::IDRemapper &mappings)
static void view3d_space_blend_read_data(BlendDataReader *reader, SpaceLink *sl)
static bool view3d_ima_bg_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_header_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void view3d_geometry_nodes_drop_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
static void view3d_main_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void view3d_buttons_region_layout(const bContext *C, ARegion *region)
static bool view3d_ob_drop_poll_external_asset(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_asset_shelf_region_init(wmWindowManager *wm, ARegion *region)
static void view3d_space_blend_write(BlendWriter *writer, SpaceLink *sl)
void ED_view3d_init_mats_rv3d_gl(const Object *ob, RegionView3D *rv3d)
static void view3d_tools_region_init(wmWindowManager *wm, ARegion *region)
static std::string view3d_geometry_nodes_drop_tooltip(bContext *C, wmDrag *, const int xy[2], wmDropBox *drop)
static void view3d_ob_drop_on_exit(wmDropBox *drop, wmDrag *)
static bool view3d_drop_in_main_region_poll(bContext *C, const wmEvent *event)
static void view3d_do_msg_notify_workbench_view_update(bContext *C, wmMsgSubscribeKey *, wmMsgSubscribeValue *msg_val)
static void view3d_foreach_id(SpaceLink *space_link, LibraryForeachIDData *data)
static void view3d_main_region_cursor(wmWindow *win, ScrArea *area, ARegion *region)
static void view3d_buttons_region_listener(const wmRegionListenerParams *params)
static void view3d_id_drop_copy_with_type(bContext *C, wmDrag *drag, wmDropBox *drop)
static void view3d_collection_drop_copy_external_asset(bContext *C, wmDrag *drag, wmDropBox *drop)
void ED_spacetype_view3d()
static void view3d_main_region_free(ARegion *region)
static bool view3d_drop_id_in_main_region_poll(bContext *C, wmDrag *drag, const wmEvent *event, ID_Type id_type)
static void * view3d_main_region_duplicate(void *poin)
static std::string view3d_mat_drop_tooltip(bContext *C, wmDrag *drag, const int xy[2], wmDropBox *)
static void view3d_dropboxes()
static void view3d_ob_drop_copy_local_id(bContext *, wmDrag *drag, wmDropBox *drop)
static bool view3d_geometry_nodes_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static bool view3d_mat_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
void ED_view3d_buttons_region_layout_ex(const bContext *C, ARegion *region, const char *category_override)
static void view3d_header_region_listener(const wmRegionListenerParams *params)
static void view3d_buttons_region_init(wmWindowManager *wm, ARegion *region)
void ED_view3d_shade_update(Main *bmain, View3D *v3d, ScrArea *area)
static bool view3d_collection_drop_poll(bContext *C, wmDrag *drag, const wmEvent *event)
static void view3d_ob_drop_on_enter(wmDropBox *drop, wmDrag *drag)
bool ED_view3d_area_user_region(const ScrArea *area, const View3D *v3d, ARegion **r_region)
static void space_view3d_refresh(const bContext *C, ScrArea *area)
static void view3d_id_drop_copy(bContext *C, wmDrag *drag, wmDropBox *drop)
static ID_Type view3d_drop_id_in_main_region_poll_get_id_type(bContext *C, wmDrag *drag, const wmEvent *event)
bool(* poll)(const RegionPollParams *params)
void(* exit)(wmWindowManager *wm, ARegion *region)
void(* on_poll_success)(const bContext *C, ARegion *region)
void(* message_subscribe)(const wmRegionMessageSubscribeParams *params)
void(* cursor)(wmWindow *win, ScrArea *area, ARegion *region)
void(* listener)(const wmRegionListenerParams *params)
void *(* duplicate)(void *poin)
bContextDataCallback context
void(* draw)(const bContext *C, ARegion *region)
void(* layout)(const bContext *C, ARegion *region)
void(* on_user_resize)(const ARegion *region)
int(* snap_size)(const ARegion *region, int size, int axis)
void(* init)(wmWindowManager *wm, ARegion *region)
RenderEngineType * engine_type
struct SmoothView3DStore * sms
struct ViewRender * view_render
struct RegionView3D * localvd
struct wmTimer * smooth_timer
void * properties_storage
void(* properties_storage_free)(void *properties_storage)
struct SceneStats * local_stats
unsigned short local_collections_uid
struct Object * ob_center
wmDropBox * active_dropbox
const AssetRepresentationHandle * asset
wmDragActiveDropState drop_state
void(* on_exit)(wmDropBox *drop, wmDrag *drag)
void(* on_enter)(wmDropBox *drop, wmDrag *drag)
void(* draw_droptip)(bContext *C, wmWindow *win, wmDrag *drag, const int xy[2])
struct wmKeyConfig * defaultconf
int view3d_context(const bContext *C, const char *member, bContextDataResult *result)
void view3d_main_region_draw(const bContext *C, ARegion *region)
void VIEW3D_GGT_armature_spline(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_camera(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_camera_view(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_empty_image(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_force_field(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_geometry_nodes(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_light_spot(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_light_area(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_light_point(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_light_target(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_navigate(wmGizmoGroupType *gzgt)
void VIEW3D_GT_navigate_rotate(wmGizmoType *gzt)
void VIEW3D_GGT_mesh_preselect_edgering(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_mesh_preselect_elem(wmGizmoGroupType *gzgt)
void VIEW3D_GGT_ruler(wmGizmoGroupType *gzgt)
void VIEW3D_GT_ruler_item(wmGizmoType *gzt)
void VIEW3D_GGT_placement(wmGizmoGroupType *gzgt)
void view3d_operatortypes()
void view3d_keymap(wmKeyConfig *keyconf)
void WM_cursor_set(wmWindow *win, int curs)
bool WM_cursor_set_from_tool(wmWindow *win, const ScrArea *area, const ARegion *region)
AssetMetaData * WM_drag_get_asset_meta_data(const wmDrag *drag, int idcode)
wmDropBox * WM_dropbox_add(ListBase *lb, const char *idname, bool(*poll)(bContext *C, wmDrag *drag, const wmEvent *event), void(*copy)(bContext *C, wmDrag *drag, wmDropBox *drop), void(*cancel)(Main *bmain, wmDrag *drag, wmDropBox *drop), WMDropboxTooltipFunc tooltip)
void WM_drag_draw_item_name_fn(bContext *, wmWindow *win, wmDrag *drag, const int xy[2])
void WM_drag_free_imported_drag_ID(Main *bmain, wmDrag *drag, wmDropBox *drop)
Free asset ID imported for canceled drop.
bool WM_drag_asset_will_import_linked(const wmDrag *drag)
ID * WM_drag_asset_id_import(const bContext *C, wmDragAsset *asset_drag, const int flag_extra)
const char * WM_drag_get_item_name(wmDrag *drag)
bool WM_drag_is_ID_type(const wmDrag *drag, int idcode)
ID * WM_drag_get_local_ID_or_import_from_asset(const bContext *C, const wmDrag *drag, int idcode)
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmDragAsset * WM_drag_get_asset_data(const wmDrag *drag, int idcode)
ID * WM_drag_get_local_ID(const wmDrag *drag, short idcode)
void WM_draw_region_free(ARegion *region)
wmEventHandler_Dropbox * WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes)
wmEventHandler_Keymap * WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap)
void WM_main_add_notifier(uint type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
wmGizmoGroupType * WM_gizmogrouptype_append(void(*wtfunc)(wmGizmoGroupType *))
wmGizmoGroupTypeRef * WM_gizmogrouptype_append_and_link(wmGizmoMapType *gzmap_type, void(*wtfunc)(wmGizmoGroupType *))
void WM_gizmomap_tag_refresh(wmGizmoMap *gzmap)
wmGizmoMapType * WM_gizmomaptype_ensure(const wmGizmoMapType_Params *gzmap_params)
void WM_gizmotype_append(void(*gtfunc)(wmGizmoType *))
void WM_jobs_kill_type(wmWindowManager *wm, const void *owner, int job_type)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
#define WM_msg_subscribe_rna_anon_prop(mbus, type_, prop_, value)
#define WM_msg_subscribe_rna_anon_type(mbus, type_, value)
void WM_msg_subscribe_rna_params(wmMsgBus *mbus, const wmMsgParams_RNA *msg_key_params, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)
void WM_operator_properties_id_lookup_set_from_id(PointerRNA *ptr, const ID *id)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
Scene * WM_window_get_active_scene(const wmWindow *win)