Package ch.bailu.gtk.gdk
Class RGBA
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.type.Record
ch.bailu.gtk.gdk.RGBA
- All Implemented Interfaces:
PointerInterface
A `GdkRGBA` is used to represent a color, in a way that is compatible
with cairo’s notion of color.
`GdkRGBA` is a convenient way to pass colors around. It’s based on
cairo’s way to deal with colors and mirrors its behavior. All values
are in the range from 0.0 to 1.0 inclusive. So the color
(0.0, 0.0, 0.0, 0.0) represents transparent black and
(1.0, 1.0, 1.0, 1.0) is opaque white. Other values will
be clamped to this range when drawing.
with cairo’s notion of color.
`GdkRGBA` is a convenient way to pass colors around. It’s based on
cairo’s way to deal with colors and mirrors its behavior. All values
are in the range from 0.0 to 1.0 inclusive. So the color
(0.0, 0.0, 0.0, 0.0) represents transparent black and
(1.0, 1.0, 1.0, 1.0) is opaque white. Other values will
be clamped to this range when drawing.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The opacity of the color from 0.0 for completely translucent to
1.0 for opaquestatic final String
The intensity of the blue channel from 0.0 to 1.0 inclusivestatic final String
The intensity of the green channel from 0.0 to 1.0 inclusivestatic final String
The intensity of the red channel from 0.0 to 1.0 inclusive -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Makes a copy of a `GdkRGBA`.boolean
Compares two `GdkRGBA` colors.void
free()
Frees a `GdkRGBA`.static ClassHandler
float
The opacity of the color from 0.0 for completely translucent to
1.0 for opaquefloat
The intensity of the blue channel from 0.0 to 1.0 inclusivefloat
The intensity of the green channel from 0.0 to 1.0 inclusivefloat
The intensity of the red channel from 0.0 to 1.0 inclusivestatic int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
int
hash()
A hash function suitable for using for a hash
table that stores `GdkRGBA`s.boolean
isClear()
Checks if an @rgba value is transparent.boolean
isOpaque()
Checks if an @rgba value is opaque.boolean
Parses a textual representation of a color.boolean
Parses a textual representation of a color.void
setFieldAlpha
(float alpha) The opacity of the color from 0.0 for completely translucent to
1.0 for opaquevoid
setFieldBlue
(float blue) The intensity of the blue channel from 0.0 to 1.0 inclusivevoid
setFieldGreen
(float green) The intensity of the green channel from 0.0 to 1.0 inclusivevoid
setFieldRed
(float red) The intensity of the red channel from 0.0 to 1.0 inclusivetoStr()
Returns a textual specification of @rgba in the form
`rgb(r,g,b)` or `rgba(r,g,b,a)`, where “r”, “g”, “b” and
“a” represent the red, green, blue and alpha values
respectively.Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Field Details
-
RED
The intensity of the red channel from 0.0 to 1.0 inclusive- See Also:
-
GREEN
The intensity of the green channel from 0.0 to 1.0 inclusive- See Also:
-
BLUE
The intensity of the blue channel from 0.0 to 1.0 inclusive- See Also:
-
ALPHA
The opacity of the color from 0.0 for completely translucent to
1.0 for opaque- See Also:
-
-
Constructor Details
-
RGBA
-
RGBA
public RGBA()
-
-
Method Details
-
getClassHandler
-
setFieldRed
public void setFieldRed(float red) The intensity of the red channel from 0.0 to 1.0 inclusive -
getFieldRed
public float getFieldRed()The intensity of the red channel from 0.0 to 1.0 inclusive -
setFieldGreen
public void setFieldGreen(float green) The intensity of the green channel from 0.0 to 1.0 inclusive -
getFieldGreen
public float getFieldGreen()The intensity of the green channel from 0.0 to 1.0 inclusive -
setFieldBlue
public void setFieldBlue(float blue) The intensity of the blue channel from 0.0 to 1.0 inclusive -
getFieldBlue
public float getFieldBlue()The intensity of the blue channel from 0.0 to 1.0 inclusive -
setFieldAlpha
public void setFieldAlpha(float alpha) The opacity of the color from 0.0 for completely translucent to
1.0 for opaque -
getFieldAlpha
public float getFieldAlpha()The opacity of the color from 0.0 for completely translucent to
1.0 for opaque -
copy
Makes a copy of a `GdkRGBA`.
The result must be freed through [method@Gdk.RGBA.free].- Returns:
- A newly allocated `GdkRGBA`, with the same contents as @rgba
-
equal
Compares two `GdkRGBA` colors.- Parameters:
p2
- another `GdkRGBA`- Returns:
- %TRUE if the two colors compare equal
-
free
public void free()Frees a `GdkRGBA`. -
hash
public int hash()A hash function suitable for using for a hash
table that stores `GdkRGBA`s.- Returns:
- The hash value for @p
-
isClear
public boolean isClear()Checks if an @rgba value is transparent.
That is, drawing with the value would not produce any change.- Returns:
- %TRUE if the @rgba is clear
-
isOpaque
public boolean isOpaque()Checks if an @rgba value is opaque.
That is, drawing with the value will not retain any results
from previous contents.- Returns:
- %TRUE if the @rgba is opaque
-
parse
Parses a textual representation of a color.
The string can be either one of:
- A standard name (Taken from the Css specification).
- A hexadecimal value in the form “\#rgb”, “\#rrggbb”,
“\#rrrgggbbb” or ”\#rrrrggggbbbb”
- A hexadecimal value in the form “\#rgba”, “\#rrggbbaa”,
or ”\#rrrrggggbbbbaaaa”
- A RGB color in the form “rgb(r,g,b)” (In this case the color
will have full opacity)
- A RGBA color in the form “rgba(r,g,b,a)”
Where “r”, “g”, “b” and “a” are respectively the red, green,
blue and alpha color values. In the last two cases, “r”, “g”,
and “b” are either integers in the range 0 to 255 or percentage
values in the range 0% to 100%, and a is a floating point value
in the range 0 to 1.- Parameters:
spec
- the string specifying the color- Returns:
- %TRUE if the parsing succeeded
-
parse
Parses a textual representation of a color.
The string can be either one of:
- A standard name (Taken from the Css specification).
- A hexadecimal value in the form “\#rgb”, “\#rrggbb”,
“\#rrrgggbbb” or ”\#rrrrggggbbbb”
- A hexadecimal value in the form “\#rgba”, “\#rrggbbaa”,
or ”\#rrrrggggbbbbaaaa”
- A RGB color in the form “rgb(r,g,b)” (In this case the color
will have full opacity)
- A RGBA color in the form “rgba(r,g,b,a)”
Where “r”, “g”, “b” and “a” are respectively the red, green,
blue and alpha color values. In the last two cases, “r”, “g”,
and “b” are either integers in the range 0 to 255 or percentage
values in the range 0% to 100%, and a is a floating point value
in the range 0 to 1.- Parameters:
spec
- the string specifying the color- Returns:
- %TRUE if the parsing succeeded
-
toStr
Returns a textual specification of @rgba in the form
`rgb(r,g,b)` or `rgba(r,g,b,a)`, where “r”, “g”, “b” and
“a” represent the red, green, blue and alpha values
respectively. “r”, “g”, and “b” are represented as integers
in the range 0 to 255, and “a” is represented as a floating
point value in the range 0 to 1.
These string forms are string forms that are supported by
the CSS3 colors module, and can be parsed by [method@Gdk.RGBA.parse].
Note that this string representation may lose some precision,
since “r”, “g” and “b” are represented as 8-bit integers. If
this is a concern, you should use a different representation.- Returns:
- A newly allocated text string
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-