NAME¶
Prima::ColorDialog - standard color selection facilities
SYNOPSIS¶
use Prima qw(StdDlg Application);
my $p = Prima::ColorDialog-> create(
quality => 1,
);
printf "color: %06x", $p-> value if $p-> execute == mb::OK;
DESCRIPTION¶
The module contains two packages, "Prima::ColorDialog" and
"Prima::ColorComboBox", used as standard tools for interactive color
selection. "Prima::ColorComboBox" is a modified combo widget, which
provides selecting from predefined palette but also can invoke
"Prima::ColorDialog" window.
Prima::ColorDialog¶
Properties¶
- quality BOOLEAN
- Used to increase visual quality of the dialog if run on
paletted displays.
Default value: 0
- value COLOR
- Selects the color, represented by the color wheel and other
dialog controls.
Default value: "cl::White"
Methods¶
- hsv2rgb HUE, SATURATION, LUMINOSITY
- Converts color from HSV to RGB format and returns three
integer values, red, green, and blue components.
- rgb2hsv RED, GREEN, BLUE
- Converts color from RGB to HSV format and returns three
numerical values, hue, saturation, and luminosity components.
- rgb2value RED, GREEN, BLUE
- Combines separate channels into single 24-bit RGB value and
returns the result.
- value2rgb COLOR
- Splits 24-bit RGB value into three channels, red, green,
and blue and returns three integer values.
- xy2hs X, Y, RADIUS
- Maps X and Y coordinate values onto a color wheel with
RADIUS in pixels. The code uses RADIUS = 119 for mouse position coordinate
mapping. Returns three values, - hue, saturation and error flag. If error
flag is set, the conversion has failed.
- hs2xy HUE, SATURATION
- Maps hue and saturation onto 256-pixel wide color wheel,
and returns X and Y coordinates of the corresponding point.
- create_wheel SHADES, BACK_COLOR
- Creates a color wheel with number of SHADES given, drawn on
a BACK_COLOR background, and returns a "Prima::DeviceBitmap"
object.
- create_wheel_shape SHADES
- Creates a circular 1-bit mask, with radius derived from
SHAPES. SHAPES must be same as passed to create_wheel. Returns
"Prima::Image" object.
Events¶
- BeginDragColor $PROPERTY
- Called when the user starts dragginh a color from the color
wheel by with left mouse button and combination of Alt, Ctrl, and Shift
keys. $PROPERTY is one of "Prima::Widget" color properties, and
depends on combination of keys:
Alt backColor
Ctrl color
Alt+Shift hiliteBackColor
Ctrl+Shift hiliteColor
Ctrl+Alt disabledColor
Ctrl+Alt+Shift disabledBackColor
Default action reflects the property to be changes in the dialog title
- Change
- The notification is called when the value property is
changed, either interactively or as a result of direct call.
- EndDragColor $PROPERTY, $WIDGET
- Called when the user releases the mouse drag over a Prima
widget. Default action sets "$WIDGET->$PROPERTY" to the
current color value.
Variables¶
- $colorWheel
- Contains cached result of create_wheel call.
- $colorWheelShape
- Contains cached result of create_wheel_shape call.
Prima::ColorComboBox¶
Events¶
- Colorify INDEX, COLOR_PTR
- "nt::Action" callback, designed to map combo
palette index into a RGB color. INDEX is an integer from 0 to colors - 1,
COLOR_PTR is a reference to a result scalar, where the notification is
expected to write the resulting color.
Properties¶
- colors INTEGER
- Defines amount of colors in the fixed palette of the combo
box.
- value COLOR
- Contains the color selection as 24-bit integer value.
SEE ALSO¶
Prima, Prima::ComboBox,
examples/cv.pl.
AUTHOR¶
Dmitry Karasik, <dmitry@karasik.eu.org>.