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:
authorTon Roosendaal <ton@blender.org>2008-12-16 15:28:00 +0300
committerTon Roosendaal <ton@blender.org>2008-12-16 15:28:00 +0300
commit6fe19cfc85a75f0ec6bb46a70fc9c849108b41ca (patch)
tree58cb50e504afb8e2cdbe22491544079eeadf297e /source/blender/editors/space_time
parentf518fa8ea76a39078ca43eb06fbfaf5aa9ac31dc (diff)
2.5
Work on getting notifiers in shape. - Most important: local (to own region or area) redraw notifiers have been depricated. This is not a good or correct notifier anyway. Notifiers should be signals to other areas. - Instead use these 2 functions: ED_area_tag_redraw(area); ED_region_tag_redraw(region); It seems to me good convention to keep the area/region redraw tag itself protected everywhere, for future improvements. - Also added a basic WM function that checks overlapping regions, and flushes redraws to underlying regions. This makes menus and buttons allow to only send local region redraws. (Brought back two "swapbuffer indicators" to test this. - Todo: area 'action zone' redraws, and fixing other notifiers... sending data pointers in a notifier seems to be bad idea.
Diffstat (limited to 'source/blender/editors/space_time')
-rw-r--r--source/blender/editors/space_time/ed_markers.c14
-rw-r--r--source/blender/editors/space_time/space_time.c2
-rw-r--r--source/blender/editors/space_time/time_header.c8
3 files changed, 12 insertions, 12 deletions
diff --git a/source/blender/editors/space_time/ed_markers.c b/source/blender/editors/space_time/ed_markers.c
index deb56b286b4..43b2601d2fa 100644
--- a/source/blender/editors/space_time/ed_markers.c
+++ b/source/blender/editors/space_time/ed_markers.c
@@ -332,7 +332,7 @@ static void ed_marker_move_cancel(bContext *C, wmOperator *op)
ed_marker_move_apply(C, op);
ed_marker_move_exit(C, op);
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
}
@@ -374,7 +374,7 @@ static int ed_marker_move_modal(bContext *C, wmOperator *op, wmEvent *evt)
case RIGHTMOUSE:
if(WM_modal_tweak_check(evt, mm->event_type)) {
ed_marker_move_exit(C, op);
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_FINISHED;
}
@@ -451,7 +451,7 @@ XXX else if (mm->slink->spacetype == SPACE_ACTION) {
}
}
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
// headerprint(str); XXX
}
}
@@ -619,7 +619,7 @@ static int ed_marker_select(bContext *C, wmEvent *evt, int extend)
select_timeline_marker_frame(cfra, 0);
/* XXX notifier for markers... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_PASS_THROUGH;
}
@@ -713,7 +713,7 @@ static int ed_marker_border_select_exec(bContext *C, wmOperator *op)
}
/* XXX notifier for markers... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return 1;
}
@@ -767,7 +767,7 @@ static int ed_marker_select_all_exec(bContext *C, wmOperator *op)
}
/* XXX notifier for markers... */
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_FINISHED;
}
@@ -815,7 +815,7 @@ static int ed_marker_delete_exec(bContext *C, wmOperator *op)
/* XXX notifier for markers... */
if(changed)
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index 29426840653..417ddb09373 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -166,7 +166,7 @@ static void time_main_area_listener(ARegion *ar, wmNotifier *wmn)
switch(wmn->type) {
case WM_NOTE_TIMELINE_SYNC:
if(ar->v2d.flag & V2D_VIEWSYNC_X) {
- ar->do_draw= 1; /* XXX GAH! */
+ ED_region_tag_redraw(ar);
UI_view2d_sync(&ar->v2d, wmn->data, wmn->value);
}
break;
diff --git a/source/blender/editors/space_time/time_header.c b/source/blender/editors/space_time/time_header.c
index 4f7d00005a4..65203cb7421 100644
--- a/source/blender/editors/space_time/time_header.c
+++ b/source/blender/editors/space_time/time_header.c
@@ -162,7 +162,7 @@ static void do_time_viewmenu(bContext *C, void *arg, int event)
v2d->cur.xmin=v2d->tot.xmin= (float)first-2;
v2d->cur.xmax=v2d->tot.xmax= (float)C->scene->r.efra+2;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
}
break;
case 4: /* Maximize Window */
@@ -170,7 +170,7 @@ static void do_time_viewmenu(bContext *C, void *arg, int event)
break;
case 5: /* show time or frames */
stime->flag ^= TIME_DRAWFRAMES;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
break;
case 6:
//nextprev_marker(1);
@@ -191,12 +191,12 @@ static void do_time_viewmenu(bContext *C, void *arg, int event)
if(v2d) {
v2d->flag ^= V2D_VIEWSYNC_X;
if(v2d->flag & V2D_VIEWSYNC_X)
- WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, 0, v2d); /* XXX can notifier be called after data free? */
+ WM_event_add_notifier(C, WM_NOTE_TIMELINE_SYNC, V2D_LOCK_SET, v2d);
}
break;
case 12: /* only show keyframes from selected data */
stime->flag ^= TIME_ONLYACTSEL;
- WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL);
+ ED_area_tag_redraw(C->area);
break;
}
}