# HG changeset patch # User Michael Goffioul # Date 1209243192 -7200 # Node ID 35e8d61994559e5bdd8873e01edf628c1b6003d1 # Parent b74039822fd22dfc13373a9fb1461b43fb5b1c58 Add hggroup support in OpenGL renderer. diff --git a/src/graphics/ChangeLog b/src/graphics/ChangeLog --- a/src/graphics/ChangeLog +++ b/src/graphics/ChangeLog @@ -1,3 +1,9 @@ +2008-04-26 Michael Goffioul + + * 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 * fltk_backend/fltk_backend.cc (plot_window::resize, diff --git a/src/graphics/opengl/gl-render.cc b/src/graphics/opengl/gl-render.cc --- a/src/graphics/opengl/gl-render.cc +++ b/src/graphics/opengl/gl-render.cc @@ -528,6 +528,8 @@ draw (dynamic_cast (props)); else if (go.isa ("patch")) draw (dynamic_cast (props)); + else if (go.isa ("hggroup")) + draw (dynamic_cast (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); diff --git a/src/graphics/opengl/gl-render.h b/src/graphics/opengl/gl-render.h --- a/src/graphics/opengl/gl-render.h +++ b/src/graphics/opengl/gl-render.h @@ -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);