-
Notifications
You must be signed in to change notification settings - Fork 0
/
mcText.h
64 lines (60 loc) · 1.58 KB
/
mcText.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "stdafx.h"
#pragma once
/////////////////////////////////
// multiline colored text
// mcText
/////////////////////////////////
// ñòðóêòóðà ñîäåðæàùàÿ èíôîðìàöèþ î òåêñòå
struct mcTextInfo
{
sf::String str; // Ñòðîêà
sf::Color color; // Öâåò
int w; // øèðèíà òåêñòà
int h; // âûñîòà òåêñòà
int dx; // ñìåùåíèå òåêñòà ïî X
int dy; // ñìåùåíèå òåêñòà ïî Y
mcTextInfo()
{
data();
}
void data()
{
w = 0;
h = 0;
dx = 0;
dy = 0;
color = sf::Color::Black;
}
};
class mcText
{
public:
bool isLimitW; // íóæíî ëè ó÷èòûâàòü îãðàíè÷åíèå ïî øèðèíå
int dx; // ìåíÿåòüñÿ â ïðîãðàììå àâòîìàòè÷åñêè
int dy; // ìåíÿåòüñÿ â ïðîãðàììå àâòîìàòè÷åñêè
int limitW; // îãðàíè÷åíèå ïî øèðèíå
sf::Font* font; // ññûëêà íà øðèôò
int charSize; // ðàçìåð ñèìâîëà
std::vector<mcTextInfo*> vecInfo; // âåêòîð ñîäåðæàùèé îïèñàíèÿ òåêñòîâ
std::vector<sf::Text> vecText; // âåêòîð ñîäåðæàùèé ñàìè òåêñòû
void data(); // çàäà¸ò íà÷àëüíóþ èíôîðìàöèþ
int w, h;
public:
mcText(sf::Font* f);
~mcText(void);
void setLimit(bool flag, int num);
void add(sf::String str);
void add(sf::String str, sf::Color color);
void add2(sf::String str);
void enter();
void space(int value);
void spaceY(int value);
void move(float dx, float dy);
void setPosition(float x, float y);
void draw(sf::RenderWindow* window);
std::vector<sf::String> scanWords(sf::String str);
std::vector<sf::String> scanString(int w, std::vector<sf::String> vecWords_, sf::Text* text);
void clear();
//-------------------------------------------------------------------------------------------
void changeSize (int tmpS);
};