CSFML - C binding of the Simple and Fast Multimedia Library

CSFML

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

Text.h
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 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_TEXT_H
26 #define SFML_TEXT_H
27
29 // Headers
31 #include <SFML/Graphics/Export.h>
32 #include <SFML/Graphics/Color.h>
33 #include <SFML/Graphics/Rect.h>
34 #include <SFML/Graphics/Types.h>
35 #include <SFML/Graphics/Transform.h>
36 #include <SFML/System/Vector2.h>
37 #include <stddef.h>
38
39
43 typedef enum
44 {
45 sfTextRegular = 0,
46 sfTextBold = 1 << 0,
47 sfTextItalic = 1 << 1,
48 sfTextUnderlined = 1 << 2,
49 sfTextStrikeThrough = 1 << 3
50 } sfTextStyle;
51
52
59 CSFML_GRAPHICS_API sfText* sfText_create(void);
60
69 CSFML_GRAPHICS_API sfText* sfText_copy(const sfText* text);
70
77 CSFML_GRAPHICS_API void sfText_destroy(sfText* text);
78
90 CSFML_GRAPHICS_API void sfText_setPosition(sfText* text, sfVector2f position);
91
103 CSFML_GRAPHICS_API void sfText_setRotation(sfText* text, float angle);
104
116 CSFML_GRAPHICS_API void sfText_setScale(sfText* text, sfVector2f scale);
117
132 CSFML_GRAPHICS_API void sfText_setOrigin(sfText* text, sfVector2f origin);
133
142 CSFML_GRAPHICS_API sfVector2f sfText_getPosition(const sfText* text);
143
154 CSFML_GRAPHICS_API float sfText_getRotation(const sfText* text);
155
164 CSFML_GRAPHICS_API sfVector2f sfText_getScale(const sfText* text);
165
174 CSFML_GRAPHICS_API sfVector2f sfText_getOrigin(const sfText* text);
175
186 CSFML_GRAPHICS_API void sfText_move(sfText* text, sfVector2f offset);
187
198 CSFML_GRAPHICS_API void sfText_rotate(sfText* text, float angle);
199
210 CSFML_GRAPHICS_API void sfText_scale(sfText* text, sfVector2f factors);
211
220 CSFML_GRAPHICS_API sfTransform sfText_getTransform(const sfText* text);
221
230 CSFML_GRAPHICS_API sfTransform sfText_getInverseTransform(const sfText* text);
231
241 CSFML_GRAPHICS_API void sfText_setString(sfText* text, const char* string);
242
250 CSFML_GRAPHICS_API void sfText_setUnicodeString(sfText* text, const sfUint32* string);
251
266 CSFML_GRAPHICS_API void sfText_setFont(sfText* text, const sfFont* font);
267
277 CSFML_GRAPHICS_API void sfText_setCharacterSize(sfText* text, unsigned int size);
278
292 CSFML_GRAPHICS_API void sfText_setLineSpacing(sfText* text, float spacingFactor);
293
312 CSFML_GRAPHICS_API void sfText_setLetterSpacing(sfText* text, float spacingFactor);
313
325 CSFML_GRAPHICS_API void sfText_setStyle(sfText* text, sfUint32 style);
326
341 CSFML_GRAPHICS_API void sfText_setColor(sfText* text, sfColor color);
342
354 CSFML_GRAPHICS_API void sfText_setFillColor(sfText* text, sfColor color);
355
365 CSFML_GRAPHICS_API void sfText_setOutlineColor(sfText* text, sfColor color);
366
380 CSFML_GRAPHICS_API void sfText_setOutlineThickness(sfText* text, float thickness);
381
390 CSFML_GRAPHICS_API const char* sfText_getString(const sfText* text);
391
400 CSFML_GRAPHICS_API const sfUint32* sfText_getUnicodeString(const sfText* text);
401
414 CSFML_GRAPHICS_API const sfFont* sfText_getFont(const sfText* text);
415
424 CSFML_GRAPHICS_API unsigned int sfText_getCharacterSize(const sfText* text);
425
436 CSFML_GRAPHICS_API float sfText_getLetterSpacing(const sfText* text);
437
448 CSFML_GRAPHICS_API float sfText_getLineSpacing(const sfText* text);
449
458 CSFML_GRAPHICS_API sfUint32 sfText_getStyle(const sfText* text);
459
471 CSFML_GRAPHICS_API sfColor sfText_getColor(const sfText* text);
472
481 CSFML_GRAPHICS_API sfColor sfText_getFillColor(const sfText* text);
482
491 CSFML_GRAPHICS_API sfColor sfText_getOutlineColor(const sfText* text);
492
501 CSFML_GRAPHICS_API float sfText_getOutlineThickness(const sfText* text);
502
519 CSFML_GRAPHICS_API sfVector2f sfText_findCharacterPos(const sfText* text, size_t index);
520
535 CSFML_GRAPHICS_API sfFloatRect sfText_getLocalBounds(const sfText* text);
536
551 CSFML_GRAPHICS_API sfFloatRect sfText_getGlobalBounds(const sfText* text);
552
553
554 #endif // SFML_TEXT_H
sfColor
Utility class for manpulating RGBA colors.
Definition: Color.h:39
sfFloatRect
sfFloatRect and sfIntRect are utility classes for manipulating rectangles.
Definition: Rect.h:39
sfTransform
Encapsulate a 3x3 transform matrix.
Definition: Transform.h:43
sfVector2f
2-component vector of floats
Definition: Vector2.h:61