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_FONT_H 00021 #define _GDKMM_GL_FONT_H 00022 00023 #include <glibmm.h> 00024 00025 #include <gdkmm/gl/defs.h> 00026 00027 #ifdef GDKGLEXTMM_MULTIHEAD_SUPPORT 00028 #include <gdkmm/display.h> 00029 #endif // GDKGLEXTMM_MULTIHEAD_SUPPORT 00030 00031 #include <pangomm/font.h> 00032 00033 namespace Gdk 00034 { 00035 namespace GL 00036 { 00037 00038 /** Font rendering support stuff. 00039 * 00040 * 00041 */ 00042 00043 class Font 00044 { 00045 public: 00046 virtual ~Font() = 0; 00047 00048 public: 00049 00050 /** Create bitmap display lists from a PangoFont. 00051 * 00052 * @param desc a Pango::FontDescription describing the font to use. 00053 * @param first the index of the first glyph to be taken. 00054 * @param count the number of glyphs to be taken. 00055 * @param list_base the index of the first display list to be generated. 00056 * @return the Pango::Font used, or NULL RefPtr if no font matched. 00057 */ 00058 static Glib::RefPtr<Pango::Font> use_pango_font(const Pango::FontDescription& desc, 00059 int first, 00060 int count, 00061 int list_base); 00062 00063 #ifdef GDKGLEXTMM_MULTIHEAD_SUPPORT 00064 static Glib::RefPtr<Pango::Font> use_pango_font(const Glib::RefPtr<const Gdk::Display>& display, 00065 const Pango::FontDescription& desc, 00066 int first, 00067 int count, 00068 int list_base); 00069 #endif // GDKGLEXTMM_MULTIHEAD_SUPPORT 00070 00071 }; 00072 00073 /** @example font.cc 00074 * 00075 * Simple bitmap font rendering example. 00076 * 00077 */ 00078 00079 } // namespace GL 00080 } // namespace Gdk 00081 00082 #endif // _GDKMM_GL_FONT_H