File: GriState.cc

package info (click to toggle)
gri 2.8.7-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 4,472 kB
  • ctags: 2,092
  • sloc: cpp: 33,255; lisp: 3,980; perl: 1,037; makefile: 668; sh: 301
file content (107 lines) | stat: -rw-r--r-- 2,950 bytes parent folder | download
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// #define DASH

#include <string>
#include "GriColor.hh"
#include "GriState.hh"
#include "gr.hh"
#include "types.hh"
#include "errors.hh"
#include "defaults.hh"

GriState::GriState()
{
	the_line_cap           = 0;
	the_line_join          = 1;
	the_linewidth_axis     = LINEWIDTHAXIS_DEFAULT;
	the_linewidth_line     = LINEWIDTH_DEFAULT;
	the_linewidth_symbol   = LINEWIDTHSYMBOL_DEFAULT;
	the_font.size_pt       = FONTSIZE_PT_DEFAULT;
	the_font.id            = FONT_DEFAULT;
	is_separate_text_color = false;
	the_trace              = false;
	the_superuser          = 0;
}

GriState::GriState(const GriState& n)
{
	if ((n.color_line()).get_type() == GriColor::rgb)
		colorLine.setRGB((n.color_line()).getR(),
				 (n.color_line()).getG(),
				 (n.color_line()).getB());
	else 
		colorLine.setHSV((n.color_line()).getH(),
				 (n.color_line()).getS(),
				 (n.color_line()).getV());
	if (n.color_text().get_type() == GriColor::rgb)
		colorText.setRGB((n.color_text()).getR(),
				 (n.color_text()).getG(),
				 (n.color_text()).getB());
	else
		colorText.setHSV((n.color_text()).getH(),
				 (n.color_text()).getS(),
				 (n.color_text()).getV());
	the_font.id          = (n.font()).id;
	the_font.size_pt     = (n.font()).size_pt;
	the_line_cap         = n.line_cap();
	the_line_join        = n.line_join();
	the_linewidth_axis   = n.linewidth_axis();
	the_linewidth_line   = n.linewidth_line();
	the_linewidth_symbol = n.linewidth_symbol();
	the_superuser        = n.superuser();
	the_trace            = n.trace();
#ifdef DASH
	the_dash.erase();
	for (unsigned int i = 0; i < (n.dash).size(); i++)
		the_dash.push_back(n.dash[i]);
#endif
}
GriState& GriState::operator=(const GriState& n)
{
	if (n.color_line().get_type() == GriColor::rgb)
		colorLine.setRGB((n.color_line()).getR(),
				 (n.color_line()).getG(),
				 (n.color_line()).getB());
	else 
		colorLine.setHSV((n.color_line()).getH(),
				 (n.color_line()).getS(),
				 (n.color_line()).getV());
	if (n.color_text().get_type() == GriColor::rgb)
		colorText.setRGB((n.color_text()).getR(),
				 (n.color_text()).getG(),
				 (n.color_text()).getB());
	else
		colorText.setHSV((n.color_text()).getH(),
				 (n.color_text()).getS(),
				 (n.color_text()).getV());
	the_font.id          = (n.font()).id;
	the_font.size_pt     = (n.font()).size_pt;
	the_line_cap         = n.line_cap();
	the_line_join        = n.line_join();
	the_linewidth_axis   = n.linewidth_axis();
	the_linewidth_line   = n.linewidth_line();
	the_linewidth_symbol = n.linewidth_symbol();
	the_superuser        = n.superuser();
	the_trace            = n.trace();
#ifdef DASH
	the_dash.erase();
	for (unsigned int i = 0; i < (n.dash).size(); i++)
		the_dash.push_back(n.dash[i]);
#endif
	return *this;
}

GriState::~GriState()
{
	colorText.~GriColor();
	colorLine.~GriColor();
}

void GriState::set_color_line(const GriColor& c)
{
	colorLine = c;
}

void GriState::set_color_text(const GriColor& c)
{
	colorText = c;
}