Example #1
0
/* 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);
	}
}
Example #2
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);
}
Example #3
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);
	}
}