All units ceil up, except percents that do round

This commit is contained in:
Panayot Cankov
2017-03-15 16:45:13 +02:00
parent e151c4dc4e
commit 2bd9d6f167
3 changed files with 12 additions and 12 deletions

View File

@@ -552,11 +552,11 @@ function createNativePercentLengthProperty(options: NativePercentLengthPropertyO
if (length == "auto") { // tslint:disable-line if (length == "auto") { // tslint:disable-line
setPixels(this.nativeView, auto); setPixels(this.nativeView, auto);
} else if (typeof length === "number") { } else if (typeof length === "number") {
setPixels(this.nativeView, length * layout.getDisplayDensity()); setPixels(this.nativeView, Math.ceil(length * layout.getDisplayDensity()));
} else if (length.unit == "dip") { // tslint:disable-line } else if (length.unit == "dip") { // tslint:disable-line
setPixels(this.nativeView, length.value * layout.getDisplayDensity()); setPixels(this.nativeView, Math.ceil(length.value * layout.getDisplayDensity()));
} else if (length.unit == "px") { // tslint:disable-line } else if (length.unit == "px") { // tslint:disable-line
setPixels(this.nativeView, length.value); setPixels(this.nativeView, Math.ceil(length.value));
} else if (length.unit == "%") { // tslint:disable-line } else if (length.unit == "%") { // tslint:disable-line
setPercent(this.nativeView, length.value); setPercent(this.nativeView, length.value);
} else { } else {

View File

@@ -91,10 +91,10 @@ export module ad {
// TODO: Can we move BorderWidths as separate native setter? // TODO: Can we move BorderWidths as separate native setter?
// This way we could skip setPadding if borderWidth is not changed. // This way we could skip setPadding if borderWidth is not changed.
let leftPadding = Math.round(view.effectiveBorderLeftWidth + view.effectivePaddingLeft); let leftPadding = Math.ceil(view.effectiveBorderLeftWidth + view.effectivePaddingLeft);
let topPadding = Math.round(view.effectiveBorderTopWidth + view.effectivePaddingTop); let topPadding = Math.ceil(view.effectiveBorderTopWidth + view.effectivePaddingTop);
let rightPadding = Math.round(view.effectiveBorderRightWidth + view.effectivePaddingRight); let rightPadding = Math.ceil(view.effectiveBorderRightWidth + view.effectivePaddingRight);
let bottomPadding = Math.round(view.effectiveBorderBottomWidth + view.effectivePaddingBottom); let bottomPadding = Math.ceil(view.effectiveBorderBottomWidth + view.effectivePaddingBottom);
nativeView.setPadding( nativeView.setPadding(
leftPadding, leftPadding,

View File

@@ -59,16 +59,16 @@ function toDevicePixelsCommon(length: PercentLength, auto: number, parentAvailab
return auto; return auto;
} }
if (typeof length === "number") { if (typeof length === "number") {
return Math.round(layout.getDisplayDensity() * length); return Math.ceil(layout.getDisplayDensity() * length);
} }
switch (length.unit) { switch (length.unit) {
case "px": case "px":
return Math.round(length.value); return Math.ceil(length.value);
default:
case "dip":
return Math.round(layout.getDisplayDensity() * length.value);
case "%": case "%":
return Math.round(parentAvailableWidth * length.value); return Math.round(parentAvailableWidth * length.value);
case "dip":
default:
return Math.ceil(layout.getDisplayDensity() * length.value);
} }
} }