#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