Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_clip/clip_dopesheet_draw.c
| Show First 20 Lines • Show All 277 Lines • ▼ Show 20 Lines | |||||
| { | { | ||||
| ScrArea *sa = CTX_wm_area(C); | ScrArea *sa = CTX_wm_area(C); | ||||
| SpaceClip *sc = CTX_wm_space_clip(C); | SpaceClip *sc = CTX_wm_space_clip(C); | ||||
| View2D *v2d = &ar->v2d; | View2D *v2d = &ar->v2d; | ||||
| MovieClip *clip = ED_space_clip_get_clip(sc); | MovieClip *clip = ED_space_clip_get_clip(sc); | ||||
| MovieTracking *tracking; | MovieTracking *tracking; | ||||
| MovieTrackingDopesheet *dopesheet; | MovieTrackingDopesheet *dopesheet; | ||||
| MovieTrackingDopesheetChannel *channel; | MovieTrackingDopesheetChannel *channel; | ||||
| uiStyle *style = UI_GetStyle(); | uiStyle *style = UI_style_get(); | ||||
| uiBlock *block; | uiBlock *block; | ||||
| int fontid = style->widget.uifont_id; | int fontid = style->widget.uifont_id; | ||||
| int height; | int height; | ||||
| float y; | float y; | ||||
| PropertyRNA *chan_prop_lock; | PropertyRNA *chan_prop_lock; | ||||
| if (!clip) | if (!clip) | ||||
| return; | return; | ||||
| ▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | if (IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) || | ||||
| BLF_draw(fontid, channel->name, strlen(channel->name)); | BLF_draw(fontid, channel->name, strlen(channel->name)); | ||||
| } | } | ||||
| /* adjust y-position for next one */ | /* adjust y-position for next one */ | ||||
| y -= CHANNEL_STEP; | y -= CHANNEL_STEP; | ||||
| } | } | ||||
| /* second pass: widgets */ | /* second pass: widgets */ | ||||
| block = uiBeginBlock(C, ar, __func__, UI_EMBOSS); | block = UI_block_begin(C, ar, __func__, UI_EMBOSS); | ||||
| y = (float) CHANNEL_FIRST; | y = (float) CHANNEL_FIRST; | ||||
| /* get RNA properties (once) */ | /* get RNA properties (once) */ | ||||
| chan_prop_lock = RNA_struct_type_find_property(&RNA_MovieTrackingTrack, "lock"); | chan_prop_lock = RNA_struct_type_find_property(&RNA_MovieTrackingTrack, "lock"); | ||||
| BLI_assert(chan_prop_lock); | BLI_assert(chan_prop_lock); | ||||
| glEnable(GL_BLEND); | glEnable(GL_BLEND); | ||||
| for (channel = dopesheet->channels.first; channel; channel = channel->next) { | for (channel = dopesheet->channels.first; channel; channel = channel->next) { | ||||
| float yminc = (float)(y - CHANNEL_HEIGHT_HALF); | float yminc = (float)(y - CHANNEL_HEIGHT_HALF); | ||||
| float ymaxc = (float)(y + CHANNEL_HEIGHT_HALF); | float ymaxc = (float)(y + CHANNEL_HEIGHT_HALF); | ||||
| /* check if visible */ | /* check if visible */ | ||||
| if (IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) || | if (IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) || | ||||
| IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax)) | IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax)) | ||||
| { | { | ||||
| MovieTrackingTrack *track = channel->track; | MovieTrackingTrack *track = channel->track; | ||||
| const int icon = (track->flag & TRACK_LOCKED) ? ICON_LOCKED : ICON_UNLOCKED; | const int icon = (track->flag & TRACK_LOCKED) ? ICON_LOCKED : ICON_UNLOCKED; | ||||
| PointerRNA ptr; | PointerRNA ptr; | ||||
| RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track, &ptr); | RNA_pointer_create(&clip->id, &RNA_MovieTrackingTrack, track, &ptr); | ||||
| uiBlockSetEmboss(block, UI_EMBOSSN); | UI_block_emboss_set(block, UI_EMBOSS_NONE); | ||||
| uiDefIconButR_prop(block, ICONTOG, 1, icon, | uiDefIconButR_prop(block, UI_BTYPE_ICON_TOGGLE, 1, icon, | ||||
| v2d->cur.xmax - UI_UNIT_X - CHANNEL_PAD, y - UI_UNIT_Y / 2.0f, | v2d->cur.xmax - UI_UNIT_X - CHANNEL_PAD, y - UI_UNIT_Y / 2.0f, | ||||
| UI_UNIT_X, UI_UNIT_Y, &ptr, chan_prop_lock, 0, 0, 0, 0, 0, NULL); | UI_UNIT_X, UI_UNIT_Y, &ptr, chan_prop_lock, 0, 0, 0, 0, 0, NULL); | ||||
| uiBlockSetEmboss(block, UI_EMBOSS); | UI_block_emboss_set(block, UI_EMBOSS); | ||||
| } | } | ||||
| /* adjust y-position for next one */ | /* adjust y-position for next one */ | ||||
| y -= CHANNEL_STEP; | y -= CHANNEL_STEP; | ||||
| } | } | ||||
| glDisable(GL_BLEND); | glDisable(GL_BLEND); | ||||
| uiEndBlock(C, block); | UI_block_end(C, block); | ||||
| uiDrawBlock(C, block); | UI_block_draw(C, block); | ||||
| } | } | ||||