20 #ifndef INCLUDE_WYKOBI_GRAPHICS_VCL
21 #define INCLUDE_WYKOBI_GRAPHICS_VCL
23 #include <Graphics.hpp>
37 : canvas(c), _width(w), _height(h), color(clBlack) {
38 canvas->Brush->Style = bsClear;
43 inline void set_pen(TPen* p) { canvas->Pen = p; }
44 inline void set_brush(TBrush* b) { canvas->Brush = b; }
45 inline void set_color(TColor c) { canvas->Pen->Color = c; }
46 inline void set_width(
unsigned int w) { _width = w; }
48 inline TPen*
get_pen() {
return canvas->Pen; }
49 inline unsigned int width()
const {
return _width; }
50 inline unsigned int height()
const {
return _height; }
51 inline unsigned int center_x()
const {
return _width * 0.5; }
52 inline unsigned int center_y()
const {
return _height * 0.5; }
56 inline void draw_text(
const T& x,
const T& y, std::string text) {
57 AnsiString s = text.c_str();
58 canvas->TextOut(
static_cast<int>(x),
static_cast<int>(y), s);
62 canvas->Pixels[
static_cast<int>(x)][
static_cast<int>(y)] =
67 canvas->MoveTo(
static_cast<int>(point.
x),
static_cast<int>(point.
y));
68 canvas->LineTo(
static_cast<int>(point.
x + 1),
69 static_cast<int>(point.
y + 1));
74 canvas->MoveTo(
static_cast<int>(x1),
static_cast<int>(y1));
75 canvas->LineTo(
static_cast<int>(x2),
static_cast<int>(y2));
78 inline void draw_line(
const T& x1,
const T& y1,
const T& x2,
91 inline void draw_triangle(
const T& x1,
const T& y1,
const T& x2,
const T& y2,
92 const T& x3,
const T& y3)
const {
98 inline void draw_quadix(
const T& x1,
const T& y1,
const T& x2,
const T& y2,
99 const T& x3,
const T& y3,
const T& x4,
109 canvas->Rectangle(
static_cast<int>(x1),
static_cast<int>(y1),
110 static_cast<int>(x2),
static_cast<int>(y2));
113 inline void draw_circle(
const T x,
const T& y,
const T& radius)
const {
114 canvas->Ellipse(
static_cast<int>(x - radius),
static_cast<int>(y - radius),
115 static_cast<int>(x + radius),
static_cast<int>(y + radius));
150 for (std::size_t i = 0; i < point_list.size() - 1; ++i) {
156 TColor TmpBrushColor = canvas->Brush->Color;
157 TBrushStyle TmpBrushStyle = canvas->Brush->Style;
159 canvas->Brush->Style = bsSolid;
160 canvas->Brush->Color = color;
161 canvas->FillRect(Rect(0, 0, _width, _height));
162 canvas->Brush->Color = TmpBrushColor;
163 canvas->Brush->Style = TmpBrushStyle;
199 const std::size_t& point_count) {
200 std::vector<point2d<T> > point_list;
206 const std::size_t& point_count) {
207 std::vector<point2d<T> > point_list;
215 unsigned int _height;
Definition: wykobi.hpp:426
T y
Definition: wykobi.hpp:428
T x
Definition: wykobi.hpp:428
T radius
Definition: wykobi.hpp:428
Definition: wykobi.hpp:493
Definition: wykobi.hpp:287
T x
Definition: wykobi.hpp:104
T y
Definition: wykobi.hpp:104
Definition: wykobi.hpp:383
std::size_t size() const
Definition: wykobi.hpp:412
Definition: wykobi.hpp:359
Definition: wykobi.hpp:468
Definition: wykobi.hpp:335
Definition: wykobi.hpp:263
Definition: wykobi.hpp:311
Definition: wykobi_graphics_vcl.hpp:34
void draw_triangle(const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3) const
Definition: wykobi_graphics_vcl.hpp:91
void draw_quadix(const T &x1, const T &y1, const T &x2, const T &y2, const T &x3, const T &y3, const T &x4, const T &y4) const
Definition: wykobi_graphics_vcl.hpp:98
void draw_rectangle(const T x1, const T &y1, const T &x2, const T &y2) const
Definition: wykobi_graphics_vcl.hpp:107
void draw_text(const T &x, const T &y, std::string text)
Definition: wykobi_graphics_vcl.hpp:56
void draw(const point2d< T > &point)
Definition: wykobi_graphics_vcl.hpp:169
void set_width(unsigned int w)
Definition: wykobi_graphics_vcl.hpp:46
void set_color(TColor c)
Definition: wykobi_graphics_vcl.hpp:45
void set_brush(TBrush *b)
Definition: wykobi_graphics_vcl.hpp:44
~wykobi_graphics_vcl()
Definition: wykobi_graphics_vcl.hpp:41
void draw_line(const T &x1, const T &y1, const T &x2, const T &y2) const
Definition: wykobi_graphics_vcl.hpp:78
void draw_rectangle(const point2d< T > &point1, const point2d< T > &point2) const
Definition: wykobi_graphics_vcl.hpp:140
unsigned int center_x() const
Definition: wykobi_graphics_vcl.hpp:51
void draw(const segment< T, 2 > &segment)
Definition: wykobi_graphics_vcl.hpp:170
void draw_pixel(const T &x, const T &y) const
Definition: wykobi_graphics_vcl.hpp:61
void draw_segment(const point2d< T > &point1, const point2d< T > &point2) const
Definition: wykobi_graphics_vcl.hpp:118
void draw(const quadratic_bezier< T, 2 > &bezier, const std::size_t &point_count)
Definition: wykobi_graphics_vcl.hpp:205
void draw_triangle(const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3) const
Definition: wykobi_graphics_vcl.hpp:128
void set_pen_width(int w)
Definition: wykobi_graphics_vcl.hpp:54
void draw_polyline(std::vector< point2d< T > > point_list)
Definition: wykobi_graphics_vcl.hpp:149
void draw(const quadix< T, 2 > &quadix)
Definition: wykobi_graphics_vcl.hpp:180
void draw_quadix(const point2d< T > &point1, const point2d< T > &point2, const point2d< T > &point3, const point2d< T > &point4) const
Definition: wykobi_graphics_vcl.hpp:133
void draw_line(const point2d< T > &point1, const point2d< T > &point2) const
Definition: wykobi_graphics_vcl.hpp:123
void draw_circle(const T x, const T &y, const T &radius) const
Definition: wykobi_graphics_vcl.hpp:113
void clear_white()
Definition: wykobi_graphics_vcl.hpp:166
void clear(TColor color)
Definition: wykobi_graphics_vcl.hpp:155
unsigned int center_y() const
Definition: wykobi_graphics_vcl.hpp:52
void draw(const cubic_bezier< T, 2 > &bezier, const std::size_t &point_count)
Definition: wykobi_graphics_vcl.hpp:198
void draw(const line< T, 2 > &line)
Definition: wykobi_graphics_vcl.hpp:173
void clear_black()
Definition: wykobi_graphics_vcl.hpp:167
void draw_circle(const point2d< T > &point, const T &radius) const
Definition: wykobi_graphics_vcl.hpp:145
void draw(const circle< T > &circle)
Definition: wykobi_graphics_vcl.hpp:183
void draw(const rectangle< T > &rectangle)
Definition: wykobi_graphics_vcl.hpp:177
unsigned int height() const
Definition: wykobi_graphics_vcl.hpp:50
void set_pen(TPen *p)
Definition: wykobi_graphics_vcl.hpp:43
void draw(const polygon< T, 2 > &polygon)
Definition: wykobi_graphics_vcl.hpp:187
void set_height(unsigned int h)
Definition: wykobi_graphics_vcl.hpp:47
void draw(const triangle< T, 2 > &triangle)
Definition: wykobi_graphics_vcl.hpp:174
wykobi_graphics_vcl(TCanvas *c, unsigned int w, unsigned int h)
Definition: wykobi_graphics_vcl.hpp:36
unsigned int width() const
Definition: wykobi_graphics_vcl.hpp:49
void draw_pixel(const point2d< T > &point) const
Definition: wykobi_graphics_vcl.hpp:66
void draw_segment(const T &x1, const T &y1, const T &x2, const T &y2) const
Definition: wykobi_graphics_vcl.hpp:72
TPen * get_pen()
Definition: wykobi_graphics_vcl.hpp:48
Definition: wykobi.hpp:32
void generate_bezier(const quadratic_bezier< T, 2 > &bezier, OutputIterator out, const std::size_t &point_count=1000)