]> Dogcows Code - chaz/openbox/blobdiff - otk/rendertexture.hh
part of a hardcoded style done
[chaz/openbox] / otk / rendertexture.hh
index df38ddf679229415f2d5901876ccdd52a78dc87e..6afd6209d5ab8b655cc03aa3612a9816e48a5922 100644 (file)
@@ -67,29 +67,39 @@ private:
 public:
   RenderTexture(bool parent_relative, ReliefType relief, BevelType bevel,
                 bool border, GradientType gradient, bool interlaced,
-                const RenderColor *color, const RenderColor *secondary_color,
-                const RenderColor *bevel_dark_color,
-                const RenderColor *bevel_light_color,
-                const RenderColor *border_color,
-                const RenderColor *interlace_color)
+                const RenderColor::RGB &color,
+                const RenderColor::RGB &secondary_color,
+                const RenderColor::RGB &bevel_dark_color,
+                const RenderColor::RGB &bevel_light_color,
+                const RenderColor::RGB &border_color,
+                const RenderColor::RGB &interlace_color)
     : _parent_relative(parent_relative),
       _relief(relief),
       _bevel(bevel),
       _border(border),
       _gradient(gradient),
       _interlaced(interlaced),
-      _color(color),
-      _secondary_color(secondary_color),
-      _bevel_dark_color(bevel_dark_color),
-      _bevel_light_color(bevel_light_color),
-      _border_color(border_color),
-      _interlace_color(interlace_color)
-    {
-      assert(_relief == Flat || (_bevel_dark_color && _bevel_light_color));
-      assert(!_border || _border_color);
-      assert(!_interlaced || _interlace_color);
-      assert(_color);
-    }
+      _color(new RenderColor(color)),
+      _secondary_color(new RenderColor(secondary_color)),
+      _bevel_dark_color(new RenderColor(bevel_dark_color)),
+      _bevel_light_color(new RenderColor(bevel_light_color)),
+      _border_color(new RenderColor(border_color)),
+      _interlace_color(new RenderColor(interlace_color))
+  {
+    assert(_relief == Flat || (_bevel_dark_color && _bevel_light_color));
+    assert(!_border || _border_color);
+    assert(!_interlaced || _interlace_color);
+    assert(_color);
+  }
+  
+  virtual ~RenderTexture() {
+    delete _color;
+    delete _secondary_color;
+    delete _bevel_dark_color;
+    delete _bevel_light_color;
+    delete _border_color;
+    delete _interlace_color;
+  }
 
   //! If true, the texture is not rendered at all, so all options are ignored
   inline bool parentRelative() const { return _parent_relative; }
This page took 0.022776 seconds and 4 git commands to generate.