46 QVector<QPolygon> outline(quint8* buffer, qint32 xOffset, qint32 yOffset, qint32 width, qint32 height);
55 void setSimpleOutline(
bool simple);
63 TopEdge = 1, LeftEdge = 2, BottomEdge = 3, RightEdge = 0, NoEdge = 4
66 template <
class StorageStrategy>
68 qint32 xOffset, qint32 yOffset,
69 qint32 width, qint32 height);
71 template <
class StorageStrategy>
72 bool isOutlineEdge(StorageStrategy &storage, EdgeType edge, qint32 x, qint32 y, qint32 bufWidth, qint32 bufHeight);
74 template <
class StorageStrategy>
75 void nextOutlineEdge(StorageStrategy &storage, EdgeType *edge, qint32 *row, qint32 *col, qint32 width, qint32 height);
78 return edge == NoEdge ? edge :
static_cast<EdgeType>((edge + 1) % 4);
81 void appendCoordinate(QPolygon * path,
int x,
int y, EdgeType edge, EdgeType prevEdge);