112 lines
2.4 KiB
C++
112 lines
2.4 KiB
C++
#include "tycho.h"
|
|
|
|
extern "C" {
|
|
struct int2 {
|
|
std::int16_t x, y;
|
|
};
|
|
|
|
void paint_arc(QPainter *paint,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
std::int16_t w,
|
|
std::int16_t h,
|
|
std::int16_t t,
|
|
std::int16_t p)
|
|
{
|
|
paint->drawArc(x, y, w, h, t, p);
|
|
}
|
|
|
|
void paint_chord(QPainter *paint,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
std::int16_t w,
|
|
std::int16_t h,
|
|
std::int16_t t,
|
|
std::int16_t p)
|
|
{
|
|
paint->drawChord(x, y, w, h, t, p);
|
|
}
|
|
|
|
void paint_ellipse(QPainter *paint,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
std::int16_t w,
|
|
std::int16_t h)
|
|
{
|
|
paint->drawEllipse(x, y, w, h);
|
|
}
|
|
|
|
void paint_image(QPainter *paint,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
char const *fname)
|
|
{
|
|
paint->drawImage(x, y, QImage(QString(fname)));
|
|
}
|
|
|
|
void paint_line(QPainter *paint,
|
|
std::int16_t x1,
|
|
std::int16_t y1,
|
|
std::int16_t x2,
|
|
std::int16_t y2)
|
|
{
|
|
paint->drawLine(x1, y1, x2, y2);
|
|
}
|
|
|
|
void paint_point(QPainter *paint, std::int16_t x, std::int16_t 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,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
std::int16_t w,
|
|
std::int16_t h)
|
|
{
|
|
paint->drawRect(x, y, w, h);
|
|
}
|
|
|
|
void paint_squircle(QPainter *paint,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
std::int16_t w,
|
|
std::int16_t h,
|
|
std::int16_t r1,
|
|
std::int16_t r2)
|
|
{
|
|
paint->drawRoundedRect(x, y, w, h, r1, r2);
|
|
}
|
|
|
|
void paint_text(QPainter *paint,
|
|
std::int16_t x,
|
|
std::int16_t y,
|
|
char const *text)
|
|
{
|
|
paint->drawText(x, y, QString(text));
|
|
}
|
|
|
|
void paint_fg(QPainter *paint,
|
|
std::uint8_t r,
|
|
std::uint8_t g,
|
|
std::uint8_t b,
|
|
std::uint8_t a)
|
|
{
|
|
QColor color{r, g, b, a};
|
|
paint->setPen(color);
|
|
}
|
|
}
|
|
|
|
// EOF
|