mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-10-06 00:30:10 -06:00
Painter: RoundedRectangle
git-svn-id: svn://ultimatepp.org/upp/trunk@982 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
fde245058c
commit
45e64f6764
2 changed files with 15 additions and 0 deletions
|
|
@ -467,9 +467,23 @@ Painter& Painter::Text(double x, double y, const char *text, Font fnt, int n, do
|
|||
|
||||
Painter& Painter::Rectangle(double x, double y, double cx, double cy)
|
||||
{
|
||||
if (cx < 0) { x += cx; cx = -cx;}
|
||||
if (cy < 0) { y += cy; cy = -cy;}
|
||||
return Move(x, y).RelLine(cx, 0).RelLine(0, cy).RelLine(-cx, 0).Close();
|
||||
}
|
||||
|
||||
Painter& Painter::RoundedRectangle(double x, double y, double cx, double cy, double r)
|
||||
{
|
||||
ASSERT(r >= 0);
|
||||
if (cx < 0) { x += cx; cx = -cx;}
|
||||
if (cy < 0) { y += cy; cy = -cy;}
|
||||
Move(x + r, y).Arc(x + r, y + r, r, r, -M_PI / 2, -M_PI / 2)
|
||||
.Line(x, y + cy - r).Arc(x + r, y + cy - r, r, r, M_PI, -M_PI / 2)
|
||||
.Line(x + cx - r, y + cy).Arc(x + cx - r, y + cy - r, r, r, M_PI / 2, -M_PI / 2)
|
||||
.Line(x + cx, y + r).Arc(x + cx - r, y + r, r, r, 0, -M_PI / 2).Line(x + r, y);
|
||||
return *this;
|
||||
}
|
||||
|
||||
Painter& Painter::Ellipse(double x, double y, double rx, double ry)
|
||||
{
|
||||
return Move(x + rx, y).Arc(x, y, rx, ry, 0, 2 * M_PI).Close();
|
||||
|
|
|
|||
Loading…
Reference in a new issue