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>.