This repository was archived by the owner on Jan 8, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFramework.h
More file actions
86 lines (85 loc) · 2.28 KB
/
Framework.h
File metadata and controls
86 lines (85 loc) · 2.28 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
#pragma once
#include "graphics.h"
#pragma comment(lib,"graphics.lib")
/// <summary>
/// Îá¸ðòêà íàä áèáëèîòåêîé graphics.h. ×åðåç íå¸ âñå êëàññû èç ïàñêàëÿ âçàèìîäåéñòâóþò ñ ãðàôè÷åñêîé áèáëèîòåêîé.
/// </summary>
class Framework
{
public:
/// <summary>
/// Ñîçäàòü îêíî ðàçìåðàìè _x íà _y ñ îòñòóïîì _o
/// </summary>
/// <param name="_x">Øèðèíà</param>
/// <param name="_y">Âûñîòà</param>
/// <param name="_o">Îòñòóï</param>
Framework(int _x, int _y, int _o) : x(_x), y(_y), offset(_o)
{
int gdriver = DETECT, gmode;
initwindow(700, 700);
}
/// <summary>
/// Äåñòðóêòîð - ñëåäèò çà îñâîáîæäåíèåì ðåñóðñîâ
/// </summary>
~Framework()
{
closegraph();
}
/// <summary>
/// Íàðèñîâàòü êðóã ïî óêàçàííûì êîîðäèíàòàì óêàçàííîãî öâåòà è ðàäèóñà, ñ âûðåçàííûì ñåêòîðîì, çàêðàñèâ îò 0 ãðàäóñîâ äî endAngle
/// </summary>
/// <param name="x">Êîîðäèíàòà Õ</param>
/// <param name="y">Êîîðäèíàòà Ó</param>
/// <param name="color">Öâåò êðóãà</param>
/// <param name="radius">Ðàäèóñ êðóãà</param>
/// <param name="endAngle">Óãîë äî êîòîðîãî êðóã áóäåò çàêðàøåí - âûðåçàííûé ñåêòîð</param>
void draw_circle(int x, int y, int color, int radius, int endAngle)
{
setcolor(color);
setfillstyle(1, color);
pieslice(x + offset, y + offset, 0, endAngle, radius);
}
/// <summary>
/// Íàðèñîâàòü êîëüöî - êðóã â êðóãå. Ðàäèóñ âíóòðåííåãî êðóãà - ðàçíîñòü ðàäèóñà âíåøíåãî è ïàðàìåòðà width. Èìååò äâà íåçàâèñèìûõ âûðåçàííûõ ñåêòîðà.
/// </summary>
void draw_ring(int x, int y, int color, int radius, int width, int endAngle, int innerAngle)
{
draw_circle(x,y,color, radius, endAngle);
setfillstyle(10, getbkcolor());
pieslice(x + offset, y + offset, 90, innerAngle, radius - width);
}
/// <summary>
/// Óñòàíîâèòü öâåò áýêãðàóíäà???
/// </summary>
/// <param name="color"></param>
void set_bk(int color)
{
setbkcolor(color);
}
/// <summary>
/// Ïîëó÷èòü öâåò áýêãðàóíäà
/// </summary>
/// <returns></returns>
int get_bk()
{
return getbkcolor();
}
/// <summary>
/// Ïîëó÷èòü ìàêñèìàëüíóþ êîîðäèíàòó Õ ñ ó÷¸òîì îòñòóïà
/// </summary>
/// <returns></returns>
int get_x()
{
return x - offset;
}
/// <summary>
/// Ïîëó÷èòü ìàêñèìàëüíóþ êîîðäèíàòó Ó ñ ó÷¸òîì îòñòóïà
/// </summary>
/// <returns></returns>
int get_y()
{
return y - offset;
}
private:
int x, y, offset;
};