21#ifndef KIS_GRID_DRAWER_H
22#define KIS_GRID_DRAWER_H
32class KisSubPerspectiveGrid;
37 virtual ~GridDrawer() {}
40 void drawGrid(KisImageSP image, const TQRect& wr);
41 void drawPerspectiveGrid(KisImageSP image, const TQRect& wr, const KisSubPerspectiveGrid* grid);
43 virtual void setPen( const TQPen& pen) = 0;
44 virtual void drawLine(TQ_INT32 x1, TQ_INT32 y1, TQ_INT32 x2, TQ_INT32 y2) = 0;
45 inline void drawLine( const TQPoint& p1, const TQPoint& p2) { drawLine(p1.x(), p1.y(), p2.x(), p2.y() ); }
46 inline void drawLine( const KisPoint* p1, const KisPoint* p2) { drawLine( p1->roundTQPoint(), p2->roundTQPoint()); }
48 TQt::PenStyle gs2style(TQ_UINT32 s);
51class TQPainterGridDrawer : public GridDrawer {
53 TQPainterGridDrawer(TQPainter *p) { m_painter = p; }
55 virtual void setPen( const TQPen& pen) { m_painter->setPen(pen); }
56 virtual void drawLine(TQ_INT32 x1, TQ_INT32 y1, TQ_INT32 x2, TQ_INT32 y2) { m_painter->drawLine(x1, y1, x2, y2); }
62class OpenGLGridDrawer : public GridDrawer {
65 virtual ~OpenGLGridDrawer();
67 virtual void setPen( const TQPen& pen);
68 virtual void drawLine(TQ_INT32 x1, TQ_INT32 y1, TQ_INT32 x2, TQ_INT32 y2);
A double-based point class that can return it's coordinates approximated to integers.
|