Blender Git Loki
Git Commits -> Revision ccaf8d1
Revision ccaf8d1 by Julian Eisel (temp_widgets_update_tagging) March 8, 2016, 00:40 (GMT) |
More refactoring of the update->draw routine We never recreate widgets anymore, we only create them once using an init callback and handle changing data in update callbacks. For efficiency, we now have 3 widgetgroup init/update callbacks: * init - initialize data that doesn't change in widget lifetime * refresh - update data that doesn't change each redraw, only called if WM_widgetmap_tag_refresh was called before * draw_prepare - update drawing data, called before each redraw This should really increase widget drawing performance. Note: Widgets other than the transform manipulator are still not adjusted to work in new drawing routine. |
Commit Details:
Full Hash: ccaf8d1decfa1dc5401a894dcc179211e30f19a1
Parent Commit: 22f3035
Lines Changed: +221, -291
22 Modified Paths:
/source/blender/editors/include/ED_transform.h (+5, -4) (Diff)
/source/blender/editors/include/ED_view3d.h (+1, -1) (Diff)
/source/blender/editors/object/object_edit.c (+1, -1) (Diff)
/source/blender/editors/space_graph/graph_edit.c (+2, -2) (Diff)
/source/blender/editors/space_graph/space_graph.c (+1, -1) (Diff)
/source/blender/editors/space_image/space_image.c (+2, -2) (Diff)
/source/blender/editors/space_node/node_draw.c (+1, -1) (Diff)
/source/blender/editors/space_node/space_node.c (+2, -2) (Diff)
/source/blender/editors/space_sequencer/sequencer_draw.c (+1, -1) (Diff)
/source/blender/editors/space_sequencer/sequencer_view.c (+4, -4) (Diff)
/source/blender/editors/space_sequencer/space_sequencer.c (+1, -1) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+11, -10) (Diff)
/source/blender/editors/space_view3d/view3d_draw.c (+2, -2) (Diff)
/source/blender/editors/space_view3d/view3d_intern.h (+3, -3) (Diff)
/source/blender/editors/space_view3d/view3d_widgets.c (+4, -4) (Diff)
/source/blender/editors/transform/transform_manipulator.c (+108, -83) (Diff)
/source/blender/editors/transform/transform_manipulator2d.c (+1, -1) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c (+11, -9) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetmap.c (+43, -142) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widget_intern.h (+0, -4) (Diff)
/source/blender/windowmanager/widgets/WM_widget_api.h (+9, -6) (Diff)
/source/blender/windowmanager/widgets/WM_widget_types.h (+8, -7) (Diff)
/source/blender/editors/include/ED_view3d.h (+1, -1) (Diff)
/source/blender/editors/object/object_edit.c (+1, -1) (Diff)
/source/blender/editors/space_graph/graph_edit.c (+2, -2) (Diff)
/source/blender/editors/space_graph/space_graph.c (+1, -1) (Diff)
/source/blender/editors/space_image/space_image.c (+2, -2) (Diff)
/source/blender/editors/space_node/node_draw.c (+1, -1) (Diff)
/source/blender/editors/space_node/space_node.c (+2, -2) (Diff)
/source/blender/editors/space_sequencer/sequencer_draw.c (+1, -1) (Diff)
/source/blender/editors/space_sequencer/sequencer_view.c (+4, -4) (Diff)
/source/blender/editors/space_sequencer/space_sequencer.c (+1, -1) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+11, -10) (Diff)
/source/blender/editors/space_view3d/view3d_draw.c (+2, -2) (Diff)
/source/blender/editors/space_view3d/view3d_intern.h (+3, -3) (Diff)
/source/blender/editors/space_view3d/view3d_widgets.c (+4, -4) (Diff)
/source/blender/editors/transform/transform_manipulator.c (+108, -83) (Diff)
/source/blender/editors/transform/transform_manipulator2d.c (+1, -1) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c (+11, -9) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetmap.c (+43, -142) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widget_intern.h (+0, -4) (Diff)
/source/blender/windowmanager/widgets/WM_widget_api.h (+9, -6) (Diff)
/source/blender/windowmanager/widgets/WM_widget_types.h (+8, -7) (Diff)