Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Examples

gdkmm/gl/pixmapext.h

Go to the documentation of this file.
00001 // -*- C++ -*- 00002 /* gdkglextmm - C++ Wrapper for GdkGLExt 00003 * Copyright (C) 2002-2003 Naofumi Yasufuku 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00018 */ 00019 00020 #ifndef _GDKMM_GL_PIXMAPEXT_H 00021 #define _GDKMM_GL_PIXMAPEXT_H 00022 00023 #include <glibmm.h> 00024 00025 #include <gdkmm/gl/defs.h> 00026 #include <gdkmm/gl/pixmap.h> 00027 00028 namespace Gdk 00029 { 00030 namespace GL 00031 { 00032 00033 class PixmapExtProxy 00034 { 00035 private: 00036 PixmapExtProxy(const Glib::RefPtr<Gdk::Pixmap>& pixmap) 00037 : pixmap_(pixmap) 00038 {} 00039 00040 private: 00041 PixmapExtProxy(const PixmapExtProxy&); 00042 PixmapExtProxy& operator=(const PixmapExtProxy&); 00043 00044 public: 00045 00056 Glib::RefPtr<Pixmap> set_gl_capability(const Glib::RefPtr<const Config>& glconfig, 00057 const int* attrib_list = 0); 00058 00063 void unset_gl_capability(); 00064 00069 bool is_gl_capable() const; 00070 00075 Glib::RefPtr<Pixmap> get_gl_pixmap() const; 00076 00081 Glib::RefPtr<Gdk::GL::Drawable> get_gl_drawable() const; 00082 00083 private: 00084 const Glib::RefPtr<Gdk::Pixmap>& pixmap_; 00085 00086 friend PixmapExtProxy ext(const Glib::RefPtr<Gdk::Pixmap>&); 00087 friend const PixmapExtProxy ext(const Glib::RefPtr<const Gdk::Pixmap>&); 00088 }; 00089 00107 inline 00108 PixmapExtProxy ext(const Glib::RefPtr<Gdk::Pixmap>& pixmap) 00109 { return PixmapExtProxy(pixmap); } 00110 00117 inline 00118 const PixmapExtProxy ext(const Glib::RefPtr<const Gdk::Pixmap>& pixmap) 00119 { return PixmapExtProxy(reinterpret_cast<const Glib::RefPtr<Gdk::Pixmap>&>(pixmap)); } 00120 00121 } // namespace GL 00122 } // namespace Gdk 00123 00124 #endif // _GDKMM_GL_PIXMAPEXT_H

Generated on Sun Jun 20 16:59:46 2004 for gtkglextmm by doxygen 1.3.7