summaryrefslogtreecommitdiff
path: root/libs/gtkmm2/gdk/src/rgbcmap.ccg
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2/gdk/src/rgbcmap.ccg')
-rw-r--r--libs/gtkmm2/gdk/src/rgbcmap.ccg54
1 files changed, 54 insertions, 0 deletions
diff --git a/libs/gtkmm2/gdk/src/rgbcmap.ccg b/libs/gtkmm2/gdk/src/rgbcmap.ccg
new file mode 100644
index 0000000000..3381910bda
--- /dev/null
+++ b/libs/gtkmm2/gdk/src/rgbcmap.ccg
@@ -0,0 +1,54 @@
+// -*- c++ -*-
+/* $Id: rgbcmap.ccg,v 1.1 2003/01/21 13:38:38 murrayc Exp $ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <glibmm/utility.h>
+#include <gdk/gdkrgb.h>
+
+namespace Gdk
+{
+
+RgbCmap::RgbCmap(const Glib::ArrayHandle<guint32>& colors)
+: gobject_ (gdk_rgb_cmap_new(const_cast<guint32*>(colors.data()), colors.size()))
+{}
+
+RgbCmap::~RgbCmap()
+{
+ if(gobject_)
+ gdk_rgb_cmap_free(gobject_);
+}
+
+guint32& RgbCmap::operator[](unsigned long index)
+{
+ return gobject_->colors[index];
+}
+
+const guint32& RgbCmap::operator[](unsigned long index) const
+{
+ return gobject_->colors[index];
+}
+
+
+unsigned long RgbCmap::size() const
+{
+ return gobject_->n_colors;
+}
+
+} // namespace Gdk
+