@@ -175,8 +175,12 @@ export default abstract class Shape extends Observable {
175
175
@stringProperty ( { nonPaintProp : true } ) horizontalAlignment : HorizontalAlignment & 'middle' ;
176
176
@stringProperty ( { nonPaintProp : true } ) verticalAlignment : VerticalAlignment & 'center' ;
177
177
178
- @percentLengthProperty width : PercentLength ;
179
- @percentLengthProperty height : PercentLength ;
178
+ @percentLengthProperty ( { nonPaintProp : true } ) width : PercentLength ;
179
+ @percentLengthProperty ( { nonPaintProp : true } ) height : PercentLength ;
180
+ @percentLengthProperty ( { nonPaintProp : true } ) paddingLeft : PercentLength ;
181
+ @percentLengthProperty ( { nonPaintProp : true } ) paddingRight : PercentLength ;
182
+ @percentLengthProperty ( { nonPaintProp : true } ) paddingBottom : PercentLength ;
183
+ @percentLengthProperty ( { nonPaintProp : true } ) paddingTop : PercentLength ;
180
184
181
185
protected handleAlignment = false ;
182
186
@@ -197,10 +201,10 @@ export default abstract class Shape extends Observable {
197
201
if ( ! this . handleAlignment ) {
198
202
const availableWidth = Utils . layout . toDevicePixels ( canvas . getWidth ( ) ) ;
199
203
const availableHeight = Utils . layout . toDevicePixels ( canvas . getHeight ( ) ) ;
200
- const paddingLeft = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingLeft ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderLeftWidth ) ;
201
- const paddingRight = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingRight ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderRightWidth ) ;
202
- const paddingTop = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingTop ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderTopWidth ) ;
203
- const paddingBottom = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingBottom ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderBottomWidth ) ;
204
+ const paddingLeft = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingLeft ) + Utils . layout . toDeviceIndependentPixels ( PercentLength . toDevicePixels ( this . paddingLeft , 0 , availableWidth ) ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderLeftWidth ) ;
205
+ const paddingRight = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingRight ) + Utils . layout . toDeviceIndependentPixels ( PercentLength . toDevicePixels ( this . paddingRight , 0 , availableWidth ) ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderRightWidth ) ;
206
+ const paddingTop = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingTop ) + Utils . layout . toDeviceIndependentPixels ( PercentLength . toDevicePixels ( this . paddingTop , 0 , availableHeight ) ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderTopWidth ) ;
207
+ const paddingBottom = Utils . layout . toDeviceIndependentPixels ( parent . effectivePaddingBottom ) + Utils . layout . toDeviceIndependentPixels ( PercentLength . toDevicePixels ( this . paddingBottom , 0 , availableHeight ) ) + Utils . layout . toDeviceIndependentPixels ( parent . effectiveBorderBottomWidth ) ;
204
208
canvas . save ( ) ;
205
209
if ( paddingLeft > 0 ) {
206
210
canvas . translate ( paddingLeft , 0 ) ;
0 commit comments