mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 13:03:10 +08:00
feat: add flag for link line visiable for Transformer's rotate
This commit is contained in:
parent
f7c8b81dd1
commit
8a05f34c87
@ -18,6 +18,7 @@ export interface Box extends IRect {
|
|||||||
export interface TransformerConfig extends ContainerConfig {
|
export interface TransformerConfig extends ContainerConfig {
|
||||||
resizeEnabled?: boolean;
|
resizeEnabled?: boolean;
|
||||||
rotateEnabled?: boolean;
|
rotateEnabled?: boolean;
|
||||||
|
rotateLinkLineVisiable?: boolean;
|
||||||
rotationSnaps?: Array<number>;
|
rotationSnaps?: Array<number>;
|
||||||
rotationSnapTolerance?: number;
|
rotationSnapTolerance?: number;
|
||||||
rotateAnchorOffset?: number;
|
rotateAnchorOffset?: number;
|
||||||
@ -205,6 +206,7 @@ function getSnap(snaps: Array<number>, newRotationRad: number, tol: number) {
|
|||||||
* @param {Object} config
|
* @param {Object} config
|
||||||
* @param {Boolean} [config.resizeEnabled] Default is true
|
* @param {Boolean} [config.resizeEnabled] Default is true
|
||||||
* @param {Boolean} [config.rotateEnabled] Default is true
|
* @param {Boolean} [config.rotateEnabled] Default is true
|
||||||
|
* @param {Boolean} [config.rotateLinkLineVisiable] Default is true
|
||||||
* @param {Array} [config.rotationSnaps] Array of angles for rotation snaps. Default is []
|
* @param {Array} [config.rotationSnaps] Array of angles for rotation snaps. Default is []
|
||||||
* @param {Number} [config.rotationSnapTolerance] Snapping tolerance. If closer than this it will snap. Default is 5
|
* @param {Number} [config.rotationSnapTolerance] Snapping tolerance. If closer than this it will snap. Default is 5
|
||||||
* @param {Number} [config.rotateAnchorOffset] Default is 50
|
* @param {Number} [config.rotateAnchorOffset] Default is 50
|
||||||
@ -614,7 +616,7 @@ export class Transformer extends Group {
|
|||||||
shape.height() + padding * 2
|
shape.height() + padding * 2
|
||||||
);
|
);
|
||||||
ctx.moveTo(shape.width() / 2, -padding);
|
ctx.moveTo(shape.width() / 2, -padding);
|
||||||
if (tr.rotateEnabled()) {
|
if (tr.rotateEnabled() && tr.rotateLinkLineVisiable()) {
|
||||||
ctx.lineTo(
|
ctx.lineTo(
|
||||||
shape.width() / 2,
|
shape.width() / 2,
|
||||||
-tr.rotateAnchorOffset() * Util._sign(shape.height()) - padding
|
-tr.rotateAnchorOffset() * Util._sign(shape.height()) - padding
|
||||||
@ -1289,6 +1291,7 @@ export class Transformer extends Group {
|
|||||||
anchorSize: GetSet<number, this>;
|
anchorSize: GetSet<number, this>;
|
||||||
resizeEnabled: GetSet<boolean, this>;
|
resizeEnabled: GetSet<boolean, this>;
|
||||||
rotateEnabled: GetSet<boolean, this>;
|
rotateEnabled: GetSet<boolean, this>;
|
||||||
|
rotateLinkLineVisiable: GetSet<boolean, this>;
|
||||||
rotateAnchorOffset: GetSet<number, this>;
|
rotateAnchorOffset: GetSet<number, this>;
|
||||||
rotationSnapTolerance: GetSet<number, this>;
|
rotationSnapTolerance: GetSet<number, this>;
|
||||||
rotateAnchorCursor: GetSet<string, this>;
|
rotateAnchorCursor: GetSet<string, this>;
|
||||||
@ -1422,6 +1425,21 @@ Factory.addGetterSetter(Transformer, 'anchorSize', 10, getNumberValidator());
|
|||||||
*/
|
*/
|
||||||
Factory.addGetterSetter(Transformer, 'rotateEnabled', true);
|
Factory.addGetterSetter(Transformer, 'rotateEnabled', true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get/set visiable to rotate link line.
|
||||||
|
* @name Konva.Transformer#rotateLinkLineVisiable
|
||||||
|
* @method
|
||||||
|
* @param {Boolean} enabled
|
||||||
|
* @returns {Boolean}
|
||||||
|
* @example
|
||||||
|
* // get
|
||||||
|
* var rotateLinkLineVisiable = transformer.rotateLinkLineVisiable();
|
||||||
|
*
|
||||||
|
* // set
|
||||||
|
* transformer.rotateLinkLineVisiable(false);
|
||||||
|
*/
|
||||||
|
Factory.addGetterSetter(Transformer, 'rotateLinkLineVisiable', true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get/set rotation snaps angles.
|
* get/set rotation snaps angles.
|
||||||
* @name Konva.Transformer#rotationSnaps
|
* @name Konva.Transformer#rotationSnaps
|
||||||
|
Loading…
Reference in New Issue
Block a user