Kaba class Color ed

...

Syntax ed

class Color
    var a: f32
    var b: f32
    var g: f32
    var r: f32

    # constructors
    func mut __init__(r: f32, g: f32, b: f32, a: f32)

    # functions
    func pure hex() -> string
    func pure with_alpha(a: f32) -> Color
    func static pure hsb(h: f32, s: f32, b: f32, a: f32) -> Color
    func static pure mix(c1: Color, c2: Color, t: f32) -> Color

    # operators
    func pure __str__() -> string        # str(Color) -> string
    func mut __assign__(b: Color)        # Color = Color
    func pure __eq__(b: Color) -> bool   # Color == Color -> bool
    func pure __neq__(b: Color) -> bool  # Color __neq__ Color -> bool
    func pure __add__(b: Color) -> Color # Color + Color -> Color
    func mut __iadd__(b: Color)          # Color += Color
    func pure __sub__(b: Color) -> Color # Color - Color -> Color
    func mut __isub__(b: Color)          # Color -= Color
    func pure __mul__(b: f32) -> Color   # Color * f32 -> Color
    func pure __mul__(b: Color) -> Color # Color * Color -> Color

    # constants
    let BLACK: Color
    let BLUE: Color
    let GRAY: Color
    let GREEN: Color
    let ORANGE: Color
    let PURPLE: Color
    let RED: Color
    let WHITE: Color
    let YELLOW: Color

Functions ed

func pure hex() -> string
...

func pure with_alpha(a: f32) -> Color
...

func static pure hsb(h: f32, s: f32, b: f32, a: f32) -> Color
...

func static pure mix(c1: Color, c2: Color, t: f32) -> Color
...

Elements ed

var a: f32
...

var b: f32
...

var g: f32
...

var r: f32
...