Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/space_console/space_console.c')
-rw-r--r--source/blender/editors/space_console/space_console.c40
1 files changed, 26 insertions, 14 deletions
diff --git a/source/blender/editors/space_console/space_console.c b/source/blender/editors/space_console/space_console.c
index a592f35f629..182f2bd2e80 100644
--- a/source/blender/editors/space_console/space_console.c
+++ b/source/blender/editors/space_console/space_console.c
@@ -74,8 +74,8 @@ static SpaceLink *console_new(const bContext *UNUSED(C))
ar->alignment = RGN_ALIGN_BOTTOM;
- /* main area */
- ar = MEM_callocN(sizeof(ARegion), "main area for text");
+ /* main region */
+ ar = MEM_callocN(sizeof(ARegion), "main region for text");
BLI_addtail(&sconsole->regionbase, ar);
ar->regiontype = RGN_TYPE_WINDOW;
@@ -129,7 +129,7 @@ static SpaceLink *console_duplicate(SpaceLink *sl)
/* add handlers, stuff you only do once or on area/region changes */
-static void console_main_area_init(wmWindowManager *wm, ARegion *ar)
+static void console_main_region_init(wmWindowManager *wm, ARegion *ar)
{
wmKeyMap *keymap;
ListBase *lb;
@@ -219,7 +219,7 @@ static void console_dropboxes(void)
/* ************* end drop *********** */
-static void console_main_area_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 */
SpaceConsole *sc = CTX_wm_space_console(C);
@@ -362,27 +362,39 @@ static void console_keymap(struct wmKeyConfig *keyconf)
/****************** header region ******************/
/* add handlers, stuff you only do once or on area/region changes */
-static void console_header_area_init(wmWindowManager *UNUSED(wm), ARegion *ar)
+static void console_header_region_init(wmWindowManager *UNUSED(wm), ARegion *ar)
{
ED_region_header_init(ar);
}
-static void console_header_area_draw(const bContext *C, ARegion *ar)
+static void console_header_region_draw(const bContext *C, ARegion *ar)
{
ED_region_header(C, ar);
}
-static void console_main_area_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa), ARegion *ar, wmNotifier *wmn)
+static void console_main_region_listener(bScreen *UNUSED(sc), ScrArea *sa, ARegion *ar, wmNotifier *wmn)
{
// SpaceInfo *sinfo = sa->spacedata.first;
/* context changes */
switch (wmn->category) {
case NC_SPACE:
- if (wmn->data == ND_SPACE_CONSOLE) { /* generic redraw request */
- ED_region_tag_redraw(ar);
+ {
+ if (wmn->data == ND_SPACE_CONSOLE) {
+ if (wmn->action == NA_EDITED) {
+ if ((wmn->reference && sa) && (wmn->reference == sa->spacedata.first)) {
+ /* we've modified the geometry (font size), re-calculate rect */
+ console_textview_update_rect(wmn->reference, ar);
+ ED_region_tag_redraw(ar);
+ }
+ }
+ else {
+ /* generic redraw request */
+ ED_region_tag_redraw(ar);
+ }
}
break;
+ }
}
}
@@ -408,10 +420,10 @@ void ED_spacetype_console(void)
art->regionid = RGN_TYPE_WINDOW;
art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D;
- art->init = console_main_area_init;
- art->draw = console_main_area_draw;
+ art->init = console_main_region_init;
+ art->draw = console_main_region_draw;
art->cursor = console_cursor;
- art->listener = console_main_area_listener;
+ art->listener = console_main_region_listener;
@@ -423,8 +435,8 @@ void ED_spacetype_console(void)
art->prefsizey = HEADERY;
art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D | ED_KEYMAP_HEADER;
- art->init = console_header_area_init;
- art->draw = console_header_area_draw;
+ art->init = console_header_region_init;
+ art->draw = console_header_region_draw;
BLI_addhead(&st->regiontypes, art);