Anti-Grain Geometry Tutorial
agg_rounded_rect.h
1
//----------------------------------------------------------------------------
2
// Anti-Grain Geometry - Version 2.4
3
// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
4
//
5
// Permission to copy, use, modify, sell and distribute this software
6
// is granted provided this copyright notice appears in all copies.
7
// This software is provided "as is" without express or implied
8
// warranty, and with no claim as to its suitability for any purpose.
9
//
10
//----------------------------------------------------------------------------
11
// Contact: mcseem@antigrain.com
12
// mcseemagg@yahoo.com
13
// http://www.antigrain.com
14
//----------------------------------------------------------------------------
15
//
16
// Rounded rectangle vertex generator
17
//
18
//----------------------------------------------------------------------------
19
20
#ifndef AGG_ROUNDED_RECT_INCLUDED
21
#define AGG_ROUNDED_RECT_INCLUDED
22
23
#include "agg_basics.h"
24
#include "agg_arc.h"
25
26
namespace
agg
27
{
28
//------------------------------------------------------------rounded_rect
29
//
30
// See Implemantation agg_rounded_rect.cpp
31
//
32
class
rounded_rect
33
{
34
public
:
35
rounded_rect
() {}
36
rounded_rect
(
double
x1,
double
y1,
double
x2,
double
y2,
double
r);
37
38
void
rect(
double
x1,
double
y1,
double
x2,
double
y2);
39
void
radius(
double
r);
40
void
radius(
double
rx,
double
ry);
41
void
radius(
double
rx_bottom,
double
ry_bottom,
double
rx_top,
double
ry_top);
42
void
radius(
double
rx1,
double
ry1,
double
rx2,
double
ry2,
43
double
rx3,
double
ry3,
double
rx4,
double
ry4);
44
void
normalize_radius();
45
46
void
approximation_scale(
double
s) { m_arc.approximation_scale(s); }
47
double
approximation_scale()
const
{
return
m_arc.approximation_scale(); }
48
49
void
rewind(
unsigned
);
50
unsigned
vertex(
double
* x,
double
* y);
51
52
private
:
53
double
m_x1;
54
double
m_y1;
55
double
m_x2;
56
double
m_y2;
57
double
m_rx1;
58
double
m_ry1;
59
double
m_rx2;
60
double
m_ry2;
61
double
m_rx3;
62
double
m_ry3;
63
double
m_rx4;
64
double
m_ry4;
65
unsigned
m_status;
66
arc
m_arc;
67
};
68
69
}
70
71
#endif
72
agg::rounded_rect
Definition:
agg_rounded_rect.h:32
agg::arc
Definition:
agg_arc.h:32
agg
Definition:
agg_arc.cpp:24
agg-2.4
include
agg_rounded_rect.h
Generated by
1.8.13