From 1d88773b1f2e905773069a2d39617dd350683547 Mon Sep 17 00:00:00 2001 From: Mike Erwin Date: Fri, 22 Jan 2016 02:44:33 -0500 Subject: OpenGL: cleanup - LINE_STRIP to LINES when only drawing one - group state changes for easier reading - general cleanup --- source/blender/editors/space_clip/clip_draw.c | 49 ++++++++++++-------------- source/blender/editors/space_clip/clip_utils.c | 15 ++++---- 2 files changed, 29 insertions(+), 35 deletions(-) (limited to 'source/blender/editors/space_clip') diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c index 77934bb4099..a4dc71dfb83 100644 --- a/source/blender/editors/space_clip/clip_draw.c +++ b/source/blender/editors/space_clip/clip_draw.c @@ -481,6 +481,8 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT px[0] = 1.0f / width / sc->zoom; px[1] = 1.0f / height / sc->zoom; + glLineWidth(tiny ? 1.0f : 3.0f); + if ((marker->flag & MARKER_DISABLED) == 0) { float pos[2]; float p[2]; @@ -500,7 +502,6 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT glEnd(); } else { - if (!tiny) glLineWidth(3.0f); glBegin(GL_LINES); glVertex2f(pos[0] + px[0] * 2, pos[1]); glVertex2f(pos[0] + px[0] * 8, pos[1]); @@ -522,9 +523,6 @@ static void draw_marker_outline(SpaceClip *sc, MovieTrackingTrack *track, MovieT glPushMatrix(); glTranslate2fv(marker_pos); - if (!tiny) - glLineWidth(3.0f); - if (sc->flag & SC_SHOW_MARKER_PATTERN) { glBegin(GL_LINE_LOOP); glVertex2fv(marker->pattern_corners[0]); @@ -795,7 +793,6 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo track_colors(track, act, col, scol); if (outline) { - glLineWidth(3.0f); UI_ThemeColor(TH_MARKER_OUTLINE); } @@ -854,6 +851,8 @@ static void draw_marker_slide_zones(SpaceClip *sc, MovieTrackingTrack *track, Mo BKE_tracking_marker_pattern_minmax(marker, pat_min, pat_max); + glLineWidth(outline ? 3.0f : 1.0f); + glEnable(GL_LINE_STIPPLE); glLineStipple(3, 0xaaaa); @@ -1149,17 +1148,18 @@ static void draw_plane_marker_ex(SpaceClip *sc, Scene *scene, MovieTrackingPlane draw_plane_marker_image(scene, plane_track, plane_marker); } - if (draw_outline) { - if (!tiny) { - glLineWidth(3.0f); + if (draw_plane_quad) { + + const bool stipple = !draw_outline && tiny; + const bool thick = draw_outline && !tiny; + + if (stipple) { + glLineStipple(3, 0xaaaa); + glEnable(GL_LINE_STIPPLE); } - } - else if (tiny) { - glLineStipple(3, 0xaaaa); - glEnable(GL_LINE_STIPPLE); - } - if (draw_plane_quad) { + glLineWidth(thick ? 3.0f : 1.0f); + /* Draw rectangle itself. */ glBegin(GL_LINE_LOOP); glVertex2fv(plane_marker->corners[0]); @@ -1173,22 +1173,28 @@ static void draw_plane_marker_ex(SpaceClip *sc, Scene *scene, MovieTrackingPlane float end_point[2]; glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT); + glBegin(GL_LINES); + getArrowEndPoint(width, height, sc->zoom, plane_marker->corners[0], plane_marker->corners[1], end_point); glColor3f(1.0, 0.0, 0.0f); - glBegin(GL_LINES); glVertex2fv(plane_marker->corners[0]); glVertex2fv(end_point); - glEnd(); getArrowEndPoint(width, height, sc->zoom, plane_marker->corners[0], plane_marker->corners[3], end_point); glColor3f(0.0, 1.0, 0.0f); - glBegin(GL_LINES); glVertex2fv(plane_marker->corners[0]); glVertex2fv(end_point); + glEnd(); glPopAttrib(); } + + if (stipple) + glDisable(GL_LINE_STIPPLE); + + if (thick) + glLineWidth(1.0f); } /* Draw sliders. */ @@ -1199,15 +1205,6 @@ static void draw_plane_marker_ex(SpaceClip *sc, Scene *scene, MovieTrackingPlane 3.0f * px[0], 3.0f * px[1], draw_outline, px); } } - - if (draw_outline) { - if (!tiny) { - glLineWidth(1.0f); - } - } - else if (tiny) { - glDisable(GL_LINE_STIPPLE); - } } static void draw_plane_marker_outline(SpaceClip *sc, Scene *scene, MovieTrackingPlaneTrack *plane_track, diff --git a/source/blender/editors/space_clip/clip_utils.c b/source/blender/editors/space_clip/clip_utils.c index 48f8f587106..034429f6992 100644 --- a/source/blender/editors/space_clip/clip_utils.c +++ b/source/blender/editors/space_clip/clip_utils.c @@ -247,20 +247,17 @@ void clip_draw_cfra(SpaceClip *sc, ARegion *ar, Scene *scene) { View2D *v2d = &ar->v2d; float xscale, yscale; - float vec[2]; /* Draw a light green line to indicate current frame */ - vec[0] = (float)(sc->user.framenr * scene->r.framelen); - UI_ThemeColor(TH_CFRAME); - glLineWidth(2.0); - glBegin(GL_LINE_STRIP); - vec[1] = v2d->cur.ymin; - glVertex2fv(vec); + float x = (float)(sc->user.framenr * scene->r.framelen); + + glLineWidth(2.0); - vec[1] = v2d->cur.ymax; - glVertex2fv(vec); + glBegin(GL_LINES); + glVertex2f(x, v2d->cur.ymin); + glVertex2f(x, v2d->cur.ymax); glEnd(); glLineWidth(1.0); -- cgit v1.2.3