Revision: 17691 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17691 Author: ton Date: 2008-12-03 14:44:16 +0100 (Wed, 03 Dec 2008)
Log Message: ----------- 2.5 - Made view2d manipulations redraw on area level - simplified call to send Notifiers: WM_event_add_notifier(bContext *C, int type, int value, void *data) This brings back more control to WM, no context messing within operators. :) Handlers that execute operators will be responsible for delivering correct contextes. In general: should lead to making context not exposed, but only readable via some callbacks. Modified Paths: -------------- branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c branches/blender2.5/blender/source/blender/editors/space_time/time_ops.c branches/blender2.5/blender/source/blender/windowmanager/WM_api.h branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c 2008-12-03 13:14:01 UTC (rev 17690) +++ branches/blender2.5/blender/source/blender/editors/interface/interface_ops.c 2008-12-03 13:44:16 UTC (rev 17691) @@ -1183,7 +1183,7 @@ } if(changed || handled) - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } static void ui_do_but_textedit_select(bContext *C, uiBlock *block, uiBut *but, uiActivateBut *data, wmEvent *event) @@ -1209,7 +1209,7 @@ if(handled) { ui_check_but(but); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } } @@ -1265,7 +1265,7 @@ if(data->interactive) ui_apply_button(block, but, data, 1); else ui_check_but(but); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } /* ****************** block opening for various types **************** */ @@ -2647,7 +2647,7 @@ } data->state= state; - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } static void button_activate_init(bContext *C, ARegion *ar, wmOperator *op, uiBut *but, uiBut *lastbut) @@ -2746,7 +2746,7 @@ } /* redraw */ - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); /* clean up */ button_disable_timers(C, data); @@ -2863,7 +2863,7 @@ if(event->customdata == data->tooltiptimer) { if(!data->tooltip) { data->tooltip= ui_tooltip_create(C, data->region, but); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } WM_event_remove_window_timer(C->window, data->tooltiptimer); @@ -2891,14 +2891,14 @@ if(but && but->activate == data) { if(!(but->flag & UI_SELECT)) { but->flag |= UI_SELECT; - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } } else { but= ui_but_find_activated(data->region, data, &block); if(but->flag & UI_SELECT) { but->flag &= ~UI_SELECT; - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } } break; Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2008-12-03 13:14:01 UTC (rev 17690) +++ branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c 2008-12-03 13:44:16 UTC (rev 17691) @@ -332,8 +332,8 @@ ar->winrct.ymax= y2; /* notify change and redraw */ - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); return ar; } @@ -342,8 +342,8 @@ { ui_remove_temporary_region(C, C->window->screen, ar); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } /************************* Creating Menu Blocks **********************/ @@ -650,8 +650,8 @@ block->flag |= UI_BLOCK_LOOP|UI_BLOCK_MOVEMOUSE_QUIT; /* notify change and redraw */ - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); SWAP(ARegion*, C->region, ar); /* XXX 2.50 bad context swapping */ WM_operator_invoke(C, WM_operatortype_find("ED_UI_OT_menu_block_handle"), NULL); @@ -665,8 +665,8 @@ ui_remove_temporary_region(C, C->window->screen, handle->region); MEM_freeN(handle); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } /***************************** Menu Button ***************************/ @@ -1757,7 +1757,7 @@ 13+50+5+80+5+100+5+100+5+200+5+150+5+100+5, 3, 100, 20, testcol, 0, 0, 0, 0 /*B_BANDCOL*/, ""); xco = 13+50+5+80+5+100+5+100+5+200+5+150+5+100+5+100+5; - uiDefIconButBitS(block, ICONTOG, 1 /*AUTOKEY_ON*/, REDRAWINFO, ICON_PYTHON, + uiDefIconButBitS(block, ICONTOG, 1 /*AUTOKEY_ON*/, REDRAWINFO, ICON_PYTHON, xco, 3, 20, 20, &testicontog, 0, 0, 0, 0, "Automatic keyframe insertion for Objects and Bones"); xco += 5; Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c 2008-12-03 13:14:01 UTC (rev 17690) +++ branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c 2008-12-03 13:44:16 UTC (rev 17691) @@ -34,6 +34,8 @@ #include "DNA_space_types.h" #include "DNA_view2d_types.h" +#include "BLI_blenlib.h" + #include "BKE_global.h" #include "BKE_utildefines.h" @@ -157,7 +159,7 @@ } /* request updates to be done... */ - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_AREA_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL); /* XXX: add WM_NOTE_TIME_CHANGED? */ } @@ -480,7 +482,7 @@ } /* request updates to be done... */ - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_AREA_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_AREA_REDRAW, 0, NULL); /* XXX: add WM_NOTE_TIME_CHANGED? */ } Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2008-12-03 13:14:01 UTC (rev 17690) +++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2008-12-03 13:44:16 UTC (rev 17691) @@ -335,7 +335,7 @@ area_copy_data((ScrArea *)newsc->areabase.first, C->area, 0); /* screen, areas init */ - WM_event_add_notifier(C->wm, win, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); return OPERATOR_FINISHED; } @@ -517,7 +517,7 @@ } } - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); } static void area_move_apply(bContext *C, wmOperator *op) @@ -766,7 +766,7 @@ if(dir=='h') sd->origval= sd->nedge->v1->vec.y; else sd->origval= sd->nedge->v1->vec.x; - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); return 1; } @@ -781,7 +781,7 @@ op->customdata = NULL; } - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); /* this makes sure aligned edges will result in aligned grabbing */ removedouble_scrverts(C->screen); @@ -887,7 +887,7 @@ sd->delta= (dir == 'v')? event->x - sd->origval: event->y - sd->origval; area_move_apply_do(C, sd->origval, sd->delta, dir, sd->bigger, sd->smaller); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); break; case LEFTMOUSE: @@ -1090,7 +1090,7 @@ jd->sa2->flag &= ~AREA_FLAG_DRAWJOINTO; } - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); area_join_exit(C, op); @@ -1137,7 +1137,7 @@ jd->sa2 = NULL; } } - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } else { /* we are back in the area previously selected for keeping @@ -1162,7 +1162,7 @@ jd->sa2->flag |= AREA_FLAG_DRAWJOINTO; } } - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_WINDOW_REDRAW, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); } } } @@ -1170,7 +1170,7 @@ case LEFTMOUSE: if(event->val==0) { area_join_apply(C, op); - WM_event_add_notifier(C->wm, C->window, 0, WM_NOTE_SCREEN_CHANGED, 0, NULL); + WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); area_join_exit(C, op); return OPERATOR_FINISHED; } Modified: branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c =================================================================== --- branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c 2008-12-03 13:14:01 UTC (rev 17690) +++ branches/blender2.5/blender/source/blender/editors/space_time/ed_markers.c 2008-12-03 13:44:16 UTC (rev 17691) @@ -56,6 +56,7 @@ #include "UI_interface_icons.h" #include "UI_view2d.h" #include "UI_resources.h" +#include "UI_text.h" #include "ED_markers.h" #include "ED_screen.h" @@ -244,7 +245,6 @@ ListBase *markers; int event_type; /* store invoke-event, to verify */ int *oldframe, evtx, firstx; - short swinid; } MarkerMove; /* copy selection to temp buffer */ @@ -293,7 +293,6 @@ mm->evtx= evt->x; mm->firstx= evt->x; - mm->swinid= C->region->swinid; mm->event_type= evt->type; /* add temp handler */ @@ -327,13 +326,12 @@ /* only for modal */ static void ed_marker_move_cancel(bContext *C, wmOperator *op) { - MarkerMove *mm= op->customdata; RNA_int_set(op->ptr, "frs", 0); @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs