Class: FocusLineBorder

ht.ui.border. FocusLineBorder

new FocusLineBorder(width, color, focusColor, radius)

FocusLineBorder 类从 ht.ui.border.Border 继承,在组件的画布上根据组件 focus 状态绘制不同颜色的直线边框;使用此边框时需要将组件的 redrawOnFocus 属性设为 true

Parameters:
Name Type Argument Description
width Number | Array <optional>

边框宽度

color color <optional>

边框颜色

focusColor focusColor <optional>

focus 状态时的边框颜色

radius Number | Array <optional>

圆角半径

Example
button.setBorder(new ht.ui.border.FocusLineBorder(1, 'red', 'green'));
button.setRedrawOnFocus(true);

Extends

Methods

addPropertyChangeListener(listener, scope, ahead)

增加属性事件变化监听函数

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

ahead Boolean <optional>

是否将当前监听器插入到监听器列表开头

Inherited From:

drawBorder(x, y, width, height, view, dom)

绘制 border,如果自定义 border,都需要重写此函数

Parameters:
Name Type Argument Description
x Number

绘制范围的 x 坐标

y Number

绘制范围的 y 坐标

width Number

绘制范围的宽度

height Number

绘制范围的高度

view ht.View

当前在绘制的组件

dom HTMLElement <optional>

当前在绘制的 dom 对象,绝大多数组件无需考虑这个参数(因为只有一个绘制 canvas),特殊情况下如右键菜单,每个子菜单都是一个单独的 canvas,这种情况下才有这个参数

Inherited From:

firePropertyChange(property, oldValue, newValue, compareFunc) → {Boolean}

派发属性变化事件

Parameters:
Name Type Argument Description
property String

属性名

oldValue Object

属性变化之前的值

newValue Object

属性变化之后的值

compareFunc function <optional>

比较函数,用于比较新值和旧值是否一致,如果一致则不会派发事件

Inherited From:
Returns:

事件是否派发成功

Type
Boolean

fp(property, oldValue, newValue, compareFunc) → {Boolean}

派发属性变化事件,firePropertyChange 的缩写

Parameters:
Name Type Argument Description
property String

属性名

oldValue Object

属性变化之前的值

newValue Object

属性变化之后的值

compareFunc function <optional>

比较函数,用于比较新值和旧值是否一致,如果一致则不会派发事件

Inherited From:
Returns:

事件是否派发成功

Type
Boolean

getBottom() → {Number}

返回边框底部的高度

Inherited From:
Returns:

底部高度

Type
Number

getColor() → {color}

返回边框颜色

Returns:

颜色值

Type
color

getFocusColor() → {color}

返回 focus 状态时的边框颜色

Returns:

颜色值

Type
color

getLeft() → {Number}

返回边框左侧的宽度

Inherited From:
Returns:

左侧宽度

Type
Number

getRadius() → {Number|Array}

返回边框圆角半径

Returns:

边框圆角半径

Type
Number | Array

getRight() → {Number}

返回边框右侧的宽度

Inherited From:
Returns:

右侧宽度

Type
Number

getSerializableProperties() → {Object}

获取可序列化的属性

Inherited From:
Returns:

属性 map

Type
Object

getTop() → {Number}

返回边框顶部的高度

Inherited From:
Returns:

顶部高度

Type
Number

getWidth() → {Number|Array}

返回边框宽度

Returns:

边框宽度,默认为 1

Type
Number | Array

isCSSBorder() → {Boolean}

此边框是否使用 CSS 设置 border

Inherited From:
Returns:

是否是 CSS border

Type
Boolean

mp(listener, scope, ahead)

增加属性事件变化监听函数,addPropertyChangeListener 的缩写

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

ahead Boolean <optional>

是否将当前监听器插入到监听器列表开头

Inherited From:

removePropertyChangeListener(listener, scope)

删除属性事件变化监听器

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

Inherited From:

setColor(color)

设置边框颜色

Parameters:
Name Type Description
color color

颜色值

setFocusColor(focusColor)

设置 focus 状态时的边框颜色

Parameters:
Name Type Description
focusColor color

颜色值

setRadius(radius)

设置边框圆角半径

Parameters:
Name Type Description
radius Number | Array

边框圆角半径,如果为数组则表示:[左上角圆角, 右上角圆角, 右下角圆角, 左下角圆角]

setWidth(width)

设置边框宽度

Parameters:
Name Type Description
width Number | Array

边框宽度,默认为 1;如果为数组表示:[上边框宽度、右边框宽度、下边框宽度、左边框宽度]

tearDownBorder(x, y, width, height, view, dom)

border 被卸载时调用,只有 CSS border 才需要重写这个函数将 CSS 清除,一般用 canvas 绘制的 border 无需重写此函数

Parameters:
Name Type Argument Description
x Number

绘制范围的 x 坐标

y Number

绘制范围的 y 坐标

width Number

绘制范围的宽度

height Number

绘制范围的高度

view ht.View

当前在绘制的组件

dom HTMLElement <optional>

当前在绘制的 dom 对象,绝大多数组件无需考虑这个参数(因为只有一个绘制 canvas),特殊情况下如右键菜单,每个子菜单都是一个单独的 canvas,这种情况下才有这个参数

Inherited From:

ump(listener, scope)

删除属性事件变化监听器,removePropertyChangeListener 的缩写

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

函数域

Inherited From:
© 2017 Hightopo Inc. All rights reserved. - Email: service@hightopo.com