TpPainter 类
V0.2.1TpUtils
2025-11-14
介绍
绘制模块类,用于绘制各种形状。资源等
所有的颜色值,均使用_RGB或_RGBA宏给入十进制值(0-255),例如_RGB(128,128,128)或_RGBA(128,128,128,120)
基础信息
| 头文件: | include <TpPainter.h> |
|---|---|
| Cmake: | None |
| 发布版本: | V0.2.1 |
| 继承类: | |
| 派生类: |
Public 成员函数
| TpPainter(tpShared< TpSurface > surface, int32_t offsetX, int32_t offsetY, TpWidget *object) | ||
|---|---|---|
| ~TpPainter() | ||
| paintTest() | ||
| setPen(const TpColors &color) | 设置画笔颜色 | |
| setPen(const TpPen &pen) | 设置画笔 | |
| TpPen & | pen() const | 获取当前画笔对象引用 |
| setBrush(const TpBrush &brush) | 设置画刷 | |
| TpBrush & | brush() const | 获取当前画刷对象引用 |
| drawPoint(int32_t x, int32_t y) | 绘制一个像素点 | |
| drawPoint(const TpPoint &point) | 绘制一个点 | |
| drawHLine(int32_t x1, int32_t x2, int32_t y) | 绘制一条水平线 | |
| drawVLine(int32_t x, int32_t y1, int32_t y2) | 绘制一条垂直线 | |
| drawLine(int32_t x1, int32_t y1, int32_t x2, int32_t y2) | 绘制一条线 | |
| drawLine(const TpPoint &point1, const TpPoint &point2) | 绘制一条线 | |
| drawRect(int32_t x1, int32_t y1, int32_t w, int32_t h, int32_t rad=0, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制矩形; rad = 0 则为直角矩形 | |
| drawRect(const TpRect &rect, int32_t rad=0, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制矩形 | |
| drawEllipse(int32_t x, int32_t y, int32_t rx, int32_t ry, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制椭圆;长轴半径和短轴半径相等时为正圆 | |
| drawEllipse(const TpPoint ¢er, int32_t rx, int32_t ry, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制椭圆;长轴半径和短轴半径相等时为正圆 | |
| drawArc(int32_t x, int32_t y, int32_t rad, int32_t start, int32_t end) | 绘制圆环;起始角顺时针绘制至终止角,终止角需大于起始角; | |
| drawArc(const TpPoint ¢er, int32_t rad, int32_t start, int32_t end) | 绘制圆环;起始角顺时针绘制至终止角,终止角需大于起始角; | |
| drawPie(int32_t x, int32_t y, int32_t rad, int32_t start, int32_t end, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制扇形;起始角顺时针绘制至终止角,终止角需大于起始角; | |
| drawPie(const TpPoint ¢er, int32_t rad, int32_t start, int32_t end, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制扇形;起始角顺时针绘制至终止角,终止角需大于起始角; | |
| drawPolygon(const TpVector< TpPoint > &pointList, const TpHollowMask &hollowMaskData=TpHollowMask()) | 绘制多边形 | |
| drawCubic(int32_t startX, int32_t startY, int32_t cx1, int32_t cy1, int32_t cx2, int32_t cy2, int32_t endX, int32_t endY) | 绘制三次贝塞尔曲线 | |
| drawCubic(const TpPoint &startPoint, const TpPoint &cPoint, const TpPoint &c2Point, const TpPoint &endPoint) | 绘制三次贝塞尔曲线 | |
| drawImage(const int32_t &x, const int32_t &y, const TpImage &image, int32_t roundRad=0) | 绘制图片 | |
| drawImage(const TpPoint &point, const TpImage &image, int32_t roundRad=0) | 绘制图片 | |
| drawText(TpFont &font, int32_t x, int32_t y, const TpString &text) | 绘制文本 | |
| drawText(TpFont &font, int32_t x, int32_t y) | 绘制文本 | |
| drawPath(const TpPainterPath &path) | 绘制自定义路径 | |
| setClipRect(const TpRect &rect) | 设置裁剪矩形;只显示裁剪区域内容 | |
| virtual TpRect | clipRect() | 获取裁剪区域 |
| erase() | 清理画布;清除所有绘制对象 | |
| addScene(void *canvas, void *scene) | 用户无需调用 | |
| sync(void *object) | 绘图同步;用户无需调用 |
成员函数说明
TpPainter::TpPainter(tpShared< TpSurface > surface, int32_t offsetX, int32_t offsetY, TpWidget *object)
暂无注释...
virtual TpPainter::~TpPainter()
暂无注释...
void TpPainter::paintTest()
暂无注释...
void TpPainter::setPen(const TpColors &color)
设置画笔颜色...
设置画笔颜色
参数:color: 画笔颜色
void TpPainter::setPen(const TpPen &pen)
设置画笔...
设置画笔
参数:pen: 画笔对象
TpPen & TpPainter::pen() const
获取当前画笔对象引用...
获取当前画笔对象引用
返回值:画笔对象引用
void TpPainter::setBrush(const TpBrush &brush)
设置画刷...
设置画刷
参数:brush: 画刷对象
TpBrush & TpPainter::brush() const
获取当前画刷对象引用...
获取当前画刷对象引用
返回值:画刷对象引用
virtual void TpPainter::drawPoint(int32_t x, int32_t y)
绘制一个像素点...
绘制一个像素点
color all are RRGGBBAA
参数:x: x坐标
参数:y: y坐标
virtual void TpPainter::drawPoint(const TpPoint &point)
绘制一个点...
绘制一个点
参数:point: 点坐标
virtual void TpPainter::drawHLine(int32_t x1, int32_t x2, int32_t y)
绘制一条水平线...
绘制一条水平线
参数:x1: 第一个点的X坐标
参数:x2: 第二个点的X坐标
参数:y: 两个点的Y坐标
virtual void TpPainter::drawVLine(int32_t x, int32_t y1, int32_t y2)
绘制一条垂直线...
绘制一条垂直线
参数:x: 两个点的X坐标
参数:y1: 第一个点的Y坐标
参数:y2: 第二个点的Y坐标
virtual void TpPainter::drawLine(int32_t x1, int32_t y1, int32_t x2, int32_t y2)
绘制一条线...
绘制一条线
参数:x1: 第一个点的X坐标
参数:y1: 第一个点的Y坐标
参数:x2: 第二个点的X坐标
参数:y2: 第二个点的Y坐标
virtual void TpPainter::drawLine(const TpPoint &point1, const TpPoint &point2)
绘制一条线...
绘制一条线
参数:point1: 第一个点的坐标
参数:point2: 第二个点的坐标
virtual void TpPainter::drawRect(int32_t x1, int32_t y1, int32_t w, int32_t h, int32_t rad=0, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制矩形; rad = 0 则为直角矩形...
绘制矩形; rad = 0 则为直角矩形
参数:x1: 矩形左上角顶点X坐标
参数:y1: 矩形左上角顶点Y坐标
参数:w: 矩形宽度
参数:h: 矩形高度
参数:rad: 圆角值
参数:hollowMaskData: 掏空属性
virtual void TpPainter::drawRect(const TpRect &rect, int32_t rad=0, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制矩形...
绘制矩形
参数:rect: 矩形尺寸
参数:rad: 圆角值
参数:hollowMaskData: 掏空属性
virtual void TpPainter::drawEllipse(int32_t x, int32_t y, int32_t rx, int32_t ry, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制椭圆;长轴半径和短轴半径相等时为正圆...
绘制椭圆;长轴半径和短轴半径相等时为正圆
参数:x: 圆心坐标X
参数:y: 圆心坐标Y
参数:rx: 长轴半径
参数:ry: 短轴半径
virtual void TpPainter::drawEllipse(const TpPoint ¢er, int32_t rx, int32_t ry, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制椭圆;长轴半径和短轴半径相等时为正圆...
绘制椭圆;长轴半径和短轴半径相等时为正圆
参数:center: 圆心坐标
参数:rx: 长轴半径
参数:ry: 短轴半径
virtual void TpPainter::drawArc(int32_t x, int32_t y, int32_t rad, int32_t start, int32_t end)
绘制圆环;起始角顺时针绘制至终止角,终止角需大于起始角;...
绘制圆环;起始角顺时针绘制至终止角,终止角需大于起始角;
0度:指向右侧(正X轴方向)
90度:指向下方(正Y轴方向)
180度:指向左侧(负X轴方向)
270度:指向上方(负Y轴方向)
参数:x: 圆心坐标
参数:y: 圆心坐标
参数:rad: 半径
参数:start: 起始角度
参数:end: 终止角度
virtual void TpPainter::drawArc(const TpPoint ¢er, int32_t rad, int32_t start, int32_t end)
绘制圆环;起始角顺时针绘制至终止角,终止角需大于起始角;...
绘制圆环;起始角顺时针绘制至终止角,终止角需大于起始角;
参数:center: 圆心坐标
参数:rad: 半径
参数:start: 起始角度
参数:end: 终止角度
virtual void TpPainter::drawPie(int32_t x, int32_t y, int32_t rad, int32_t start, int32_t end, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制扇形;起始角顺时针绘制至终止角,终止角需大于起始角;...
绘制扇形;起始角顺时针绘制至终止角,终止角需大于起始角;
0度:指向右侧(正X轴方向)
90度:指向下方(正Y轴方向)
180度:指向左侧(负X轴方向)
270度:指向上方(负Y轴方向)
参数:x: 圆心坐标X
参数:y: 圆心坐标Y
参数:rad: 半径
参数:start: 起始角度
参数:end: 终止角度
virtual void TpPainter::drawPie(const TpPoint ¢er, int32_t rad, int32_t start, int32_t end, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制扇形;起始角顺时针绘制至终止角,终止角需大于起始角;...
绘制扇形;起始角顺时针绘制至终止角,终止角需大于起始角;
参数:center: 圆心坐标
参数:rad: 半径
参数:start: 起始角度
参数:end: 终止角度
virtual void TpPainter::drawPolygon(const TpVector< TpPoint > &pointList, const TpHollowMask &hollowMaskData=TpHollowMask())
绘制多边形...
绘制多边形
参数:pointList: 所有顶点坐标;数量为1则画点,为2则画线
virtual void TpPainter::drawCubic(int32_t startX, int32_t startY, int32_t cx1, int32_t cy1, int32_t cx2, int32_t cy2, int32_t endX, int32_t endY)
绘制三次贝塞尔曲线...
绘制三次贝塞尔曲线
参数:startX: 起始点
参数:startY:
参数:cx1: 第一个控制点
参数:cy1:
参数:cx2: 第二个控制点
参数:cy2:
参数:endX: 终点
参数:endY:
virtual void TpPainter::drawCubic(const TpPoint &startPoint, const TpPoint &cPoint, const TpPoint &c2Point, const TpPoint &endPoint)
绘制三次贝塞尔曲线...
绘制三次贝塞尔曲线
参数:startPoint: 起始点
参数:cPoint: 第一个控制点
参数:c2Point: 第二个控制点
参数:endPoint: 终止点
virtual void TpPainter::drawImage(const int32_t &x, const int32_t &y, const TpImage &image, int32_t roundRad=0)
绘制图片...
绘制图片
参数:x: 绘制X坐标
参数:y: 绘制Y坐标
参数:image: 资源对象
参数:roundRad: 圆角值
virtual void TpPainter::drawImage(const TpPoint &point, const TpImage &image, int32_t roundRad=0)
绘制图片...
绘制图片
参数:point: 绘制坐标
参数:image: 资源对象
参数:roundRad: 圆角值
virtual void TpPainter::drawText(TpFont &font, int32_t x, int32_t y, const TpString &text)
绘制文本...
绘制文本
参数:font: 文本字体
参数:x: X坐标
参数:y: Y坐标
参数:text: 文本字符串内容
virtual void TpPainter::drawText(TpFont &font, int32_t x, int32_t y)
绘制文本...
绘制文本
参数:font: 文本字体;内部需设置文本字符串
参数:x: X坐标
参数:y: Y坐标
virtual void TpPainter::drawPath(const TpPainterPath &path)
绘制自定义路径...
绘制自定义路径
参数:path: 自定义路径
virtual void TpPainter::setClipRect(const TpRect &rect)
设置裁剪矩形;只显示裁剪区域内容...
设置裁剪矩形;只显示裁剪区域内容
参数:rect: 裁剪矩形
virtual TpRect TpPainter::clipRect()
获取裁剪区域...
获取裁剪区域
返回值:裁剪矩形
virtual void TpPainter::erase()
清理画布;清除所有绘制对象...
清理画布;清除所有绘制对象
void TpPainter::addScene(void *canvas, void *scene)
用户无需调用...
用户无需调用
void TpPainter::sync(void *object)
绘图同步;用户无需调用...
绘图同步;用户无需调用
