Skip to main content

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.
  • 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.
  • 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)