Plug more leaks (in the test, not the core)
[gnash.git] / libcore / fontlib.h
blobd9387cc2441bea70f03a50a956f490808f737668
1 // fontlib.h - Internal interfaces to fontlib, for Gnash.
2 //
3 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software
4 // Foundation, Inc
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 #ifndef GNASH_FONTLIB_H
22 #define GNASH_FONTLIB_H
24 // Forward declarations
25 namespace gnash {
26 class Font;
29 namespace gnash {
31 /// Library management
33 /// Font library control. gnash is able to substitute fonts
34 /// from the font library, in case a movie lacks glyphs for a
35 /// declared font. This would come into play since in recent
36 /// versions of SWF, the movie is allowed to use "system
37 /// fonts". E.g. it can declare a font named "Arial", but not
38 /// provide glyphs for it, and then the OS is expected to
39 /// provide the font or a suitable replacement.
40 ///
41 ///
42 namespace fontlib {
44 // For adding fonts.
45 void add_font(Font* f);
47 /// Clean up the font library
48 void clear();
50 int get_font_count();
52 Font* get_font(int index);
54 Font* get_font(const std::string& name, bool bold, bool italic);
56 /// Return a default device font.
57 boost::intrusive_ptr<Font> get_default_font();
59 const char* get_font_name(const Font* f);
62 } // end namespace fontlib
63 } // end namespace gnash
67 #endif // GNASH_FONTLIB_H
69 // Local Variables:
70 // mode: C++
71 // c-basic-offset: 8
72 // tab-width: 8
73 // indent-tabs-mode: t
74 // End: