changeset 7866:35e8d6199455

Add hggroup support in OpenGL renderer.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sat, 26 Apr 2008 22:53:12 +0200
parents b74039822fd2
children f6fffa74b9b5
files src/graphics/ChangeLog src/graphics/opengl/gl-render.cc src/graphics/opengl/gl-render.h
diffstat 3 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/graphics/ChangeLog	Fri Apr 25 16:44:59 2008 +0200
+++ b/src/graphics/ChangeLog	Sat Apr 26 22:53:12 2008 +0200
@@ -1,3 +1,9 @@
+2008-04-26  Michael Goffioul  <michael.goffioul@gmail.com>
+
+	* opengl/gl-render.h (opengl_renderer::draw(hggroup)): New method.
+	* opengl/gl-render.cc (opengl_renderer::draw(hggroup)): Likewise.
+	(opengl_renderer::draw(graphics_object)): Call it.
+
 2008-03-17  Shai Ayal  <shaiay@users.sourceforge.net>
 
 	* fltk_backend/fltk_backend.cc (plot_window::resize,
--- a/src/graphics/opengl/gl-render.cc	Fri Apr 25 16:44:59 2008 +0200
+++ b/src/graphics/opengl/gl-render.cc	Sat Apr 26 22:53:12 2008 +0200
@@ -528,6 +528,8 @@
     draw (dynamic_cast<const surface::properties&> (props));
   else if (go.isa ("patch"))
     draw (dynamic_cast<const patch::properties&> (props));
+  else if (go.isa ("hggroup"))
+    draw (dynamic_cast<const hggroup::properties&> (props));
   else
     warning ("opengl_renderer: cannot render object of type `%s'",
 	     props.graphics_object_name ().c_str ());
@@ -2485,6 +2487,12 @@
 }
 
 void
+opengl_renderer::draw (const hggroup::properties &props)
+{
+  draw (props.get_children ());
+}
+
+void
 opengl_renderer::set_viewport (int w, int h)
 {
   glViewport (0, 0, w, h);
--- a/src/graphics/opengl/gl-render.h	Fri Apr 25 16:44:59 2008 +0200
+++ b/src/graphics/opengl/gl-render.h	Sat Apr 26 22:53:12 2008 +0200
@@ -69,6 +69,7 @@
   virtual void draw (const line::properties& props);
   virtual void draw (const surface::properties& props);
   virtual void draw (const patch::properties& props);
+  virtual void draw (const hggroup::properties& props);
 
   virtual void set_color (const Matrix& c);
   virtual void set_polygon_offset (bool on, double offset = 0.0);