FIFE
2008.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Functions
Variables
Enumerations
Enumerator
Pages
textrenderpool.h
1
/***************************************************************************
2
* Copyright (C) 2005-2008 by the FIFE team *
3
* http://www.fifengine.de *
4
* This file is part of FIFE. *
5
* *
6
* FIFE is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Lesser General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2.1 of the License, or (at your option) any later version. *
10
* *
11
* This library 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 GNU *
14
* Lesser General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Lesser General Public *
17
* License along with this library; if not, write to the *
18
* Free Software Foundation, Inc., *
19
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20
***************************************************************************/
21
22
#ifndef FIFE_FONTS_TEXTRENDERPOOL_H
23
#define FIFE_FONTS_TEXTRENDERPOOL_H
24
25
// Standard C++ library includes
26
#include <list>
27
#include <string>
28
29
// Platform specific includes
30
31
// 3rd party library includes
32
#include <SDL.h>
33
34
// FIFE includes
35
// These includes are split up in two parts, separated by one empty line
36
// First block: files included from the FIFE root src directory
37
// Second block: files included from the same folder
38
#include "util/time/timer.h"
39
40
struct
SDL_Surface;
41
namespace
FIFE {
42
class
FontBase;
43
class
Image;
44
53
class
TextRenderPool
{
54
public
:
58
TextRenderPool
(
size_t
poolSize = 200);
59
62
~TextRenderPool
();
63
66
void
invalidateCachedText
();
67
70
Image
*
getRenderedText
(
FontBase
* fontbase,
const
std::string& text);
71
74
void
addRenderedText
(
FontBase
* fontbase,
const
std::string& text,
Image
* image);
75
79
void
removeOldEntries
();
80
81
protected
:
82
typedef
struct
{
83
std::string text;
84
SDL_Color color;
85
bool
antialias;
86
int
glyph_spacing;
87
int
row_spacing;
88
uint32_t timestamp;
89
90
Image
* image;
91
} s_pool_entry;
92
93
typedef
std::list<s_pool_entry> type_pool;
94
type_pool m_pool;
95
size_t
m_poolSize;
96
size_t
m_poolMaxSize;
97
98
Timer m_collectTimer;
99
};
100
}
101
#endif
engine
core
video
fonts
textrenderpool.h
Generated on Fri Jun 8 2012 20:34:14 for FIFE by
1.8.1