-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKernel.h
More file actions
93 lines (75 loc) · 1.97 KB
/
Copy pathKernel.h
File metadata and controls
93 lines (75 loc) · 1.97 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
******************OXYGEN DEV TEAM (C) 2019**************************
****************** Author: Phantom1020 **************************
****************** CLI/WinForms: ForserX **************************
*/
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <Windows.h>
#include <iostream>
#include <filesystem>
#include <string>
#include "Extended.h"
#include <ft2build.h>
#include FT_FREETYPE_H
// @ Äà çà õàðäêîðæåíî, îòâîäèì ìåñòî äëÿ Àíãëèéñêîãî è Ðóññêîãî, à òàêæå äëÿ ñèñòåìíûõ ñèìâîëîâ (öèôðû, ïðî÷åå)
constexpr size_t TOTAL_ANSCII = 96 + 65 + 1;
namespace XRay
{
// @ Contains information about glyph or symbol in texture
struct data_symbol
{
int advance;
size_t x_off, y_off;
size_t x[2], y[2];
};
struct PathList
{
unsigned int FontSize;
xstring PathName;
xstring FileName;
xstring PathOutName;
xstring FileOutName;
};
struct ConvInfo
{
FT_Library lib;
FT_Face face;
// @ Íå ñòàâèòü ýòî â íîëü, èáî äàëüøå óìíîæàåì íà äâà
// @ Ðàçìåð òåêñòóðû
unsigned int TexWid = 1;
unsigned int TexHeig = 0;
// @ Çäåñü âñ¸ î÷åâèäíî
unsigned int FontHeig = 0;
// @ Ïðîñ÷èòûâàåìàÿ ïîçèöèÿ äëÿ ïîñëåäóþùèé ñèìâîëîâ, êîòîðûå áóäóò äîáàâëÿòüñÿ íà ýòàïå ðàñòåðèçàöèè
int PenX = 0;
int PenY = 0;
// @ Ïðîìåæóòî÷íûé áóôåð äëÿ õðàíåíèÿ ïèêñåëåé, êàê íè ñòðàííî
unsigned char* Pixels;
// @ Äëÿ ïðîâåðêè, èìååò ëè þçåð â ïàïêå texconv èëè íåò;
bool bHaveTexconv;
};
extern HANDLE hConsole;
class CFontGen
{
data_symbol info[TOTAL_ANSCII];
data_symbol info_copy = { 0 };
ConvInfo ConverterInfo;
public:
static bool bSucFile;
static bool bSucDir;
PathList PathSystem;
public:
CFontGen();
~CFontGen() = default;
void ParseFont(int index, int max_value);
void ManageCreationFile(void);
void CreateFolder(void);
// @ Creates already with _size_800, _size_1024, _size_1600
void InitFont();
void CreateGSCFonts();
void CheckTexConv();
void InitFreeType();
void ReleaseFreeType();
};
}