|
@@ -57,56 +57,56 @@ export class SPainter extends SObject {
|
|
|
|
|
|
get pen(): SPen {
|
|
|
return this.engine.state.pen;
|
|
|
- }
|
|
|
+ }
|
|
|
set pen(value: SPen) {
|
|
|
this.engine.state.pen = value;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
get brush(): SBrush {
|
|
|
return this.engine.state.brush;
|
|
|
- }
|
|
|
+ }
|
|
|
set brush(value: SBrush) {
|
|
|
this.engine.state.brush = value;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
get font(): SFont {
|
|
|
return this.engine.state.font;
|
|
|
- }
|
|
|
+ }
|
|
|
set font(value: SFont) {
|
|
|
this.engine.state.font = value;
|
|
|
this.engine.changeFont(value);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
get composite(): number {
|
|
|
return this.engine.state._composite;
|
|
|
- }
|
|
|
+ }
|
|
|
set composite(value: number) {
|
|
|
this.engine.state._composite = value;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
get shadow(): SShadow {
|
|
|
return this.engine.state.shadow;
|
|
|
- }
|
|
|
+ }
|
|
|
set shadow(value: SShadow) {
|
|
|
this.engine.state.shadow = value;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
get clip(): SPath | undefined {
|
|
|
return this.engine.state.clip;
|
|
|
- }
|
|
|
+ }
|
|
|
set clip(value: SPath | undefined) {
|
|
|
this.engine.state.clip = value;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
get worldTransform(): SMatrix {
|
|
|
return this.engine.state.matrix;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 构造函数
|
|
@@ -127,21 +127,21 @@ export class SPainter extends SObject {
|
|
|
this.font = new SFont();
|
|
|
this.composite = SCompositeType.SourceOver;
|
|
|
this.shadow = new SShadow();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 保存 painter 状态
|
|
|
*/
|
|
|
save(): void {
|
|
|
this.engine.save();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 恢复 painter 状态
|
|
|
*/
|
|
|
restore(): void {
|
|
|
this.engine.restore();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -153,7 +153,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
translate(x: number, y: number): void {
|
|
|
this.engine.translate(x, y);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 缩放
|
|
@@ -163,7 +163,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
scale(x: number, y: number): void {
|
|
|
this.engine.scale(x, y);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 旋转
|
|
@@ -172,7 +172,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
rotate(angle: number): void {
|
|
|
this.engine.rotate(angle);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 将当前的变形矩阵乘上一个基于自身参数的矩阵
|
|
@@ -193,7 +193,7 @@ export class SPainter extends SObject {
|
|
|
dy: number
|
|
|
): void {
|
|
|
this.engine.transform(m11, m12, m21, m22, dx, dy);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 将当前的变形矩阵重置为单位矩阵,再将当前的变形矩阵乘上一个基于自身参数的矩阵
|
|
@@ -214,14 +214,14 @@ export class SPainter extends SObject {
|
|
|
dy: number
|
|
|
): void {
|
|
|
this.engine.setTransform(m11, m12, m21, m22, dx, dy);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 重置当前变形为单位矩阵。等价于调用 setTransform(1, 0, 0, 1, 0, 0)
|
|
|
*/
|
|
|
resetTransform(): void {
|
|
|
this.engine.resetTransform();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -284,7 +284,7 @@ export class SPainter extends SObject {
|
|
|
new SRect(x as number, y as number, w as number, h as number)
|
|
|
);
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制矩形
|
|
@@ -350,7 +350,7 @@ export class SPainter extends SObject {
|
|
|
new SRect(x as number, y as number, w as number, h as number)
|
|
|
);
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制带导角矩形
|
|
@@ -430,7 +430,7 @@ export class SPainter extends SObject {
|
|
|
if (rect != null && r != null) {
|
|
|
this.engine.drawRoundRect(rect, r);
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制圆形
|
|
@@ -441,7 +441,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
drawCircle(cx: number, cy: number, r: number): void {
|
|
|
this.engine.drawCircle(cx, cy, r);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制椭圆
|
|
@@ -453,7 +453,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
drawEllipse(cx: number, cy: number, rx: number, ry: number): void {
|
|
|
this.engine.drawEllipse(cx, cy, rx, ry);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制一条线段
|
|
@@ -508,7 +508,7 @@ export class SPainter extends SObject {
|
|
|
)
|
|
|
);
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制折线
|
|
@@ -517,7 +517,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
drawPolyline(points: SPoint[]): void {
|
|
|
this.engine.drawPolyline(points);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制多边形
|
|
@@ -526,7 +526,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
drawPolygon(points: SPoint[]): void {
|
|
|
this.engine.drawPolygon(points);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制路径
|
|
@@ -535,7 +535,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
drawPath(path: SPath): void {
|
|
|
this.engine.drawPath(path);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制文本
|
|
@@ -547,7 +547,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
drawText(text: string, x: number, y: number, maxWidth?: number): void {
|
|
|
this.engine.drawText(text, x, y, maxWidth);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 绘制图片
|
|
@@ -566,7 +566,7 @@ export class SPainter extends SObject {
|
|
|
height?: number
|
|
|
): void {
|
|
|
this.engine.drawImage(img, x, y, width, height);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* painter 转实现 view 象素
|
|
@@ -575,7 +575,7 @@ export class SPainter extends SObject {
|
|
|
*/
|
|
|
toPx(p: number): number {
|
|
|
return p / this.engine.state.matrix.a;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 预测量文本宽度
|
|
@@ -682,7 +682,7 @@ export class SPainter extends SObject {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 私有计算方法-绘制线段末端标准箭头
|
|
@@ -721,7 +721,7 @@ export class SPainter extends SObject {
|
|
|
]);
|
|
|
}
|
|
|
this.restore();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 私有计算方法-绘制线段末端三角形箭头
|
|
@@ -760,7 +760,7 @@ export class SPainter extends SObject {
|
|
|
]);
|
|
|
}
|
|
|
this.restore();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 私有计算方法-绘制线段末端菱形箭头
|
|
@@ -801,7 +801,7 @@ export class SPainter extends SObject {
|
|
|
]);
|
|
|
}
|
|
|
this.restore();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 私有计算方法-绘制线段末端方形箭头
|
|
@@ -839,7 +839,7 @@ export class SPainter extends SObject {
|
|
|
]);
|
|
|
}
|
|
|
this.restore();
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
* 私有计算方法-绘制线段末端圆形箭头
|
|
@@ -867,5 +867,5 @@ export class SPainter extends SObject {
|
|
|
this.engine.drawCircle(d / 2, 0, d / 2);
|
|
|
}
|
|
|
this.restore();
|
|
|
- }
|
|
|
-}
|
|
|
+ }
|
|
|
+}
|