Skip to content

Gdk.ColorState

record (struct)

Provides information to interpret colors and pixels in a variety of ways.

They are also known as color spaces.

Crucially, GTK knows how to convert colors from one color state to another.

GdkColorState objects are immutable and therefore threadsafe.

Methods

create_cicp_params

def create_cicp_params(self) -> CicpParams | None

Create a CicpParams representing the colorstate.

It is not guaranteed that every GdkColorState can be represented with Cicp parameters. If that is the case, this function returns NULL.

equal

def equal(self, other: ColorState) -> bool

Compares two GdkColorStates for equality.

Note that this function is not guaranteed to be perfect and two objects describing the same color state may compare not equal. However, different color states will never compare equal.

Parameters:

  • other — another GdkColorStatee

equivalent

def equivalent(self, other: ColorState) -> bool

Compares two GdkColorStates for equivalence.

Two objects that represent the same color state should be equivalent, even though they may not be equal in the sense of ColorState.equal.

Parameters:

  • other — another GdkColorStatee

ref

def ref(self) -> ColorState

Increase the reference count of self.

unref

def unref(self) -> None

Decrease the reference count of self.

Unless self is static, it will be freed when the reference count reaches zero.

Static functions

get_oklab

@staticmethod
def get_oklab() -> ColorState

Returns the color state object representing the oklab color space.

This is a perceptually uniform color state.

get_oklch

@staticmethod
def get_oklch() -> ColorState

Returns the color state object representing the oklch color space.

This is the polar variant of oklab, in which the hue is encoded as a polar coordinate.

get_rec2100_linear

@staticmethod
def get_rec2100_linear() -> ColorState

Returns the color state object representing the linear rec2100 color space.

This color state uses the primaries defined by BT.2020-2 and BT.2100-0 and a linear transfer function.

It is equivalent to the Cicp tuple 9/8/0/1.

See e.g. the CSS HDR Module for details about this colorstate.

get_rec2100_pq

@staticmethod
def get_rec2100_pq() -> ColorState

Returns the color state object representing the rec2100-pq color space.

This color state uses the primaries defined by BT.2020-2 and BT.2100-0 and the transfer function defined by SMPTE ST 2084 and BT.2100-2.

It is equivalent to the Cicp tuple 9/16/0/1.

See e.g. the CSS HDR Module for details about this colorstate.

get_srgb

@staticmethod
def get_srgb() -> ColorState

Returns the color state object representing the sRGB color space.

This color state uses the primaries defined by BT.709-6 and the transfer function defined by IEC 61966-2-1.

It is equivalent to the Cicp tuple 1/13/0/1.

See e.g. the CSS Color Module for details about this colorstate.

get_srgb_linear

@staticmethod
def get_srgb_linear() -> ColorState

Returns the color state object representing the linearized sRGB color space.

This color state uses the primaries defined by BT.709-6 and a linear transfer function.

It is equivalent to the Cicp tuple 1/8/0/1.

See e.g. the CSS Color Module for details about this colorstate.