RayHsl class base
HSL color implementation with intuitive hue, saturation, and lightness controls.
Stored as high-precision doubles for optimal color accuracy.
- Inheritance
- Available extensions
Constructors
- RayHsl({required double hue, required double saturation, required double lightness, double opacity = 1.0})
- Creates a RayHsl from HSL components.
- RayHsl.empty()
- Creates a transparent black HSL color.
- RayHsl.fromComponents(num hue, num saturation, num lightness, [num opacity = 1.0])
-
Creates a RayHsl from individual HSLO component values.
factory
-
RayHsl.fromJson(Map<
String, dynamic> json) -
Creates a RayHsl for JSON deserialization.
factory
-
RayHsl.fromList(List<
num> values) -
Creates a RayHsl from a list of component values.
factory
Properties
- colorSpace → ColorSpace
-
The color space used by this Ray implementation.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setteroverride
- hue → double
-
The hue component in degrees (0.0-360.0).
no setter
- inverse → RayHsl
-
Returns the color with inverted color values, preserving opacity.
no setteroverride
- lightness → double
-
The lightness component (0.0-1.0).
no setter
- luminance → double
-
Returns the relative luminance of this HSL color.
no setteroverride
- opacity → double
-
The opacity of this color (0.0 = transparent, 1.0 = opaque).
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- saturation → double
-
The saturation component (0.0-1.0).
no setter
Methods
-
hueDifference(
RayHsl other) → double - Calculates the signed hue difference (-180° to 180°) considering color wheel circularity.
-
hueDistance(
RayHsl other) → double - Calculates the absolute hue distance (0-180°) using shortest path on color wheel.
-
lerp(
Ray other, double t) → RayHsl -
Linearly interpolates between this color and
other.override -
lightnessDifference(
RayHsl other) → double - Calculates the signed lightness difference (other - this).
-
lightnessDistance(
RayHsl other) → double - Calculates the absolute lightness distance.
-
maxContrast(
Ray a, Ray b) → Ray -
Returns the color (
aorb) with the highest contrast to this color.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
saturationDifference(
RayHsl other) → double - Calculates the signed saturation difference (other - this).
-
saturationDistance(
RayHsl other) → double - Calculates the absolute saturation distance.
-
toColor(
) → Color -
Available on Ray, provided by the RayToFlutterColor extension
Converts this RayRgb8 to a Flutter Color. -
toColorSpace<
T extends Ray> () → T -
Converts this color to a different color space.
inherited
-
toColorWithOpacity(
double opacity) → Color -
Available on Ray, provided by the RayToFlutterColor extension
Converts this Ray to a Flutter Color with specific opacity. -
toHsl(
) → RayHsl -
Converts this color to HSL representation.
override
-
toJson(
) → Map< String, dynamic> -
Returns the color as a JSON-serializable value.
override
-
toList(
) → List< num> -
Returns the color components as a list.
override
-
toOklab(
) → RayOklab -
Converts this color to Oklab representation.
override
-
toOklch(
) → RayOklch -
Converts this color to Oklch representation.
override
-
toRgb16(
) → RayRgb16 -
Converts this color to 16-bit RGB representation.
override
-
toRgb8(
) → RayRgb8 -
Converts this color to 8-bit RGB representation.
inherited
-
toString(
) → String -
A string representation of this object.
override
-
withHue(
double hue) → RayHsl - Creates a new RayHsl with different hue (normalized to 0.0-360.0).
-
withLightness(
double lightness) → RayHsl - Creates a new RayHsl with the same HS values but different lightness.
-
withOpacity(
double opacity) → RayHsl -
Creates a new color with different opacity (0.0-1.0).
override
-
withSaturation(
double saturation) → RayHsl - Creates a new RayHsl with the same HL values but different saturation.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override