Ver código fonte

图片item抛出事件

haojianlong 4 anos atrás
pai
commit
cc55cb90bc
2 arquivos alterados com 20 adições e 5 exclusões
  1. 1 1
      saga-web-graph/package.json
  2. 19 4
      saga-web-graph/src/items/SImageItem.ts

+ 1 - 1
saga-web-graph/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@saga-web/graph",
-    "version": "2.1.129",
+    "version": "2.1.131",
     "description": "上格云二维图形引擎。",
     "main": "lib/index.js",
     "types": "lib/index.d.js",

+ 19 - 4
saga-web-graph/src/items/SImageItem.ts

@@ -2,6 +2,7 @@ import { SObjectItem } from "./SObjectItem";
 import { SColor, SPainter, SPoint, SRect, SSize } from "@saga-web/draw";
 import { SImageShowType, STextOrigin } from "..";
 import { SGraphItem } from "../SGraphItem";
+import { SMouseEvent } from "@saga-web/base";
 
 /**
  * 图片 item
@@ -62,6 +63,9 @@ export class SImageItem extends SObjectItem {
     /** 图片的高度 */
     private imgHeight: number = this.height;
 
+    /** 宽高缩放比例 */
+    widthHeightScale: number = 1;
+
     /** 图片地址 */
     private _url: string = "";
     get url(): string {
@@ -145,8 +149,8 @@ export class SImageItem extends SObjectItem {
                 width = this.width;
                 height = this.height;
             }
-            this.imgWidth = width;
-            this.imgHeight = height;
+            this.imgWidth = width * this.widthHeightScale;
+            this.imgHeight = height * this.widthHeightScale;
             // 设置原点位置(默认左上角)
             if (this.originPosition == STextOrigin.Center) {
                 this.origin = new SPoint(this.width / 2, this.height / 2);
@@ -195,8 +199,8 @@ export class SImageItem extends SObjectItem {
         return new SRect(
             -this.origin.x,
             -this.origin.y,
-            this.width,
-            this.height
+            this.imgWidth,
+            this.imgHeight
         );
     }
 
@@ -212,6 +216,17 @@ export class SImageItem extends SObjectItem {
     }
 
     /**
+     * 鼠标按下事件
+     *
+     * @param   event   保存事件参数
+     * @return  boolean
+     */
+    onMouseDown(event: SMouseEvent): boolean {
+        this.$emit("click", event);
+        return true;
+    }
+
+    /**
      * Item 绘制操作
      *
      * @param painter   绘制对象