2016-07-11 3 views
0

Textbox를 확장하는 사용자 정의 클래스를 만들고 y 축척을 활성화해야합니다. y 축척은 fontSize가 아닌 요소 폭/높이를 변경하기 위해 x 축척과 동일한 동작을 가져야합니다.Textbox enable scaleY

그러나 이미 텍스트 상자의 코드 전체를 검사 했으므로 무시할 대상을 찾을 수 없습니다. 여기

내가 뭘하는지 몇 가지 코드 :

https://fiddle.jshell.net/filiperoberto/zLz6cy2L/3/

답변

0

내가 텍스트 상자 규모의 동작을 변경 fabricjs에 textbox_behavior.mixin.js에서 함수를 발견, 나는 내 사용자 지정 요소에 해당 기능을 확장 기대하는 행동을 취해야한다. 아직 몇 가지 작업이 필요 *

(function(){ 
    var setObjectScaleOverridden = fabric.Canvas.prototype._setObjectScale; 

    fabric.Canvas.prototype._setObjectScale = function(localMouse, transform,lockScalingX, lockScalingY, by, lockScalingFlip, _dim) { 

     var t = transform.target; 
     if (t instanceof fabric.FeedText) { 
      var w = t.width * ((localMouse.x/transform.scaleX)/(t.width + t.strokeWidth)); 
      var h = t.height * ((localMouse.y/transform.scaleY)/(t.height + t.strokeWidth)); 
      if (w >= t.getMinWidth() && h >= t.minHeight) { 
       t.set('width', w); 
       t.set('height',h); 
       return true; 
      } 
     } 
     else { 
      return setObjectScaleOverridden.call(fabric.Canvas.prototype, localMouse, transform, 
       lockScalingX, lockScalingY, by, lockScalingFlip, _dim); 
     } 
    }; 
})();