Apprendre
Télécharger
Communauté
Développement
Accueil
»
Apprendre
»
Documentation 2.3.1
»
Font.hpp Source File
English
Faire un don
Documentation de SFML 2.3.1
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
109
bool
loadFromFile(
const
std::string& filename);
110
130
bool
loadFromMemory(
const
void
* data, std::size_t sizeInBytes);
131
152
bool
loadFromStream(
InputStream
& stream);
153
160
const
Info
& getInfo()
const
;
161
176
const
Glyph
& getGlyph(Uint32 codePoint,
unsigned
int
characterSize,
bool
bold)
const
;
177
194
float
getKerning(Uint32 first, Uint32 second,
unsigned
int
characterSize)
const
;
195
207
float
getLineSpacing(
unsigned
int
characterSize)
const
;
208
222
float
getUnderlinePosition(
unsigned
int
characterSize)
const
;
223
236
float
getUnderlineThickness(
unsigned
int
characterSize)
const
;
237
250
const
Texture
& getTexture(
unsigned
int
characterSize)
const
;
251
260
Font
& operator =(
const
Font
& right);
261
262
private
:
263
268
struct
Row
269
{
270
Row(
unsigned
int
rowTop,
unsigned
int
rowHeight) : width(0), top(rowTop), height(rowHeight) {}
271
272
unsigned
int
width;
273
unsigned
int
top;
274
unsigned
int
height;
275
};
276
278
// Types
280
typedef
std::map<Uint32, Glyph> GlyphTable;
281
286
struct
Page
287
{
288
Page();
289
290
GlyphTable glyphs;
291
Texture texture;
292
unsigned
int
nextRow;
293
std::vector<Row> rows;
294
};
295
300
void
cleanup();
301
312
Glyph loadGlyph(Uint32 codePoint,
unsigned
int
characterSize,
bool
bold)
const
;
313
324
IntRect findGlyphRect(Page& page,
unsigned
int
width,
unsigned
int
height)
const
;
325
334
bool
setCurrentSize(
unsigned
int
characterSize)
const
;
335
337
// Types
339
typedef
std::map<unsigned int, Page> PageTable;
340
342
// Member data
344
void
* m_library;
345
void
* m_face;
346
void
* m_streamRec;
347
int
* m_refCount;
348
Info m_info;
349
mutable
PageTable m_pages;
350
mutable
std::vector<Uint8> m_pixelBuffer;
351
#ifdef SFML_SYSTEM_ANDROID
352
void
* m_stream;
353
#endif
354
};
355
356
}
// namespace sf
357
358
359
#endif // SFML_FONT_HPP
360
361
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