Color
Color
is a utility module for color manipulation and gradient creation in Weo.
It provides functions to convert between RGBA, HEX, and LuaRT-compatible color values, and to generate linear or radial gradients for UI elements.
Color Utility
Functions
Color.fromRGBA()
Function
Color.fromRGBA(r, g, b, a)
- Creates a color from RGBA components. Parameters:
r
,g
,b
,a
number- Red, green, blue, and alpha values (0-255).
Returns:
number
number- The created color value.
Color.fromHEX()
Function
Color.fromHEX(hex)
- Creates a color from a HEX string.
Adds full alpha (
FF
) if missing.
Returns a random color if input is invalid.
Parameters:
hex
string- The input HEX string.
Returns:
number
number- The created color value.
Color.toLuaRTUnderstand()
Function
Color.toLuaRTUnderstand(color)
- Converts a color value to a LuaRT-compatible number.
- If input is already a number, returns it unchanged.
Parameters:
color
number- The input color value.
Returns:
number
number?- The converted color value.
Color.LinearGradient()
Function
Color.LinearGradient(Element, Colors, StartPoint, EndPoint, Opacity)
- Creates a linear gradient for a UI element.
Parameters:
Element
any- The UI element to apply the gradient to.
Colors
table- Table mapping positions
[0-1]
to color values.
- Table mapping positions
StartPoint
,EndPoint
Vector2- Normalized start and end points (Vector2).
Opacity
number?- Optional, defaults to 1.
- Gradient coordinates are automatically transformed relative to the element’s absolute position.
Returns:
LinearGradient
LinearGradient- The created gradient object.
Color.RadialGradient()
Function
Color.RadialGradient(Element, Colors, Center, Radius, Opacity)
- Creates a radial gradient for a UI element.
Parameters:
Element
any- The UI element to apply the gradient to.
Colors
table- Table mapping positions
[0-1]
to color values.
- Table mapping positions
Center
,Radius
Vector2- Normalized center and radius (Vector2).
Opacity
number?- Optional, defaults to 1.
- Gradient coordinates are automatically transformed relative to the element’s absolute position.
Returns:
RadialGradient
RadialGradient- The created gradient object.
Example
local myLGradient = Color.LinearGradient(myElement, { [0] = Color.fromHEX("#FF0000FF"), [0.5] = Color.fromHEX("#00FF00FF"), [1] = Color.fromHEX("#0000FFFF") }, Vector2.new(0, 0), Vector2.new(1, 1))
local myRGradient = Color.RadialGradient(myElement, { [0] = Color.fromHEX("#FF0000FF"), [0.5] = Color.fromHEX("#00FF00FF"), [1] = Color.fromHEX("#0000FFFF") }, Vector2.new(0.5, 0.5), Vector2.new(0.5, 0.5))
local myRGBA = Color.fromRGBA(255, 0, 0, 255)
local myHEX = Color.fromHEX("#FF0000FF")
local myColor = Color.toLuaRTUnderstand(myHEX)