]> git.mxchange.org Git - flightgear.git/commitdiff
- collect drawing primitives in the Item base class
authormfranz <mfranz>
Tue, 4 Jul 2006 21:04:22 +0000 (21:04 +0000)
committermfranz <mfranz>
Tue, 4 Jul 2006 21:04:22 +0000 (21:04 +0000)
- rename circle to draw_bullet, which is more correct

src/Instrumentation/HUD/HUD.hxx
src/Instrumentation/HUD/HUD_instrument.cxx
src/Instrumentation/HUD/HUD_tape.cxx

index 81f179d938c76c8223cecdaf08cfa2640cf7d1f4..227d153eb40515df847b71b261b3f3ba77da0e26 100644 (file)
@@ -396,34 +396,12 @@ protected:
     inline bool option_top()     const { return _options & TOP; }
     inline bool option_bottom()  const { return _options & BOTTOM; }
 
-    void draw_line( float x1, float y1, float x2, float y2) {
-        _hud->_line_list.add(LineSegment(x1, y1, x2, y2));
-    }
-
-    void draw_stipple_line( float x1, float y1, float x2, float y2) {
-        _hud->_stipple_line_list.add(LineSegment(x1, y1, x2, y2));
-    }
-
-    void draw_text( float x, float y, char *msg, int digit) {
-        _hud->_text_list.add(HUDText(x, y, msg, digit));
-    }
-
-    float text_width(char *str) const {
-        assert(_hud->_font_renderer);
-        float r, l;
-        _hud->_font->getBBox(str, _hud->_font_size, 0, &l, &r, 0, 0);
-        return r - l;
-    }
-
-    void draw_circle(float x1, float y1, float r) const {
-        glBegin(GL_LINE_LOOP);
-        for (int count = 0; count < 25; count++) {
-            float cosine = r * cos(count * 2 * SG_PI / 10.0);
-            float sine =   r * sin(count * 2 * SG_PI / 10.0);
-            glVertex2f(cosine + x1, sine + y1);
-        }
-        glEnd();
-    }
+    void draw_line( float x1, float y1, float x2, float y2);
+    void draw_stipple_line( float x1, float y1, float x2, float y2);
+    void draw_text( float x, float y, char *msg, int digit);
+    float text_width(char *str) const;
+    void draw_circle(float x1, float y1, float r) const;
+    void draw_bullet(float, float, float);
 
     HUD         *_hud;
     string      _name;
@@ -522,7 +500,6 @@ public:
     virtual void draw();
 
 protected:
-    void circle(float, float, float);
     void fixed(float, float, float, float, float, float);
     void zoomed_scale(int, int);
 
index 1f17be3f4fcb366adb0dcfc7531094f90c8d7454..0e1f2d18469a078c67ffc1822de347d9b346a806 100644 (file)
@@ -87,10 +87,60 @@ HUD::Item::Item(HUD *hud, const SGPropertyNode *n, float x, float y) :
 
 bool HUD::Item::isEnabled()
 {
-    if (!_condition)
-        return true;
+    return _condition ? _condition->test() : true;
+}
+
+
+void HUD::Item::draw_line( float x1, float y1, float x2, float y2)
+{
+    _hud->_line_list.add(LineSegment(x1, y1, x2, y2));
+}
+
+
+void HUD::Item::draw_stipple_line( float x1, float y1, float x2, float y2)
+{
+    _hud->_stipple_line_list.add(LineSegment(x1, y1, x2, y2));
+}
+
+
+void HUD::Item::draw_text( float x, float y, char *msg, int digit)
+{
+    _hud->_text_list.add(HUDText(x, y, msg, digit));
+}
 
-    return _condition->test();
+
+void HUD::Item::draw_circle(float x1, float y1, float r) const
+{
+    glBegin(GL_LINE_LOOP);
+    for (int count = 0; count < 25; count++) {
+        float cosine = r * cos(count * 2 * SG_PI / 10.0);
+        float sine =   r * sin(count * 2 * SG_PI / 10.0);
+        glVertex2f(cosine + x1, sine + y1);
+    }
+    glEnd();
+}
+
+
+void HUD::Item::draw_bullet(float x, float y, float size)
+{
+    glEnable(GL_POINT_SMOOTH);
+    glPointSize(size);
+
+    glBegin(GL_POINTS);
+    glVertex2f(x, y);
+    glEnd();
+
+    glPointSize(1.0);
+    glDisable(GL_POINT_SMOOTH);
+}
+
+
+float HUD::Item::text_width(char *str) const
+{
+    assert(_hud->_font_renderer);
+    float r, l;
+    _hud->_font->getBBox(str, _hud->_font_size, 0, &l, &r, 0, 0);
+    return r - l;
 }
 
 
index 9f1eb2b3b77a7ebdfa374cf19a5e91273cefbc24..4300559c84533f1151145fa18062ee017c791eb8 100644 (file)
@@ -83,8 +83,6 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
     width = scrn_rect.left + scrn_rect.right;
 
 
