Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_console/space_console.c
| Show All 39 Lines | |||||
| #include "BIF_gl.h" | #include "BIF_gl.h" | ||||
| #include "RNA_access.h" | #include "RNA_access.h" | ||||
| #include "WM_api.h" | #include "WM_api.h" | ||||
| #include "WM_types.h" | #include "WM_types.h" | ||||
| #include "UI_interface.h" | |||||
| #include "UI_resources.h" | #include "UI_resources.h" | ||||
| #include "UI_view2d.h" | #include "UI_view2d.h" | ||||
| #include "console_intern.h" // own include | #include "console_intern.h" // own include | ||||
| #include "GPU_framebuffer.h" | #include "GPU_framebuffer.h" | ||||
| /* ******************** default callbacks for console space ***************** */ | /* ******************** default callbacks for console space ***************** */ | ||||
| ▲ Show 20 Lines • Show All 154 Lines • ▼ Show 20 Lines | |||||
| /* ************* end drop *********** */ | /* ************* end drop *********** */ | ||||
| static void console_main_region_draw(const bContext *C, ARegion *ar) | static void console_main_region_draw(const bContext *C, ARegion *ar) | ||||
| { | { | ||||
| /* draw entirely, view changes should be handled here */ | /* draw entirely, view changes should be handled here */ | ||||
| SpaceConsole *sc = CTX_wm_space_console(C); | SpaceConsole *sc = CTX_wm_space_console(C); | ||||
| View2D *v2d = &ar->v2d; | View2D *v2d = &ar->v2d; | ||||
| View2DScrollers *scrollers; | View2DScrollers *scrollers; | ||||
| int cursor_xy[2]; | |||||
| if (BLI_listbase_is_empty(&sc->scrollback)) | if (BLI_listbase_is_empty(&sc->scrollback)) | ||||
| WM_operator_name_call((bContext *)C, "CONSOLE_OT_banner", WM_OP_EXEC_DEFAULT, NULL); | WM_operator_name_call((bContext *)C, "CONSOLE_OT_banner", WM_OP_EXEC_DEFAULT, NULL); | ||||
| /* clear and setup matrix */ | /* clear and setup matrix */ | ||||
| UI_ThemeClearColor(TH_BACK); | UI_ThemeClearColor(TH_BACK); | ||||
| GPU_clear(GPU_COLOR_BIT); | GPU_clear(GPU_COLOR_BIT); | ||||
| /* worlks best with no view2d matrix set */ | /* worlks best with no view2d matrix set */ | ||||
| UI_view2d_view_ortho(v2d); | UI_view2d_view_ortho(v2d); | ||||
| /* data... */ | /* data... */ | ||||
| console_history_verify(C); /* make sure we have some command line */ | console_history_verify(C); /* make sure we have some command line */ | ||||
| console_textview_main(sc, ar); | console_textview_main(sc, ar, cursor_xy); | ||||
| /* reset view matrix */ | /* reset view matrix */ | ||||
| UI_view2d_view_restore(C); | UI_view2d_view_restore(C); | ||||
| /* scrollers */ | /* scrollers */ | ||||
| scrollers = UI_view2d_scrollers_calc(C, v2d, NULL, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_GRID_CLAMP); | scrollers = UI_view2d_scrollers_calc(C, v2d, NULL, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_GRID_CLAMP); | ||||
| UI_view2d_scrollers_draw(C, v2d, scrollers); | UI_view2d_scrollers_draw(C, v2d, scrollers); | ||||
| UI_view2d_scrollers_free(scrollers); | UI_view2d_scrollers_free(scrollers); | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| if ((cursor_xy[0] != -1) && (CTX_wm_screen(C)->active_region == ar)) { | |||||
| UI_region_im_spot_set(CTX_wm_window(C), ar, cursor_xy[0], cursor_xy[1], sc->lheight); | |||||
| } | |||||
| #endif | |||||
| } | } | ||||
| static void console_operatortypes(void) | static void console_operatortypes(void) | ||||
| { | { | ||||
| /* console_ops.c */ | /* console_ops.c */ | ||||
| WM_operatortype_append(CONSOLE_OT_move); | WM_operatortype_append(CONSOLE_OT_move); | ||||
| WM_operatortype_append(CONSOLE_OT_delete); | WM_operatortype_append(CONSOLE_OT_delete); | ||||
| WM_operatortype_append(CONSOLE_OT_insert); | WM_operatortype_append(CONSOLE_OT_insert); | ||||
| ▲ Show 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | void ED_spacetype_console(void) | ||||
| art->regionid = RGN_TYPE_WINDOW; | art->regionid = RGN_TYPE_WINDOW; | ||||
| art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D; | art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D; | ||||
| art->init = console_main_region_init; | art->init = console_main_region_init; | ||||
| art->draw = console_main_region_draw; | art->draw = console_main_region_draw; | ||||
| art->cursor = console_cursor; | art->cursor = console_cursor; | ||||
| art->listener = console_main_region_listener; | art->listener = console_main_region_listener; | ||||
| #ifdef WITH_IM_OVERTHESPOT | |||||
| art->im_begin = ED_region_generic_im_begin; | |||||
| #endif | |||||
| BLI_addhead(&st->regiontypes, art); | BLI_addhead(&st->regiontypes, art); | ||||
| /* regions: header */ | /* regions: header */ | ||||
| art = MEM_callocN(sizeof(ARegionType), "spacetype console region"); | art = MEM_callocN(sizeof(ARegionType), "spacetype console 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_HEADER; | art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D | ED_KEYMAP_HEADER; | ||||
| Show All 9 Lines | |||||