Blender Git Loki

Git Commits -> Revision ccaf8d1

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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021