/* draw grease pencil */ void clip_draw_grease_pencil(bContext *C, int onlyv2d) { SpaceClip *sc = CTX_wm_space_clip(C); MovieClip *clip = ED_space_clip_get_clip(sc); if (!clip) return; if (onlyv2d) { /* if manual calibration is used then grease pencil data is already * drawn in draw_distortion */ if ((sc->flag & SC_MANUAL_CALIBRATION) == 0) { glPushMatrix(); glMultMatrixf(sc->unistabmat); if (sc->gpencil_src == SC_GPENCIL_SRC_TRACK) { MovieTrackingTrack *track = BKE_tracking_track_get_active(&sc->clip->tracking); if (track) { int framenr = ED_space_clip_get_clip_frame_number(sc); MovieTrackingMarker *marker = BKE_tracking_marker_get(track, framenr); glTranslatef(marker->pos[0], marker->pos[1], 0.0f); } } ED_gpencil_draw_2dimage(C); glPopMatrix(); } } else { ED_gpencil_draw_view2d(C, 0); } }
static void sequencer_draw_gpencil(const bContext *C) { /* draw grease-pencil (image aligned) */ ED_gpencil_draw_2dimage(C); /* ortho at pixel level */ UI_view2d_view_restore(C); /* draw grease-pencil (screen aligned) */ ED_gpencil_draw_view2d(C, 0); }
/* draw grease pencil */ void draw_image_grease_pencil(bContext *C, bool onlyv2d) { /* draw in View2D space? */ if (onlyv2d) { /* draw grease-pencil ('image' strokes) */ ED_gpencil_draw_2dimage(C); } else { /* assume that UI_view2d_restore(C) has been called... */ //SpaceImage *sima = (SpaceImage *)CTX_wm_space_data(C); /* draw grease-pencil ('screen' strokes) */ ED_gpencil_draw_view2d(C, 0); } }