90 lines
1.8 KiB
C++
90 lines
1.8 KiB
C++
#include "tycho.h"
|
|
|
|
extern "C" {
|
|
struct int2 {
|
|
qint16 x, y;
|
|
};
|
|
|
|
void paint_arc(QPainter *paint,
|
|
qint16 x,
|
|
qint16 y,
|
|
qint16 w,
|
|
qint16 h,
|
|
qint16 t,
|
|
qint16 p)
|
|
{
|
|
paint->drawArc(x, y, w, h, t, p);
|
|
}
|
|
|
|
void paint_chord(QPainter *paint,
|
|
qint16 x,
|
|
qint16 y,
|
|
qint16 w,
|
|
qint16 h,
|
|
qint16 t,
|
|
qint16 p)
|
|
{
|
|
paint->drawChord(x, y, w, h, t, p);
|
|
}
|
|
|
|
void paint_ellipse(QPainter *paint, qint16 x, qint16 y, qint16 w, qint16 h)
|
|
{
|
|
paint->drawEllipse(x, y, w, h);
|
|
}
|
|
|
|
void paint_image(QPainter *paint, qint16 x, qint16 y, char const *fname)
|
|
{
|
|
paint->drawImage(x, y, QImage(QString(fname)));
|
|
}
|
|
|
|
void paint_line(QPainter *paint, qint16 x1, qint16 y1, qint16 x2, qint16 y2)
|
|
{
|
|
paint->drawLine(x1, y1, x2, y2);
|
|
}
|
|
|
|
void paint_point(QPainter *paint, qint16 x, qint16 y)
|
|
{
|
|
paint->drawPoint(x, y);
|
|
}
|
|
|
|
void paint_polygon(QPainter *paint, int2 const *points, std::size_t len)
|
|
{
|
|
QPolygon poly;
|
|
|
|
for(auto i = 0; i < len; i++) {
|
|
poly << QPoint(points[i].x, points[i].y);
|
|
}
|
|
|
|
paint->drawPolygon(poly);
|
|
}
|
|
|
|
void paint_rect(QPainter *paint, qint16 x, qint16 y, qint16 w, qint16 h)
|
|
{
|
|
paint->drawRect(x, y, w, h);
|
|
}
|
|
|
|
void paint_squircle(QPainter *paint,
|
|
qint16 x,
|
|
qint16 y,
|
|
qint16 w,
|
|
qint16 h,
|
|
qint16 r1,
|
|
qint16 r2)
|
|
{
|
|
paint->drawRoundedRect(x, y, w, h, r1, r2);
|
|
}
|
|
|
|
void paint_text(QPainter *paint, qint16 x, qint16 y, char const *text)
|
|
{
|
|
paint->drawText(x, y, QString(text));
|
|
}
|
|
|
|
void paint_fg(QPainter *paint, quint8 r, quint8 g, quint8 b, quint8 a)
|
|
{
|
|
QColor color{r, g, b, a};
|
|
paint->setPen(color);
|
|
}
|
|
}
|
|
|
|
// EOF
|