1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import { SGraphyItem } from '@sybotan-web/graphy';
- import { SRect, SSize } from "@sybotan-web/base";
- import { SPen, SPainter, SColor } from "@sybotan-web/draw";
- /**
- * 圆Item类
- *
- */
- export default class SGraphyCircleItem extends SGraphyItem {
- r: number;
- fillColor: SColor = SColor.White;
- color: SColor = SColor.Black;
- width: number = 1;
- /**
- * 构造函数
- *
- * @param r 圆半径
- * @param width 圆线的宽度
- * @param color 圆线的颜色
- * @param fillColor 圆填充的颜色
- * @param parent
- */
- constructor(
- parent: SGraphyItem | null,
- r: number,
- fillColor: SColor = SColor.White,
- color: SColor = SColor.Black,
- width: number = 1
- ) {
- super(parent);
- this.r = r;
- this.color = color;
- this.fillColor = fillColor;
- this.width = width;
- } // Constructor()
- /**
- * Item对象边界区域
- *
- * @return SRect
- */
- boundingRect(): SRect {
- return new SRect(
- -this.r,
- -this.r,
- 2 * this.r,
- 2 * this.r
- );
- } // Function boundingRect()
- /**
- * Item绘制操作
- *
- * @param painter painter对象
- * @param rect 绘制区域
- */
- onDraw(painter: SPainter, rect?: SRect): void {
- // painter.pen = new SPen(new SColor("#FF0000"), 22);
- painter.pen.color = this.color;
- painter.brush.color = this.fillColor;
- painter.drawCircle(500, 500, this.r);
- }
- } // Class SGraphyCircleItem
|