diff options
author | Ton Roosendaal <ton@blender.org> | 2008-12-27 19:09:56 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2008-12-27 19:09:56 +0300 |
commit | f0f451fc16880315c8c094aaabd0fbf8a06ffede (patch) | |
tree | bfd93ce72af37a8c08898b745e09af08c36e4314 /source/blender/editors/space_time | |
parent | 0714d28236e66b258de90bcbb8a1a821ee424a71 (diff) |
2.5
Notifier system upgrade, based on Brecht's doc.
Implementation notes:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers#Implementation
In short: let's try to strictly communicate in a notifier what happened.
The listeners then can act themselves. It also means that a frame-changed
notifier doesn't send out redraws, the editors themselves can decide.
Diffstat (limited to 'source/blender/editors/space_time')
-rw-r--r-- | source/blender/editors/space_time/space_time.c | 5 | ||||
-rw-r--r-- | source/blender/editors/space_time/time_header.c | 11 |
2 files changed, 9 insertions, 7 deletions
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c index 81c5334ef31..11ab7b19a6b 100644 --- a/source/blender/editors/space_time/space_time.c +++ b/source/blender/editors/space_time/space_time.c @@ -164,9 +164,10 @@ static void time_main_area_draw(const bContext *C, ARegion *ar) static void time_main_area_listener(ARegion *ar, wmNotifier *wmn) { /* context changes */ - switch(wmn->type) { + switch(wmn->category) { - case WM_NOTE_MARKERS_CHANGED: + case NC_SCENE: + /* any scene change for now */ ED_region_tag_redraw(ar); break; } diff --git a/source/blender/editors/space_time/time_header.c b/source/blender/editors/space_time/time_header.c index b760f1f969b..94c3e03ff8c 100644 --- a/source/blender/editors/space_time/time_header.c +++ b/source/blender/editors/space_time/time_header.c @@ -275,7 +275,7 @@ static void do_time_framemenu(bContext *C, void *arg, int event) } else scene->r.sfra = scene->r.cfra; - WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene); break; case 2: /* Set as End */ if (scene->r.psfra) { @@ -285,7 +285,7 @@ static void do_time_framemenu(bContext *C, void *arg, int event) } else scene->r.efra = scene->r.cfra; - WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene); break; case 3: /* Rename Marker */ //rename_marker(); @@ -362,8 +362,10 @@ void do_time_buttons(bContext *C, void *arg, int event) switch(event) { case B_REDRAWALL: + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene); + break; case B_NEWFRAME: - WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene); break; case B_TL_REW: scene->r.cfra= PSFRA; @@ -374,7 +376,6 @@ void do_time_buttons(bContext *C, void *arg, int event) break; case B_TL_STOP: ED_screen_animation_timer(C, 0); - WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); break; case B_TL_FF: /* end frame */ @@ -402,7 +403,7 @@ void do_time_buttons(bContext *C, void *arg, int event) scene->r.pefra= 0; } //BIF_undo_push("Set anim-preview range"); - WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, scene); break; case B_TL_INSERTKEY: |