Blender Git Commit Log
Git Commits -> Revision 003c181
Revision 003c181 by Julian Eisel (temp_widgets_update_tagging) April 15, 2016, 20:24 (GMT) |
Port face map widgets to update tagging system Face maps behave a bit different than normal widgets, since adding and removing them are common actions. Hence I had to add some special stuff which I'm not so happy about. I see two alternatives, but not sure about them either: * Re-create all face map widgets on WIDGETMAP_REFRESH - would be done only on data/selection changes etc, not on simple redraw so it's rather harmless, would still like to avoid though. * Extend/adjust the new update tagging system to natively support more dynamic widget lists. Would be good to have in general, but once again, I'm not sure how this would look (e.g. how would synchronysing with bone assignments work? More callbacks? :/) Open issues: * Deleting a bone that has a face map assigned doesn't hide/remove the face map widget * Un-assigning a widget only hides it, better free it to save memory. * A face map assinged to multiple bones gets hidden when un-assigning from one of the bones until next redraw. So would like to re-think things again, but for now it's good enough. I don't want this to be a showstopper. |
Commit Details:
Full Hash: 003c181a640576beef70be5239a6c678d1069eb1
Parent Commit: 9099afb
Lines Changed: +160, -35
9 Modified Paths:
/source/blender/blenkernel/intern/facemap.c (+10, -10) (Diff)
/source/blender/editors/include/ED_view3d.h (+4, -0) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+3, -1) (Diff)
/source/blender/editors/space_view3d/view3d_intern.h (+3, -2) (Diff)
/source/blender/editors/space_view3d/view3d_widgets.c (+113, -20) (Diff)
/source/blender/makesdna/DNA_widget_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_pose.c (+16, -0) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c (+6, -1) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetmap.c (+4, -1) (Diff)
/source/blender/editors/include/ED_view3d.h (+4, -0) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+3, -1) (Diff)
/source/blender/editors/space_view3d/view3d_intern.h (+3, -2) (Diff)
/source/blender/editors/space_view3d/view3d_widgets.c (+113, -20) (Diff)
/source/blender/makesdna/DNA_widget_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_pose.c (+16, -0) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetgroup.c (+6, -1) (Diff)
/source/blender/windowmanager/widgets/intern/wm_widgetmap.c (+4, -1) (Diff)