Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
| Show First 20 Lines • Show All 299 Lines • ▼ Show 20 Lines | static bool manipulator_prepare_drawing( | ||||
| const bContext *C, ListBase *draw_manipulators, | const bContext *C, ListBase *draw_manipulators, | ||||
| const eWM_ManipulatorMapDrawStep drawstep) | const eWM_ManipulatorMapDrawStep drawstep) | ||||
| { | { | ||||
| int do_draw = wm_manipulator_is_visible(mpr); | int do_draw = wm_manipulator_is_visible(mpr); | ||||
| if (do_draw == 0) { | if (do_draw == 0) { | ||||
| /* skip */ | /* skip */ | ||||
| } | } | ||||
| else { | else { | ||||
| /* ensure we get RNA updates */ | |||||
| WM_manipulator_target_property_subscribe_all(C, mpr); | |||||
| if (do_draw & WM_MANIPULATOR_IS_VISIBLE_UPDATE) { | if (do_draw & WM_MANIPULATOR_IS_VISIBLE_UPDATE) { | ||||
| /* hover manipulators need updating, even if we don't draw them */ | /* hover manipulators need updating, even if we don't draw them */ | ||||
| wm_manipulator_update(mpr, C, (mmap->update_flag[drawstep] & MANIPULATORMAP_IS_PREPARE_DRAW) != 0); | wm_manipulator_update(mpr, C, (mmap->update_flag[drawstep] & MANIPULATORMAP_IS_PREPARE_DRAW) != 0); | ||||
| } | } | ||||
| if (do_draw & WM_MANIPULATOR_IS_VISIBLE_DRAW) { | if (do_draw & WM_MANIPULATOR_IS_VISIBLE_DRAW) { | ||||
| BLI_addhead(draw_manipulators, BLI_genericNodeN(mpr)); | BLI_addhead(draw_manipulators, BLI_genericNodeN(mpr)); | ||||
| } | } | ||||
| return true; | return true; | ||||
| ▲ Show 20 Lines • Show All 804 Lines • Show Last 20 Lines | |||||