diff options
Diffstat (limited to 'source/blender/editors/space_view3d/space_view3d.c')
-rw-r--r-- | source/blender/editors/space_view3d/space_view3d.c | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index d999b9fef0a..833d54efd75 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -86,49 +86,49 @@ ARegion *view3d_has_buttons_region(ScrArea *sa) ar = BKE_area_find_region_type(sa, RGN_TYPE_UI); if (ar) return ar; - + /* add subdiv level; after header */ ar = BKE_area_find_region_type(sa, RGN_TYPE_HEADER); /* is error! */ if (ar == NULL) return NULL; - + arnew = MEM_callocN(sizeof(ARegion), "buttons for view3d"); - + BLI_insertlinkafter(&sa->regionbase, ar, arnew); arnew->regiontype = RGN_TYPE_UI; arnew->alignment = RGN_ALIGN_RIGHT; - + arnew->flag = RGN_FLAG_HIDDEN; - + return arnew; } ARegion *view3d_has_tools_region(ScrArea *sa) { ARegion *ar, *artool = NULL, *arprops = NULL, *arhead; - + for (ar = sa->regionbase.first; ar; ar = ar->next) { if (ar->regiontype == RGN_TYPE_TOOLS) artool = ar; if (ar->regiontype == RGN_TYPE_TOOL_PROPS) arprops = ar; } - + /* tool region hide/unhide also hides props */ if (arprops && artool) return artool; - + if (artool == NULL) { /* add subdiv level; after header */ for (arhead = sa->regionbase.first; arhead; arhead = arhead->next) if (arhead->regiontype == RGN_TYPE_HEADER) break; - + /* is error! */ if (arhead == NULL) return NULL; - + artool = MEM_callocN(sizeof(ARegion), "tools for view3d"); - + BLI_insertlinkafter(&sa->regionbase, arhead, artool); artool->regiontype = RGN_TYPE_TOOLS; artool->alignment = RGN_ALIGN_LEFT; @@ -138,12 +138,12 @@ ARegion *view3d_has_tools_region(ScrArea *sa) if (arprops == NULL) { /* add extra subdivided region for tool properties */ arprops = MEM_callocN(sizeof(ARegion), "tool props for view3d"); - + BLI_insertlinkafter(&sa->regionbase, artool, arprops); arprops->regiontype = RGN_TYPE_TOOL_PROPS; arprops->alignment = RGN_ALIGN_BOTTOM | RGN_SPLIT_PREV; } - + return artool; } @@ -153,7 +153,7 @@ ARegion *view3d_has_tools_region(ScrArea *sa) RegionView3D *ED_view3d_context_rv3d(bContext *C) { RegionView3D *rv3d = CTX_wm_region_view3d(C); - + if (rv3d == NULL) { ScrArea *sa = CTX_wm_area(C); if (sa && sa->spacetype == SPACE_VIEW3D) { @@ -312,7 +312,7 @@ static SpaceLink *view3d_new(const bContext *C) ARegion *ar; View3D *v3d; RegionView3D *rv3d; - + v3d = MEM_callocN(sizeof(View3D), "initview3d"); v3d->spacetype = SPACE_VIEW3D; v3d->lay = v3d->layact = 1; @@ -327,10 +327,10 @@ static SpaceLink *view3d_new(const bContext *C) v3d->drawtype = OB_SOLID; v3d->gridflag = V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_FLOOR; - + v3d->flag = V3D_SELECT_OUTLINE; v3d->flag2 = V3D_SHOW_RECONSTRUCTION | V3D_SHOW_GPENCIL; - + v3d->lens = 35.0f; v3d->near = 0.01f; v3d->far = 1000.0f; @@ -338,7 +338,7 @@ static SpaceLink *view3d_new(const bContext *C) v3d->twflag |= U.tw_flag & V3D_USE_MANIPULATOR; v3d->twtype = V3D_MANIP_TRANSLATE; v3d->around = V3D_AROUND_CENTER_MEAN; - + v3d->bundle_size = 0.2f; v3d->bundle_drawtype = OB_PLAINAXES; @@ -350,48 +350,48 @@ static SpaceLink *view3d_new(const bContext *C) /* header */ ar = MEM_callocN(sizeof(ARegion), "header for view3d"); - + BLI_addtail(&v3d->regionbase, ar); ar->regiontype = RGN_TYPE_HEADER; ar->alignment = RGN_ALIGN_BOTTOM; - + /* tool shelf */ ar = MEM_callocN(sizeof(ARegion), "toolshelf for view3d"); - + BLI_addtail(&v3d->regionbase, ar); ar->regiontype = RGN_TYPE_TOOLS; ar->alignment = RGN_ALIGN_LEFT; ar->flag = RGN_FLAG_HIDDEN; - + /* tool properties */ ar = MEM_callocN(sizeof(ARegion), "tool properties for view3d"); - + BLI_addtail(&v3d->regionbase, ar); ar->regiontype = RGN_TYPE_TOOL_PROPS; ar->alignment = RGN_ALIGN_BOTTOM | RGN_SPLIT_PREV; ar->flag = RGN_FLAG_HIDDEN; - + /* buttons/list view */ ar = MEM_callocN(sizeof(ARegion), "buttons for view3d"); - + BLI_addtail(&v3d->regionbase, ar); ar->regiontype = RGN_TYPE_UI; ar->alignment = RGN_ALIGN_RIGHT; ar->flag = RGN_FLAG_HIDDEN; - + /* main region */ ar = MEM_callocN(sizeof(ARegion), "main region for view3d"); - + BLI_addtail(&v3d->regionbase, ar); ar->regiontype = RGN_TYPE_WINDOW; - + ar->regiondata = MEM_callocN(sizeof(RegionView3D), "region view3d"); rv3d = ar->regiondata; rv3d->viewquat[0] = 1.0f; rv3d->persp = RV3D_PERSP; rv3d->view = RV3D_VIEW_USER; rv3d->dist = 10.0; - + return (SpaceLink *)v3d; } @@ -412,9 +412,9 @@ static void view3d_free(SpaceLink *sl) BLI_freelistN(&vd->bgpicbase); if (vd->localvd) MEM_freeN(vd->localvd); - + if (vd->properties_storage) MEM_freeN(vd->properties_storage); - + /* matcap material, its preview rect gets freed via icons */ if (vd->defmaterial) { if (vd->defmaterial->gpumaterial.first) @@ -441,7 +441,7 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl) View3D *v3do = (View3D *)sl; View3D *v3dn = MEM_dupallocN(sl); BGpic *bgpic; - + /* clear or remove stuff from old */ if (v3dn->localvd) { @@ -452,7 +452,7 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl) if (v3dn->drawtype == OB_RENDER) v3dn->drawtype = OB_SOLID; - + /* copy or clear inside new stuff */ v3dn->defmaterial = NULL; @@ -483,19 +483,19 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar) wmKeyMap *keymap; /* object ops. */ - + /* important to be before Pose keymap since they can both be enabled at once */ keymap = WM_keymap_find(wm->defaultconf, "Face Mask", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - - + + keymap = WM_keymap_find(wm->defaultconf, "Weight Paint Vertex Selection", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); /* pose is not modal, operator poll checks for this */ keymap = WM_keymap_find(wm->defaultconf, "Pose", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - + keymap = WM_keymap_find(wm->defaultconf, "Object Mode", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); @@ -516,13 +516,13 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar) keymap = WM_keymap_find(wm->defaultconf, "Sculpt", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - + keymap = WM_keymap_find(wm->defaultconf, "Mesh", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - + keymap = WM_keymap_find(wm->defaultconf, "Curve", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - + keymap = WM_keymap_find(wm->defaultconf, "Armature", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); @@ -531,7 +531,7 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar) keymap = WM_keymap_find(wm->defaultconf, "Metaball", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - + keymap = WM_keymap_find(wm->defaultconf, "Lattice", 0, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); @@ -554,12 +554,12 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar) keymap = WM_keymap_find(wm->defaultconf, "3D View", SPACE_VIEW3D, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); - + /* add drop boxes */ lb = WM_dropboxmap_find("View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW); - + WM_event_add_dropbox_handler(&ar->handlers, lb); - + } static void view3d_main_region_exit(wmWindowManager *wm, ARegion *ar) @@ -572,7 +572,7 @@ static void view3d_main_region_exit(wmWindowManager *wm, ARegion *ar) GPU_offscreen_free(rv3d->gpuoffscreen); rv3d->gpuoffscreen = NULL; } - + if (rv3d->compositor) { GPU_fx_compositor_destroy(rv3d->compositor); rv3d->compositor = NULL; @@ -667,7 +667,7 @@ static void view3d_ob_drop_copy(wmDrag *drag, wmDropBox *drop) static void view3d_group_drop_copy(wmDrag *drag, wmDropBox *drop) { ID *id = drag->poin; - + drop->opcontext = WM_OP_EXEC_DEFAULT; RNA_string_set(drop->ptr, "name", id->name + 2); } @@ -675,14 +675,14 @@ static void view3d_group_drop_copy(wmDrag *drag, wmDropBox *drop) static void view3d_id_drop_copy(wmDrag *drag, wmDropBox *drop) { ID *id = drag->poin; - + RNA_string_set(drop->ptr, "name", id->name + 2); } static void view3d_id_path_drop_copy(wmDrag *drag, wmDropBox *drop) { ID *id = drag->poin; - + if (id) { RNA_string_set(drop->ptr, "name", id->name + 2); RNA_struct_property_unset(drop->ptr, "filepath"); @@ -698,13 +698,13 @@ static void view3d_id_path_drop_copy(wmDrag *drag, wmDropBox *drop) static void view3d_dropboxes(void) { ListBase *lb = WM_dropboxmap_find("View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW); - + WM_dropbox_add(lb, "OBJECT_OT_add_named", view3d_ob_drop_poll, view3d_ob_drop_copy); WM_dropbox_add(lb, "OBJECT_OT_drop_named_material", view3d_mat_drop_poll, view3d_id_drop_copy); WM_dropbox_add(lb, "MESH_OT_drop_named_image", view3d_ima_mesh_drop_poll, view3d_id_path_drop_copy); WM_dropbox_add(lb, "OBJECT_OT_drop_named_image", view3d_ima_empty_drop_poll, view3d_id_path_drop_copy); WM_dropbox_add(lb, "VIEW3D_OT_background_image_add", view3d_ima_bg_drop_poll, view3d_id_path_drop_copy); - WM_dropbox_add(lb, "OBJECT_OT_group_instance_add", view3d_group_drop_poll, view3d_group_drop_copy); + WM_dropbox_add(lb, "OBJECT_OT_group_instance_add", view3d_group_drop_poll, view3d_group_drop_copy); } @@ -713,14 +713,14 @@ static void view3d_dropboxes(void) static void view3d_main_region_free(ARegion *ar) { RegionView3D *rv3d = ar->regiondata; - + if (rv3d) { if (rv3d->localvd) MEM_freeN(rv3d->localvd); if (rv3d->clipbb) MEM_freeN(rv3d->clipbb); if (rv3d->render_engine) RE_engine_free(rv3d->render_engine); - + if (rv3d->depths) { if (rv3d->depths->depths) MEM_freeN(rv3d->depths->depths); MEM_freeN(rv3d->depths); @@ -745,20 +745,20 @@ static void *view3d_main_region_duplicate(void *poin) { if (poin) { RegionView3D *rv3d = poin, *new; - + new = MEM_dupallocN(rv3d); if (rv3d->localvd) new->localvd = MEM_dupallocN(rv3d->localvd); if (rv3d->clipbb) new->clipbb = MEM_dupallocN(rv3d->clipbb); - + new->depths = NULL; new->gpuoffscreen = NULL; new->render_engine = NULL; new->sms = NULL; new->smooth_timer = NULL; new->compositor = NULL; - + return new; } return NULL; @@ -798,7 +798,7 @@ static void view3d_main_region_listener(bScreen *sc, ScrArea *sa, ARegion *ar, w { Scene *scene = sc->scene; View3D *v3d = sa->spacedata.first; - + /* context changes */ switch (wmn->category) { case NC_ANIMATION: @@ -1037,7 +1037,7 @@ static void view3d_main_region_cursor(wmWindow *win, ScrArea *UNUSED(sa), ARegio static void view3d_header_region_init(wmWindowManager *wm, ARegion *ar) { wmKeyMap *keymap = WM_keymap_find(wm->defaultconf, "3D View Generic", SPACE_VIEW3D, 0); - + WM_event_add_keymap_handler(&ar->handlers, keymap); ED_region_header_init(ar); @@ -1084,7 +1084,7 @@ static void view3d_buttons_region_init(wmWindowManager *wm, ARegion *ar) wmKeyMap *keymap; ED_region_panels_init(wm, ar); - + keymap = WM_keymap_find(wm->defaultconf, "3D View Generic", SPACE_VIEW3D, 0); WM_event_add_keymap_handler(&ar->handlers, keymap); } @@ -1188,7 +1188,7 @@ static void view3d_buttons_region_listener(bScreen *UNUSED(sc), ScrArea *UNUSED( static void view3d_tools_region_init(wmWindowManager *wm, ARegion *ar) { wmKeyMap *keymap; - + ED_region_panels_init(wm, ar); keymap = WM_keymap_find(wm->defaultconf, "3D View Generic", SPACE_VIEW3D, 0); @@ -1359,7 +1359,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes if ((ob->restrictflag & OB_RESTRICT_VIEW) == 0 || (ob->mode & OB_MODE_EDIT)) CTX_data_pointer_set(result, &scene->id, &RNA_ObjectBase, scene->basact); } - + return 1; } else if (CTX_data_equals(member, "active_object")) { @@ -1371,7 +1371,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes if ((ob->restrictflag & OB_RESTRICT_VIEW) == 0 || (ob->mode & OB_MODE_EDIT)) CTX_data_id_pointer_set(result, &scene->basact->object->id); } - + return 1; } else { @@ -1447,10 +1447,10 @@ void ED_spacetype_view3d(void) { SpaceType *st = MEM_callocN(sizeof(SpaceType), "spacetype view3d"); ARegionType *art; - + st->spaceid = SPACE_VIEW3D; strncpy(st->name, "View3D", BKE_ST_MAXNAME); - + st->new = view3d_new; st->free = view3d_free; st->init = view3d_init; @@ -1475,7 +1475,7 @@ void ED_spacetype_view3d(void) art->cursor = view3d_main_region_cursor; art->lock = 1; /* can become flag, see BKE_spacedata_draw_locks */ BLI_addhead(&st->regiontypes, art); - + /* regions: listview/buttons */ art = MEM_callocN(sizeof(ARegionType), "spacetype view3d buttons region"); art->regionid = RGN_TYPE_UI; @@ -1498,7 +1498,7 @@ void ED_spacetype_view3d(void) art->init = view3d_tools_region_init; art->draw = view3d_tools_region_draw; BLI_addhead(&st->regiontypes, art); - + #if 0 /* unfinished still */ view3d_toolshelf_register(art); @@ -1514,10 +1514,10 @@ void ED_spacetype_view3d(void) art->init = view3d_tools_region_init; art->draw = view3d_tools_region_draw; BLI_addhead(&st->regiontypes, art); - + view3d_tool_props_register(art); - - + + /* regions: header */ art = MEM_callocN(sizeof(ARegionType), "spacetype view3d header region"); art->regionid = RGN_TYPE_HEADER; @@ -1527,7 +1527,7 @@ void ED_spacetype_view3d(void) art->init = view3d_header_region_init; art->draw = view3d_header_region_draw; BLI_addhead(&st->regiontypes, art); - + BKE_spacetype_register(st); } |