diff options
author | Mike Erwin <significant.bit@gmail.com> | 2016-01-22 10:44:33 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2016-01-22 10:52:12 +0300 |
commit | 1d88773b1f2e905773069a2d39617dd350683547 (patch) | |
tree | a37e43a0d556da409c034eaeaa4509a5a8e3836f /source/blender/editors/space_clip/clip_draw.c | |
parent | 8c596e08e7b787782c91578ffd46c6ec8e409023 (diff) |
OpenGL: cleanup
- LINE_STRIP to LINES when only drawing one
- group state changes for easier reading
- general cleanup
Diffstat (limited to 'source/blender/editors/space_clip/clip_draw.c')
-rw-r--r-- | source/blender/editors/space_clip/clip_draw.c | 49 |
1 files changed, 23 insertions, 26 deletions
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, |