Class “LinearGradient”
Represents a linear gradient. See also LinearGradientValue
| Type: | LinearGradient extends Object |
| Constructor: | public |
| Singleton: | No |
| Namespace: | tabris |
| Direct subclasses: | None |
| JSX Support: | No |
Examples
JavaScript
import {LinearGradient} from 'tabris';
const linearGradient = LinearGradient.from('linear-gradient(90deg, red, blue 50%, green)');
console.log(linearGradient.direction); // "90"
See also:
JS Creating various types of linear gradients [► Run in Playground]
Constructor
new LinearGradient(colorStops, direction?)
| Parameter | Type | Description |
|---|---|---|
| colorStops | Array<Color | [Color, Percent]> |
An array with at least one color stop. Defines the position and the offset of the gradient color stop. |
| direction | number |
The direction of the gradient line in degrees. Optional. |
Methods
equals(value)
Tests if the given value is a LinearGradient instance that is deeply equal to this one.
| Parameter | Type | Description |
|---|---|---|
| value | LinearGradient |
Returns: boolean
toString()
Returns a CSS string representation of the linear gradient.
Returns: string
Static Methods
from(linearGradientValue)
Creates a new instance of LinearGradient using any valid linear gradient expression. For any other value, including null and 'initial' the method throws.
| Parameter | Type | Description |
|---|---|---|
| linearGradientValue | LinearGradientValue |
The value to create a LinearGradient instance from |
Returns: LinearGradient
isLinearGradientValue(value)
Returns true if value is a LinearGradientValue. This includes null and 'initial'. Use this to check if a value will be accepted by a linear gradient property. This is also a valid TypeScript type guard function.
| Parameter | Type | Description |
|---|---|---|
| value | any |
The value to test |
Returns: boolean
isValidLinearGradientValue(value)
Returns true if value is a valid LinearGradientValue. This excludes null and 'initial'. Use this to check if a value will be accepted by LinearGradient.from. This is also a valid TypeScript type guard function.
| Parameter | Type | Description |
|---|---|---|
| value | any |
The value to test |
Returns: boolean
Properties
colorStops
An array with the gradient color stops. Defines the position and the offset of the gradient color stop.
| Type: | Array<Color | [Color, Percent]> |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
direction
The direction of the gradient line in degrees.
| Type: | number |
| Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
Related Types
LinearGradientValue
A LinearGradientValue specifies a set of colors, their relative position along a straight line, and the angle of that line. This describes a color gradient that can be drawn to fill any area, usually the background of a widget. This type allows various expressions that can all be used in place of a LinearGradient instance for convenience. All API that accept these expressions will convert them to a LinearGradient object.
In TypeScript you can import this type as a union with import {LinearGradientValue} from 'tabris'; or use tabris.LinearGradientValue. Type guards for LinearGradientValue are available as LinearGradient.isLinearGradientValue and LinearGradient.isValidLinearGradientValue.
The following are all valid LinearGradientValue types:
LinearGradientLikeObject
An object implementing the following interface:
interface LinearGradientLikeObject {
colorStops: Array<ColorValue | [ColorValue, PercentValue]>,
direction?: number | 'left' | 'top' | 'right' | 'bottom'
}
An instances of LinearGradient is a valid LinearGradientLikeObject, but LinearGradientLikeObject is less strict as it accepts more expressions for colorStops and direction.
Examples:
{colorStops: [['red', '5%'], 'green'], direction: 'left'}
{colorStops: [['red', '5%'], 'green'], direction: 45}
LinearGradient string
As a string, a subset of the CSS syntax is used:
<color-stop> ::= <color> [ <number>% ]
<linear-gradient> ::= linear-gradient(
[ <number>deg | to ( left | top | right | bottom ), ]
<color-stop> {, <color-stop>}
)
Examples:
"linear-gradient(red, green)"
"linear-gradient(to left, red 5%, green)"
"linear-gradient(45deg, red 5%, green)"