Apprendre
Télécharger
Communauté
Développement
Accueil
»
Apprendre
»
Documentation 2.3
»
Font.hpp Source File
English
Faire un don
Documentation de SFML 2.3
Attention:
cette page se réfère à une ancienne version de SFML. Cliquez ici pour passer à la dernière version.
Main Page
Related Pages
Modules
Classes
Files
File List
SFML
include
SFML
Graphics
Font.hpp
1
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#ifndef SFML_FONT_HPP
26
#define SFML_FONT_HPP
27
29
// Headers
31
#include <SFML/Graphics/Export.hpp>
32
#include <SFML/Graphics/Glyph.hpp>
33
#include <SFML/Graphics/Texture.hpp>
34
#include <SFML/Graphics/Rect.hpp>
35
#include <SFML/System/Vector2.hpp>
36
#include <SFML/System/String.hpp>
37
#include <map>
38
#include <string>
39
#include <vector>
40
41
42
namespace
sf
43
{
44
class
InputStream;
45
50
class
SFML_GRAPHICS_API
Font
51
{
52
public
:
53
58
struct
Info
59
{
60
std::string
family
;
61
};
62
63
public
:
64
71
Font
();
72
79
Font
(
const
Font
& copy);
80
87
~
Font
();
88
105
bool
loadFromFile(
const
std::string& filename);
106
124
bool
loadFromMemory(
const
void
* data, std::size_t sizeInBytes);
125
142
bool
loadFromStream(
InputStream
& stream);
143
150
const
Info
& getInfo()
const
;
151
166
const
Glyph
& getGlyph(Uint32 codePoint,
unsigned
int
characterSize,
bool
bold)
const
;
167
184
float
getKerning(Uint32 first, Uint32 second,
unsigned
int
characterSize)
const
;
185
197
float
getLineSpacing(
unsigned
int
characterSize)
const
;
198
212
float
getUnderlinePosition(
unsigned
int
characterSize)
const
;
213
226
float
getUnderlineThickness(
unsigned
int
characterSize)
const
;
227
240
const
Texture
& getTexture(
unsigned
int
characterSize)
const
;
241
250
Font
& operator =(
const
Font
& right);
251
252
private
:
253
258
struct
Row
259
{
260
Row(
unsigned
int
rowTop,
unsigned
int
rowHeight) : width(0), top(rowTop), height(rowHeight) {}
261
262
unsigned
int
width;
263
unsigned
int
top;
264
unsigned
int
height;
265
};
266
268
// Types
270
typedef
std::map<Uint32, Glyph> GlyphTable;
271
276
struct
Page
277
{
278
Page();
279
280
GlyphTable glyphs;
281
sf::Texture
texture;
282
unsigned
int
nextRow;
283
std::vector<Row> rows;
284
};
285
290
void
cleanup();
291
302
Glyph loadGlyph(Uint32 codePoint,
unsigned
int
characterSize,
bool
bold)
const
;
303
314
IntRect findGlyphRect(Page& page,
unsigned
int
width,
unsigned
int
height)
const
;
315
324
bool
setCurrentSize(
unsigned
int
characterSize)
const
;
325
327
// Types
329
typedef
std::map<unsigned int, Page> PageTable;
330
332
// Member data
334
void
* m_library;
335
void
* m_face;
336
void
* m_streamRec;
337
int
* m_refCount;
338
Info m_info;
339
mutable
PageTable m_pages;
340
mutable
std::vector<Uint8> m_pixelBuffer;
341
#ifdef SFML_SYSTEM_ANDROID
342
void
* m_stream;
343
#endif
344
};
345
346
}
// namespace sf
347
348
349
#endif // SFML_FONT_HPP
350
351
sf::Font
Class for loading and manipulating character fonts.
Definition:
Font.hpp:50
sf::Glyph
Structure describing a glyph.
Definition:
Glyph.hpp:41
sf::InputStream
Abstract class for custom file input streams.
Definition:
InputStream.hpp:41
sf
Definition:
AlResource.hpp:34
sf::Font::Info
Holds various information about a font.
Definition:
Font.hpp:58
sf::Texture
Image living on the graphics card that can be used for drawing.
Definition:
Texture.hpp:47
sf::Font::Info::family
std::string family
The font family.
Definition:
Font.hpp:60