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 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
sfTransform
Encapsulate a 3x3 transform matrix.
Definition: Transform.h:43
sfFloatRect
sfFloatRect and sfIntRect are utility classes for manipulating rectangles.
Definition: Rect.h:39
sfVector2f
2-component vector of floats
Definition: Vector2.h:61
sfColor
Utility class for manpulating RGBA colors.
Definition: Color.h:39