-    // was: if (type != "gauge") { ... until end
-    // if its not explicitly a gauge default to tape
     if (_pointer) {
         if (_pointer_type == MOVING) {
             vmin = _input.min();
@@ -272,9 +270,6 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
         // minor and major ticks.
 
         // draw scale or tape
-
-//        last = float_to_int(vmax)+1;
-//        i = float_to_int(vmin);
         last = (int)vmax + 1; // N
         i = (int)vmin; // N
 
@@ -327,7 +322,7 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
                                         }
 
                                     } else if (_tick_type == CIRCLE) {
-                                        circle(scrn_rect.left,(float)marker_ys, 3.0);
+                                        draw_bullet(scrn_rect.left,(float)marker_ys, 3.0);
 
                                     } else {
                                         // if neither line nor circle draw default as line
@@ -355,7 +350,7 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
                                                         marker_xe, marker_ys);
                                             }
                                         } else if (_tick_type == CIRCLE) {
-                                            circle((float)marker_xs + 4, (float)marker_ys, 3.0);
+                                            draw_bullet((float)marker_xs + 4, (float)marker_ys, 3.0);
 
                                         } else {
                                             draw_line(marker_xs + 4, marker_ys,
@@ -373,7 +368,7 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
                                             }
 
                                         } else if (_tick_type == CIRCLE) {
-                                            circle((float)marker_xe - 4, (float)marker_ys, 3.0);
+                                            draw_bullet((float)marker_xe - 4, (float)marker_ys, 3.0);
                                         } else {
                                             draw_line(marker_xs, marker_ys,
                                                     marker_xe - 4, marker_ys);
@@ -418,7 +413,7 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
                                     glEnd();
 
                                 } else if (_tick_type == CIRCLE) {
-                                    circle(scrn_rect.left, (float)marker_ys, 5.0);
+                                    draw_bullet(scrn_rect.left, (float)marker_ys, 5.0);
 
                                 } else {
                                     glBegin(GL_LINE_STRIP);
@@ -437,7 +432,7 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
                                 if (_tick_type == LINE)
                                     draw_line(marker_xs, marker_ys, marker_xe, marker_ys);
                                 else if (_tick_type == CIRCLE)
-                                    circle((float)marker_xs + 4, (float)marker_ys, 5.0);
+                                    draw_bullet((float)marker_xs + 4, (float)marker_ys, 5.0);
                                 else
                                     draw_line(marker_xs, marker_ys, marker_xe, marker_ys);
 
@@ -703,20 +698,6 @@ void HUD::Tape::draw(void) //  (HUD_scale * pscale)
 
 
 
-void HUD::Tape::circle(float x, float y, float size)
-{
-    glEnable(GL_POINT_SMOOTH);
-    glPointSize(size);
-
-    glBegin(GL_POINTS);
-    glVertex2f(x, y);
-    glEnd();
-
-    glPointSize(1.0);
-    glDisable(GL_POINT_SMOOTH);
-}
-
-
 void HUD::Tape::fixed(float x1, float y1, float x2, float y2, float x3, float y3)
 {
     glBegin(GL_LINE_STRIP);
@@ -825,8 +806,8 @@ void HUD::Tape::zoomed_scale(int first, int last)
             for (i = 1; i < 5; i++) {
                 yfirst += factor;
                 ycentre += factor;
-                circle(xstart - 2.5, yfirst, 3.0);
-                circle(xstart - 2.5, ycentre, 3.0);
+                draw_bullet(xstart - 2.5, yfirst, 3.0);
+                draw_bullet(xstart - 2.5, ycentre, 3.0);
             }
 
             yfirst = mid_scr.y - hgt;
@@ -876,8 +857,8 @@ void HUD::Tape::zoomed_scale(int first, int last)
             for (i = 1; i < 5; i++) {
                 yfirst += factor;
                 ycentre += factor;
-                circle(xstart + 2.5, yfirst, 3.0);
-                circle(xstart + 2.5, ycentre, 3.0);
+                draw_bullet(xstart + 2.5, yfirst, 3.0);
+                draw_bullet(xstart + 2.5, ycentre, 3.0);
             }
 
             yfirst = mid_scr.y - hgt;
@@ -988,8 +969,8 @@ void HUD::Tape::zoomed_scale(int first, int last)
             for (i = 1; i < 5; i++) {
                 xfirst += factor;
                 xcentre += factor;
-                circle(xfirst, ystart - 2.5, 3.0);
-                circle(xcentre, ystart - 2.5, 3.0);
+                draw_bullet(xfirst, ystart - 2.5, 3.0);
+                draw_bullet(xcentre, ystart - 2.5, 3.0);
             }
 
             xfirst = mid_scr.x - hgt;
@@ -1040,8 +1021,8 @@ void HUD::Tape::zoomed_scale(int first, int last)
             for (i = 1; i < 5; i++) {
                 xfirst += factor;
                 xcentre += factor;
-                circle(xfirst, ystart + 2.5, 3.0);
-                circle(xcentre, ystart + 2.5, 3.0);
+                draw_bullet(xfirst, ystart + 2.5, 3.0);
+                draw_bullet(xcentre, ystart + 2.5, 3.0);
             }
 
             xfirst = mid_scr.x - hgt;