Merge branch 'sutr90-master'

This commit is contained in:
Anton Lavrenov
2020-03-03 08:51:11 -05:00
3 changed files with 27 additions and 2 deletions

View File

@@ -5,6 +5,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
## Not released: ## Not released:
* Add `rotationSnapTolerance` property to `Konva.Transformer`.
## 4.1.6 - 2020-02-25 ## 4.1.6 - 2020-02-25
* Events fixes for `Konva.Transformer` * Events fixes for `Konva.Transformer`

View File

@@ -149,7 +149,7 @@ export const Konva = {
*/ */
dragDistance: 3, dragDistance: 3,
/** /**
* Use degree values for angle properties. You may set this property to false if you want to use radiant values. * Use degree values for angle properties. You may set this property to false if you want to use radian values.
* @property angleDeg * @property angleDeg
* @default true * @default true
* @memberof Konva * @memberof Konva

View File

@@ -19,6 +19,7 @@ export interface TransformerConfig extends ContainerConfig {
resizeEnabled?: boolean; resizeEnabled?: boolean;
rotateEnabled?: boolean; rotateEnabled?: boolean;
rotationSnaps?: Array<number>; rotationSnaps?: Array<number>;
rotationSnapTolerance?: number;
rotateAnchorOffset?: number; rotateAnchorOffset?: number;
borderEnabled?: boolean; borderEnabled?: boolean;
borderStroke?: string; borderStroke?: string;
@@ -154,6 +155,7 @@ var MAX_SAFE_INTEGER = 100000000;
* @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 {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.rotateAnchorOffset] Default is 50 * @param {Number} [config.rotateAnchorOffset] Default is 50
* @param {Number} [config.padding] Default is 0 * @param {Number} [config.padding] Default is 0
* @param {Boolean} [config.borderEnabled] Should we draw border? Default is true * @param {Boolean} [config.borderEnabled] Should we draw border? Default is true
@@ -596,7 +598,7 @@ export class Transformer extends Group {
var newAlpha = Util._degToRad(newRotation); var newAlpha = Util._degToRad(newRotation);
var snaps = this.rotationSnaps(); var snaps = this.rotationSnaps();
var offset = 0.1; var offset = Konva.getAngle(this.rotationSnapTolerance());
for (var i = 0; i < snaps.length; i++) { for (var i = 0; i < snaps.length; i++) {
var angle = Konva.getAngle(snaps[i]); var angle = Konva.getAngle(snaps[i]);
@@ -901,6 +903,7 @@ export class Transformer extends Group {
resizeEnabled: GetSet<boolean, this>; resizeEnabled: GetSet<boolean, this>;
rotateEnabled: GetSet<boolean, this>; rotateEnabled: GetSet<boolean, this>;
rotateAnchorOffset: GetSet<number, this>; rotateAnchorOffset: GetSet<number, this>;
rotationSnapTolerance: GetSet<number, this>;
padding: GetSet<number, this>; padding: GetSet<number, this>;
borderEnabled: GetSet<boolean, this>; borderEnabled: GetSet<boolean, this>;
borderStroke: GetSet<string, this>; borderStroke: GetSet<string, this>;
@@ -1037,6 +1040,26 @@ Factory.addGetterSetter(
getNumberValidator() getNumberValidator()
); );
/**
* get/set distance for rotation tolerance
* @name Konva.Transformer#rotationSnapTolerance
* @method
* @param {Number} tolerance
* @returns {Number}
* @example
* // get
* var rotationSnapTolerance = transformer.rotationSnapTolerance();
*
* // set
* transformer.rotationSnapTolerance(100);
*/
Factory.addGetterSetter(
Transformer,
'rotationSnapTolerance',
5,
getNumberValidator()
);
/** /**
* get/set visibility of border * get/set visibility of border
* @name Konva.Transformer#borderEnabled * @name Konva.Transformer#borderEnabled