mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
40 lines
1.8 KiB
TypeScript
40 lines
1.8 KiB
TypeScript
import definition = require("ui/border");
|
|
import contentView = require("ui/content-view");
|
|
import viewModule = require("ui/core/view");
|
|
import utils = require("utils/utils");
|
|
|
|
@Deprecated
|
|
export class Border extends contentView.ContentView implements definition.Border {
|
|
get cornerRadius(): number {
|
|
return this.borderRadius;
|
|
}
|
|
set cornerRadius(value: number) {
|
|
this.borderRadius = value;
|
|
}
|
|
|
|
public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void {
|
|
var width = utils.layout.getMeasureSpecSize(widthMeasureSpec);
|
|
var widthMode = utils.layout.getMeasureSpecMode(widthMeasureSpec);
|
|
|
|
var height = utils.layout.getMeasureSpecSize(heightMeasureSpec);
|
|
var heightMode = utils.layout.getMeasureSpecMode(heightMeasureSpec);
|
|
|
|
var density = utils.layout.getDisplayDensity();
|
|
var borderSize = (2 * this.borderWidth) * density;
|
|
|
|
var result = viewModule.View.measureChild(this, this.layoutView,
|
|
utils.layout.makeMeasureSpec(width - borderSize, widthMode),
|
|
utils.layout.makeMeasureSpec(height - borderSize, heightMode));
|
|
|
|
var widthAndState = viewModule.View.resolveSizeAndState(result.measuredWidth + borderSize, width, widthMode, 0);
|
|
var heightAndState = viewModule.View.resolveSizeAndState(result.measuredHeight + borderSize, height, heightMode, 0);
|
|
|
|
this.setMeasuredDimension(widthAndState, heightAndState);
|
|
}
|
|
|
|
public onLayout(left: number, top: number, right: number, bottom: number): void {
|
|
var density = utils.layout.getDisplayDensity();
|
|
var borderSize = this.borderWidth * density;
|
|
viewModule.View.layoutChild(this, this.layoutView, borderSize, borderSize, right - left - borderSize, bottom - top - borderSize);
|
|
}
|
|
} |