next-element-vue 0.3.6 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,14 @@
1
+ import type { Ref } from 'vue';
2
+ export interface ScaleTranslate {
3
+ scale: number;
4
+ x: number;
5
+ y: number;
6
+ }
7
+ export interface ScaleTranslateManager {
8
+ scaleTranslate: Ref<ScaleTranslate>;
9
+ onChangeScaleTranslate: (scaleTranslate: ScaleTranslate) => void;
10
+ onResetScaleTranslate: () => void;
11
+ }
1
12
  declare const _default: {
2
13
  minContentHeight: number;
3
14
  };
@@ -1,3 +1,5 @@
1
+ import type { Ref } from 'vue';
2
+ import type { ScaleTranslate } from '../config';
1
3
  export interface ResizeCorner {
2
4
  topLeft: boolean;
3
5
  topCenter: boolean;
@@ -30,11 +32,7 @@ export interface DrawBaseCanvasProps extends CreateRectCanvasProps {
30
32
  image: HTMLImageElement;
31
33
  labels: RectProps[];
32
34
  scaleFactor?: number;
33
- scaleOffset?: {
34
- x: number;
35
- y: number;
36
- scale: number;
37
- };
35
+ scaleOffset?: Ref<ScaleTranslate>;
38
36
  }
39
37
  export declare const DrawRectCanvas: ({ canvas, originWidth, originHeight }: {
40
38
  canvas: HTMLCanvasElement;
@@ -49,44 +47,10 @@ export declare const DrawRectCanvas: ({ canvas, originWidth, originHeight }: {
49
47
  };
50
48
  export declare const colors: string[];
51
49
  export declare const DrawBaseCanvas: (options: DrawBaseCanvasProps) => {
52
- updateLabels: (scaleOffset?: {
53
- x: number;
54
- y: number;
55
- scale: number;
56
- }) => void;
50
+ updateLabels: () => void;
57
51
  addDrawRect: (rect: RectProps, color?: string) => void;
58
52
  hitCanvasLabel: (x: number, y: number) => any;
59
53
  };
60
- export declare class CanvasSceneDragZoom {
61
- private canvas;
62
- private canvasWidth;
63
- private canvasHeight;
64
- private ctx;
65
- private scaleFactor;
66
- private preScaleFactor;
67
- private offset;
68
- private preOffset;
69
- private mousePositioin;
70
- private maxScale;
71
- private minScale;
72
- private scaleStep;
73
- private clickX;
74
- private clickY;
75
- private observers;
76
- constructor(canvas: HTMLCanvasElement);
77
- private notifyObservers;
78
- changeZoom(callback: (scale: number, offset: {
79
- x: number;
80
- y: number;
81
- }) => void): void;
82
- reset(): void;
83
- render(): void;
84
- zoom(): void;
85
- canvasMousewheel: (event: WheelEvent) => void;
86
- canvasMousedown(event: MouseEvent): void;
87
- canvasMousemove(event: MouseEvent): void;
88
- canvasMouseup(event: MouseEvent): void;
89
- }
90
54
  /**
91
55
  * 根据比例重新设置标注框位置和大小
92
56
  * @param labels
@@ -0,0 +1,57 @@
1
+ import type { ScaleTranslate } from '../config';
2
+ import type { RectProps } from './canvas-context-hook';
3
+ export declare class CanvasSceneDragZoom {
4
+ private canvas;
5
+ private canvasWidth;
6
+ private canvasHeight;
7
+ private ctx;
8
+ private scaleFactor;
9
+ private preScaleFactor;
10
+ private offset;
11
+ private preOffset;
12
+ private mousePositioin;
13
+ private maxScale;
14
+ private minScale;
15
+ private scaleStep;
16
+ private clickX;
17
+ private clickY;
18
+ private observers;
19
+ constructor(canvas: HTMLCanvasElement);
20
+ private notifyObservers;
21
+ changeZoom(callback: ({ scale, ...offset }: ScaleTranslate) => void): void;
22
+ reset(): void;
23
+ render(): void;
24
+ zoom(): void;
25
+ onWindowWheel: (e: MouseEvent) => void;
26
+ canvasMousewheel: (event: WheelEvent) => void;
27
+ canvasMousedown(event: MouseEvent): void;
28
+ canvasMousemove(event: MouseEvent): void;
29
+ canvasMouseup(event: MouseEvent): void;
30
+ destroy(): void;
31
+ }
32
+ /**
33
+ * 屏幕数据转缩放平移数据
34
+ * @param rect
35
+ * @param scaleOffset
36
+ * @returns
37
+ */
38
+ export declare const rectToScaleOffset: (rect: RectProps, scaleOffset: ScaleTranslate) => {
39
+ startX: number;
40
+ startY: number;
41
+ rectWidth: number;
42
+ rectHeight: number;
43
+ canvasWidth: number;
44
+ canvasHeight: number;
45
+ originWidth: number;
46
+ originHeight: number;
47
+ };
48
+ export declare const rectToRestore: (rect: RectProps, scaleOffset: ScaleTranslate) => {
49
+ startX: number;
50
+ startY: number;
51
+ rectWidth: number;
52
+ rectHeight: number;
53
+ canvasWidth: number;
54
+ canvasHeight: number;
55
+ originWidth: number;
56
+ originHeight: number;
57
+ };
@@ -1,4 +1,4 @@
1
- import type { PropType } from 'vue';
1
+ import type { PropType, Ref } from 'vue';
2
2
  import type { RectProps } from '../hooks/canvas-context-hook';
3
3
  declare const _default: import("vue").DefineComponent<{
4
4
  parentEl: {
@@ -17,7 +17,7 @@ declare const _default: import("vue").DefineComponent<{
17
17
  onMousedown: (e: MouseEvent) => void;
18
18
  onMouseup: (e: MouseEvent) => void;
19
19
  onContextmenu: (e: MouseEvent) => void;
20
- rect: import("vue").Ref<{
20
+ rect: Ref<{
21
21
  type?: number;
22
22
  typeName?: string;
23
23
  startX: number;
@@ -20,7 +20,7 @@ export declare const NextLabelme: import("../../utils/install").SFCWithInstall<i
20
20
  type: import("vue").PropType<any[]>;
21
21
  default: () => any[];
22
22
  };
23
- }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "save" | "edit-polygon" | "prev-click" | "next-click")[], "change" | "save" | "edit-polygon" | "prev-click" | "next-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
+ }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "save" | "edit-polygon" | "change-polygon" | "prev-click" | "next-click")[], "change" | "save" | "edit-polygon" | "change-polygon" | "prev-click" | "next-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
24
  className: {
25
25
  type: StringConstructor;
26
26
  default: string;
@@ -45,6 +45,7 @@ export declare const NextLabelme: import("../../utils/install").SFCWithInstall<i
45
45
  onChange?: (...args: any[]) => any;
46
46
  onSave?: (...args: any[]) => any;
47
47
  "onEdit-polygon"?: (...args: any[]) => any;
48
+ "onChange-polygon"?: (...args: any[]) => any;
48
49
  "onPrev-click"?: (...args: any[]) => any;
49
50
  "onNext-click"?: (...args: any[]) => any;
50
51
  }, {
@@ -1,3 +1,24 @@
1
+ import type { Ref } from 'vue';
2
+ export interface ScaleTranslate {
3
+ scale: number;
4
+ x: number;
5
+ y: number;
6
+ }
7
+ export interface ScaleTranslateManager {
8
+ scaleTranslate: Ref<ScaleTranslate>;
9
+ onChangeScaleTranslate: (scaleTranslate: ScaleTranslate) => void;
10
+ onResetScaleTranslate: () => void;
11
+ }
12
+ export interface ShapesProps {
13
+ label?: string;
14
+ points: [number, number][];
15
+ shape_type?: string;
16
+ }
17
+ export interface LabelNodeProps {
18
+ imageWidth?: number;
19
+ imageHeight?: number;
20
+ shapes?: ShapesProps[];
21
+ }
1
22
  declare const _default: {
2
23
  minContentHeight: number;
3
24
  };
@@ -1,3 +1,5 @@
1
+ import type { Ref } from 'vue';
2
+ import type { ScaleTranslate, LabelNodeProps, ShapesProps } from '../config';
1
3
  export interface CreateRectCanvasProps {
2
4
  canvasWidth: number;
3
5
  canvasHeight: number;
@@ -7,9 +9,10 @@ export interface DrawBaseCanvasProps extends CreateRectCanvasProps {
7
9
  ctx: CanvasRenderingContext2D;
8
10
  image: HTMLImageElement;
9
11
  scaleFactor?: number;
10
- paths?: any[];
12
+ labels?: LabelNodeProps;
11
13
  scaleX?: number;
12
14
  scaleY?: number;
15
+ scaleOffset?: Ref<ScaleTranslate>;
13
16
  }
14
17
  export declare const printsToPath: (vertexes: [number, number][]) => Path2D;
15
18
  export declare const isPointOnLineSegment: (px: number, py: number, vertexes: [number, number][], ctx: CanvasRenderingContext2D) => number;
@@ -20,6 +23,8 @@ export declare const isPointInCircle: (mouseX: number, mouseY: number, circleX:
20
23
  * @returns
21
24
  */
22
25
  export declare const vertexesUnique: (vertexes: [number, number][]) => any[];
26
+ export declare const vertexToScale: (vertex: [number, number], scaleX: number, scaleY: number, isMultiply?: boolean) => [number, number];
27
+ export declare const vertexesToScale: (vertexes: [number, number][], scaleX: number, scaleY: number, isMultiply?: boolean) => [number, number][];
23
28
  export declare const colors: string[];
24
29
  export declare class CreateDrawCanvas {
25
30
  canvas: HTMLCanvasElement;
@@ -27,18 +32,22 @@ export declare class CreateDrawCanvas {
27
32
  image: HTMLImageElement;
28
33
  canvasWidth: number;
29
34
  canvasHeight: number;
30
- private paths;
35
+ scaleOffset: Ref<ScaleTranslate>;
36
+ private labels;
31
37
  private scaleX;
32
38
  private scaleY;
33
39
  private editDrawPolygon;
34
40
  private createPolygonVertexes;
35
41
  private editVertexes;
36
42
  private editPolygonObservers;
43
+ private drawnPolygonObserver?;
37
44
  constructor(options: DrawBaseCanvasProps);
38
45
  private notifyObservers;
46
+ private notifyDrawnPolygonObservers;
39
47
  updatePolygon(callback: (vertexes: [number, number][]) => void): void;
40
- drawPolygons(paths: any[]): void;
41
- initCanvas: () => void;
48
+ onDrawnPolygon(callback: (vertexes: [number, number][]) => void): void;
49
+ drawPolygons(shapes: ShapesProps[]): void;
50
+ drawCanvas: () => void;
42
51
  render: () => void;
43
- destroyed(): void;
52
+ destroy(): void;
44
53
  }
@@ -20,7 +20,7 @@ declare const _default: import("vue").DefineComponent<{
20
20
  type: PropType<any[]>;
21
21
  default: () => any[];
22
22
  };
23
- }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "save" | "edit-polygon" | "prev-click" | "next-click")[], "change" | "save" | "edit-polygon" | "prev-click" | "next-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
+ }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "save" | "edit-polygon" | "change-polygon" | "prev-click" | "next-click")[], "change" | "save" | "edit-polygon" | "change-polygon" | "prev-click" | "next-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
24
  className: {
25
25
  type: StringConstructor;
26
26
  default: string;
@@ -45,6 +45,7 @@ declare const _default: import("vue").DefineComponent<{
45
45
  onChange?: (...args: any[]) => any;
46
46
  onSave?: (...args: any[]) => any;
47
47
  "onEdit-polygon"?: (...args: any[]) => any;
48
+ "onChange-polygon"?: (...args: any[]) => any;
48
49
  "onPrev-click"?: (...args: any[]) => any;
49
50
  "onNext-click"?: (...args: any[]) => any;
50
51
  }, {
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<{
11
11
  type: ObjectConstructor;
12
12
  default: () => {};
13
13
  };
14
- }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "editPolygon"[], "editPolygon", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("editPolygon" | "changePolygon")[], "editPolygon" | "changePolygon", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
15
  classes: {
16
16
  type: ArrayConstructor;
17
17
  default: () => any[];
@@ -26,6 +26,7 @@ declare const _default: import("vue").DefineComponent<{
26
26
  };
27
27
  }>> & {
28
28
  onEditPolygon?: (...args: any[]) => any;
29
+ onChangePolygon?: (...args: any[]) => any;
29
30
  }, {
30
31
  classes: unknown[];
31
32
  contextClientHeight: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-element-vue",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "author": {
5
5
  "name": "huangteng",
6
6
  "email": "htengweb@163.com"