Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Erwin <significant.bit@gmail.com>2016-01-22 10:44:33 +0300
committerMike Erwin <significant.bit@gmail.com>2016-01-22 10:52:12 +0300
commit1d88773b1f2e905773069a2d39617dd350683547 (patch)
treea37e43a0d556da409c034eaeaa4509a5a8e3836f /source/blender/editors/space_clip/clip_draw.c
parent8c596e08e7b787782c91578ffd46c6ec8e409023 (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.c49
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,