add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gdk / gdkmm / rgbcmap.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GDKMM_RGBCMAP_H
4 #define _GDKMM_RGBCMAP_H
5
6
7 #include <glibmm.h>
8
9 /* $Id$ */
10
11 /* Copyright (C) 2002 The gtkmm Development Team
12  *
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Library General Public
15  * License as published by the Free Software Foundation; either
16  * version 2 of the License, or (at your option) any later version.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * Library General Public License for more details.
22  *
23  * You should have received a copy of the GNU Library General Public
24  * License along with this library; if not, write to the Free
25  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26  */
27
28
29 #include <gdkmmconfig.h>
30
31
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
33 extern "C" { typedef struct _GdkRgbCmap GdkRgbCmap; }
34 #endif
35
36 namespace Gdk
37 {
38
39 class RgbCmap
40 {
41   public:
42 #ifndef DOXYGEN_SHOULD_SKIP_THIS
43   typedef RgbCmap CppObjectType;
44   typedef GdkRgbCmap BaseObjectType;
45 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
46
47 private:
48
49   
50 public:
51   explicit RgbCmap(const Glib::ArrayHandle<guint32>& colors);
52   virtual ~RgbCmap();
53
54   ///Number of colors.
55   unsigned long size() const;
56
57   ///Access the colors.
58   guint32& operator[](unsigned long index);
59
60   ///Access the colors.
61   const guint32& operator[](unsigned long index) const;
62
63   /// Provides access to the underlying C GObject.
64   GdkRgbCmap*       gobj()       { return gobject_; }
65   /// Provides access to the underlying C GObject.  
66   const GdkRgbCmap* gobj() const { return gobject_; }
67
68 protected:
69   GdkRgbCmap* gobject_;
70
71 private:
72   // noncopyable
73   RgbCmap(const RgbCmap&);
74   RgbCmap& operator=(const RgbCmap&);
75
76
77 };
78
79 } // namespace Gdk
80
81
82 #endif /* _GDKMM_RGBCMAP_H */
83