Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/space_view3d.c
| Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | |||||
| #include "RE_engine.h" | #include "RE_engine.h" | ||||
| #include "RE_pipeline.h" | #include "RE_pipeline.h" | ||||
| #include "RNA_access.h" | #include "RNA_access.h" | ||||
| #include "UI_interface.h" | #include "UI_interface.h" | ||||
| #include "UI_resources.h" | #include "UI_resources.h" | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| # include "UI_interface.h" | |||||
| #endif | |||||
| #ifdef WITH_PYTHON | #ifdef WITH_PYTHON | ||||
| # include "BPY_extern.h" | # include "BPY_extern.h" | ||||
| #endif | #endif | ||||
| #include "DEG_depsgraph.h" | #include "DEG_depsgraph.h" | ||||
| #include "view3d_intern.h" /* own include */ | #include "view3d_intern.h" /* own include */ | ||||
| ▲ Show 20 Lines • Show All 1,354 Lines • ▼ Show 20 Lines | for (v3d = (View3D *)slink; v3d; v3d = v3d->localvd, is_local = true) { | ||||
| } | } | ||||
| if (is_local) { | if (is_local) { | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| static bool view3d_im_begin(const bContext *C, ARegion *ar) | |||||
| { | |||||
| wmWindow *win = CTX_wm_window(C); | |||||
| Object *obedit = CTX_data_edit_object(C); | |||||
| if (obedit && obedit->type == OB_FONT) { | |||||
| WM_window_IM_begin(win); | |||||
| UI_region_im_spot_set(win, ar, 0, 0, 0); | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| #endif | |||||
| /* only called once, from space/spacetypes.c */ | /* only called once, from space/spacetypes.c */ | ||||
| void ED_spacetype_view3d(void) | void ED_spacetype_view3d(void) | ||||
| { | { | ||||
| SpaceType *st = MEM_callocN(sizeof(SpaceType), "spacetype view3d"); | SpaceType *st = MEM_callocN(sizeof(SpaceType), "spacetype view3d"); | ||||
| ARegionType *art; | ARegionType *art; | ||||
| st->spaceid = SPACE_VIEW3D; | st->spaceid = SPACE_VIEW3D; | ||||
| strncpy(st->name, "View3D", BKE_ST_MAXNAME); | strncpy(st->name, "View3D", BKE_ST_MAXNAME); | ||||
| Show All 19 Lines | void ED_spacetype_view3d(void) | ||||
| art->init = view3d_main_region_init; | art->init = view3d_main_region_init; | ||||
| art->exit = view3d_main_region_exit; | art->exit = view3d_main_region_exit; | ||||
| art->free = view3d_main_region_free; | art->free = view3d_main_region_free; | ||||
| art->duplicate = view3d_main_region_duplicate; | art->duplicate = view3d_main_region_duplicate; | ||||
| art->listener = view3d_main_region_listener; | art->listener = view3d_main_region_listener; | ||||
| art->message_subscribe = view3d_main_region_message_subscribe; | art->message_subscribe = view3d_main_region_message_subscribe; | ||||
| art->cursor = view3d_main_region_cursor; | art->cursor = view3d_main_region_cursor; | ||||
| art->lock = 1; /* can become flag, see BKE_spacedata_draw_locks */ | art->lock = 1; /* can become flag, see BKE_spacedata_draw_locks */ | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| art->im_begin = view3d_im_begin; | |||||
| #endif | |||||
| BLI_addhead(&st->regiontypes, art); | BLI_addhead(&st->regiontypes, art); | ||||
| /* regions: listview/buttons */ | /* regions: listview/buttons */ | ||||
| art = MEM_callocN(sizeof(ARegionType), "spacetype view3d buttons region"); | art = MEM_callocN(sizeof(ARegionType), "spacetype view3d buttons region"); | ||||
| art->regionid = RGN_TYPE_UI; | art->regionid = RGN_TYPE_UI; | ||||
| art->prefsizex = 180; /* XXX */ | art->prefsizex = 180; /* XXX */ | ||||
| art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES; | art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES; | ||||
| art->listener = view3d_buttons_region_listener; | art->listener = view3d_buttons_region_listener; | ||||
| art->init = view3d_buttons_region_init; | art->init = view3d_buttons_region_init; | ||||
| art->draw = view3d_buttons_region_draw; | art->draw = view3d_buttons_region_draw; | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| art->im_begin = view3d_im_begin; | |||||
| #endif | |||||
| BLI_addhead(&st->regiontypes, art); | BLI_addhead(&st->regiontypes, art); | ||||
| view3d_buttons_register(art); | view3d_buttons_register(art); | ||||
| /* regions: tool(bar) */ | /* regions: tool(bar) */ | ||||
| art = MEM_callocN(sizeof(ARegionType), "spacetype view3d tools region"); | art = MEM_callocN(sizeof(ARegionType), "spacetype view3d tools region"); | ||||
| art->regionid = RGN_TYPE_TOOLS; | art->regionid = RGN_TYPE_TOOLS; | ||||
| art->prefsizex = 58; /* XXX */ | art->prefsizex = 58; /* XXX */ | ||||
| art->prefsizey = 50; /* XXX */ | art->prefsizey = 50; /* XXX */ | ||||
| art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES; | art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_FRAMES; | ||||
| art->listener = view3d_buttons_region_listener; | art->listener = view3d_buttons_region_listener; | ||||
| art->message_subscribe = ED_region_generic_tools_region_message_subscribe; | art->message_subscribe = ED_region_generic_tools_region_message_subscribe; | ||||
| art->snap_size = ED_region_generic_tools_region_snap_size; | art->snap_size = ED_region_generic_tools_region_snap_size; | ||||
| art->init = view3d_tools_region_init; | art->init = view3d_tools_region_init; | ||||
| art->draw = view3d_tools_region_draw; | art->draw = view3d_tools_region_draw; | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| art->im_begin = view3d_im_begin; | |||||
| #endif | |||||
| BLI_addhead(&st->regiontypes, art); | BLI_addhead(&st->regiontypes, art); | ||||
| /* regions: header */ | /* regions: header */ | ||||
| art = MEM_callocN(sizeof(ARegionType), "spacetype view3d header region"); | art = MEM_callocN(sizeof(ARegionType), "spacetype view3d header region"); | ||||
| art->regionid = RGN_TYPE_HEADER; | art->regionid = RGN_TYPE_HEADER; | ||||
| art->prefsizey = HEADERY; | art->prefsizey = HEADERY; | ||||
| art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D | ED_KEYMAP_FRAMES | ED_KEYMAP_HEADER; | art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D | ED_KEYMAP_FRAMES | ED_KEYMAP_HEADER; | ||||
| art->listener = view3d_header_region_listener; | art->listener = view3d_header_region_listener; | ||||
| art->init = view3d_header_region_init; | art->init = view3d_header_region_init; | ||||
| art->draw = view3d_header_region_draw; | art->draw = view3d_header_region_draw; | ||||
| art->message_subscribe = view3d_header_region_message_subscribe; | art->message_subscribe = view3d_header_region_message_subscribe; | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| art->im_begin = view3d_im_begin; | |||||
| #endif | |||||
| BLI_addhead(&st->regiontypes, art); | BLI_addhead(&st->regiontypes, art); | ||||
| /* regions: hud */ | /* regions: hud */ | ||||
| art = ED_area_type_hud(st->spaceid); | art = ED_area_type_hud(st->spaceid); | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| art->im_begin = view3d_im_begin; | |||||
| #endif | |||||
| BLI_addhead(&st->regiontypes, art); | BLI_addhead(&st->regiontypes, art); | ||||
| BKE_spacetype_register(st); | BKE_spacetype_register(st); | ||||
| } | } | ||||