Prima::ColorDialog(3)
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>.