Prima::Const - predefined constants
Prima::Const and Prima::Classes for a minimal set of perl modules needed for the toolkit. Since the module provides bindings for the core constants, it is required to be included in every Prima-related module and program.
Prima::Const
The constants are collected under the top-level package names, with no Prima:: prefix. This violates the perl guidelines about package naming, however, it was considered way too inconvenient to prefix every constant with a Prima:: string.
Prima::
This document describes all constants defined in the core. The constants are also described in the articles together with the corresponding methods and properties. For example, the nt constants are also described in the "Flow" in Prima::Object article.
nt
See also "autoMasking" in Prima::Image
am::None - no mask update performed am::MaskColor - mask update based on Prima::Icon::maskColor property am::MaskIndex - mask update based on Prima::Icon::maskIndex property am::Auto - mask update based on corner pixel values
See "get_system_info" in Prima::Application
apc::Win32 apc::Unix
See "borderIcons" in Prima::Window
bi::SystemMenu - the system menu button and/or close button ( usually with the icon ) bi::Minimize - minimize button bi::Maximize - maximize/restore button bi::TitleBar - the window title bi::All - all of the above
See "borderStyle" in Prima::Window
bs::None - no border bs::Single - thin border bs::Dialog - thick border bs::Sizeable - border that can be resized
See "colorIndex" in Prima::Widget
ci::NormalText or ci::Fore ci::Normal or ci::Back ci::HiliteText ci::Hilite ci::DisabledText ci::Disabled ci::Light3DColor ci::Dark3DColor ci::MaxId
cl::Black cl::Blue cl::Green cl::Cyan cl::Red cl::Magenta cl::Brown cl::LightGray cl::DarkGray cl::LightBlue cl::LightGreen cl::LightCyan cl::LightRed cl::LightMagenta cl::Yellow cl::White cl::Gray
cl::NormalText, cl::Fore cl::Normal, cl::Back cl::HiliteText cl::Hilite cl::DisabledText cl::Disabled cl::Light3DColor cl::Dark3DColor cl::MaxSysColor
See "Colors" in Prima::gp_problems
cl::Set - logical all-1 color cl::Clear - logical all-0 color cl::Invalid - invalid color value cl::SysFlag - indirect color constant bit set cl::SysMask - indirect color constant bit clear mask
See "key_down" in Prima::Widget, "mouse_down" in Prima::Widget
cm::KeyDown cm::KeyUp cm::MouseDown cm::MouseUp cm::MouseClick cm::MouseWheel cm::MouseMove cm::MouseEnter cm::MouseLeave
cm::Close cm::Create cm::Destroy cm::Hide cm::Show cm::ReceiveFocus cm::ReleaseFocus cm::Paint cm::Repaint cm::Size cm::Move cm::ColorChanged cm::ZOrderChanged cm::Enable cm::Disable cm::Activate cm::Deactivate cm::FontChanged cm::WindowState cm::Timer cm::Click cm::CalcBounds cm::Post cm::Popup cm::Execute cm::Setup cm::Hint cm::DragDrop cm::DragOver cm::EndDrag cm::Menu cm::EndModal cm::MenuCmd cm::TranslateAccel cm::DelegateKey
See "pointerType" in Prima::Widget
cr::Default same pointer type as owner's cr::Arrow arrow pointer cr::Text text entry cursor-like pointer cr::Wait hourglass cr::Size general size action pointer cr::Move general move action pointer cr::SizeWest, cr::SizeW right-move action pointer cr::SizeEast, cr::SizeE left-move action pointer cr::SizeWE general horizontal-move action pointer cr::SizeNorth, cr::SizeN up-move action pointer cr::SizeSouth, cr::SizeS down-move action pointer cr::SizeNS general vertical-move action pointer cr::SizeNW up-right move action pointer cr::SizeSE down-left move action pointer cr::SizeNE up-left move action pointer cr::SizeSW down-right move action pointer cr::Invalid invalid action pointer cr::DragNone pointer for an invalid dragging target cr::DragCopy pointer to indicate that a dnd::Copy action can be accepted cr::DragMove pointer to indicate that a dnd::Move action can be accepted cr::DragLink pointer to indicate that a dnd::Link action can be accepted cr::Crosshair the crosshair pointer cr::UpArrow arrow directed upwards cr::QuestionArrow question mark pointer cr::User user-defined icon
dbt::Bitmap monochrome 1-bit bitmap dbt::Pixmap bitmap compatible with display format dbt::Layered bitmap compatible with display format with alpha channel
dnd::None no DND action was selected or performed dnd::Copy copy action dnd::Move move action dnd::Link link action dnd::Mask combination of all valid actions
Returns true if ACTIONS is not a combination of dnd:: constants.
ACTIONS
dnd::
Returns a cr:: constant corresponding to the ACTION
cr::
ACTION
Selects the best single action from a combination of allowed ACTIONS
Returns a km:: keyboard modifier constant that would initiate ACTION if the user presses it during a DND session. Returns 0 for dnd::Copy which is the standard action to be performed without any modifiers.
km::
dnd::Copy
See "query_drive_type" in Prima::Utils
dt::None dt::Unknown dt::Floppy dt::HDD dt::Network dt::CDROM dt::Memory
dt::Left - text is aligned to the left boundary dt::Right - text is aligned to the right boundary dt::Center - text is aligned horizontally in the center dt::Top - text is aligned to the upper boundary dt::Bottom - text is aligned to the lower boundary dt::VCenter - text is aligned vertically in the center dt::DrawMnemonic - tilde-escapement and underlining is used dt::DrawSingleChar - sets tw::BreakSingle option to Prima::Drawable::text_wrap call dt::NewLineBreak - sets tw::NewLineBreak option to Prima::Drawable::text_wrap call dt::SpaceBreak - sets tw::SpaceBreak option to Prima::Drawable::text_wrap call dt::WordBreak - sets tw::WordBreak option to Prima::Drawable::text_wrap call dt::ExpandTabs - performs tab character ( \t ) expansion dt::DrawPartial - draws the last line, if it is visible partially dt::UseExternalLeading- text lines positioned vertically with respect to the font external leading dt::UseClip - assign ::clipRect property to the boundary rectangle dt::QueryLinesDrawn - calculates and returns the number of lines drawn ( contrary to dt::QueryHeight ) dt::QueryHeight - if set, calculates and returns vertical extension of the lines drawn dt::NoWordWrap - performs no word wrapping by the width of the boundaries dt::WordWrap - performs word wrapping by the width of the boundaries dt::Default - dt::NewLineBreak|dt::WordBreak|dt::ExpandTabs| dt::UseExternalLeading
See Prima::FindDialog
fdo::MatchCase fdo::WordsOnly fdo::RegularExpression fdo::BackwardSearch fdo::ReplacePrompt
fds::Cursor fds::Top fds::Bottom
See Prima::File
fe::Read fe::Write fe::Exception
See "fillMode" in Prima::Drawable
fp::Alternate fp::Winding fp::Overlay
See "fillPattern" in Prima::Drawable
fp::Empty fp::Solid fp::Line fp::LtSlash fp::Slash fp::BkSlash fp::LtBkSlash fp::Hatch fp::XHatch fp::Interleave fp::WideDot fp::CloseDot fp::SimpleDots fp::Borland fp::Parquet
Given a result from Drawable::fillPattern, an 8x8 array of integers, checks whether the array matches one of the builtin fp:: constants, and returns one if found. Returns undef otherwise.
Drawable::fillPattern
fp::
Given a result from Drawable::fillPattern, an 8x8 array of integers, checks if the array is all zeros
Given a result from Drawable::fillPattern, an 8x8 array of integers, checks if the array is all ones (ie 0xff)
Returns a set of string-encoded fill patterns that correspond to the builtin fp:: constants. These are not suitable for use in Drawable::fillPatterns.
Drawable::fillPatterns
See "pitch" in Prima::Drawable
fp::Default fp::Fixed fp::Variable
See "fetch_resource" in Prima::Widget
fr::Color fr::Font fs::String
See "style" in Prima::Drawable
fs::Normal fs::Bold fs::Thin fs::Italic fs::Underlined fs::StruckOut fs::Outline
See "weight" in Prima::Drawable
fw::UltraLight fw::ExtraLight fw::Light fw::SemiLight fw::Medium fw::SemiBold fw::Bold fw::ExtraBold fw::UltraBold
ggo::Move ggo::Line ggo::Conic ggo::Cubic
See also "render_glyph" in Prima::Drawable
See "growMode" in Prima::Widget
gm::GrowLoX widget's left side is kept in constant distance from the owner's right side gm::GrowLoY widget's bottom side is kept in constant distance from the owner's top side gm::GrowHiX widget's right side is kept in constant distance from the owner's right side gm::GrowHiY widget's top side is kept in constant distance from the owner's top side gm::XCenter widget is kept in the center on its owner's horizontal axis gm::YCenter widget is kept in the center on its owner's vertical axis gm::DontCare widgets origin is constant relative to the screen
gm::GrowAll gm::GrowLoX|gm::GrowLoY|gm::GrowHiX|gm::GrowHiY gm::Center gm::XCenter|gm::YCenter gm::Client gm::GrowHiX|gm::GrowHiY gm::Right gm::GrowLoX|gm::GrowHiY gm::Left gm::GrowHiY gm::Floor gm::GrowHiX
gui::Default gui::Windows gui::XLib gui::GTK
See "lineEnd" in Prima::Drawable
le::Flat le::Square le::Round le::Arrow le::Cusp le::InvCusp le::Knob le::Rect le::RoundRect le::Spearhead le::Tail
Functions:
le::transform($matrix) le::scale($scalex, [$scaley = $scalex])
lei::LineTail lei::LineHead lei::ArrowTail lei::ArrowHead lei::Max lei::Only
See "lineEndIndex" in Prima::Drawable
See "lineJoin" in Prima::Drawable
lj::Round lj::Bevel lj::Miter
See "linePattern" in Prima::Drawable
lp::Null # "" /* */ lp::Solid # "\1" /* ___________ */ lp::Dash # "\x9\3" /* __ __ __ __ */ lp::LongDash # "\x16\6" /* _____ _____ */ lp::ShortDash # "\3\3" /* _ _ _ _ _ _ */ lp::Dot # "\1\3" /* . . . . . . */ lp::DotDot # "\1\1" /* ............ */ lp::DashDot # "\x9\6\1\3" /* _._._._._._ */ lp::DashDotDot # "\x9\3\1\3\1\3" /* _.._.._.._.. */
See "type" in Prima::Image.
im::bpp1 im::bpp4 im::bpp8 im::bpp16 im::bpp24 im::bpp32 im::bpp64 im::bpp128
im::Color im::GrayScale im::RealNumber im::ComplexNumber im::TrigComplexNumber im::SignedInt
im::Mono - im::bpp1 im::BW - im::bpp1 | im::GrayScale im::16 - im::bpp4 im::Nibble - im::bpp4 im::256 - im::bpp8 im::RGB - im::bpp24 im::Triple - im::bpp24 im::Byte - gray 8-bit unsigned integer im::Short - gray 16-bit unsigned integer im::Long - gray 32-bit unsigned integer im::Float - float im::Double - double im::Complex - dual float im::DComplex - dual double im::TrigComplex - dual float im::TrigDComplex - dual double
im::fmtBGR im::fmtRGBI im::fmtIRGB im::fmtBGRI im::fmtIBGR
im::BPP - bit depth constants im::Category - category constants im::FMT - extra format constants
See "conversion" in Prima::Image.
ict::None - no dithering, with static palette or palette optimized by the source palette ict::Posterization - no dithering, with palette optimized by the source pixels ict::Ordered - 8x8 ordered halftone dithering ict::ErrorDiffusion - error diffusion dithering with a static palette ict::Optimized - error diffusion dithering with an optimized palette
Their values are combinations of ictp:: and ictd:: constants, see below.
ictp::
ictd::
These constants select the color correction (dithering) algorithm when downsampling an image
ictd::None - no dithering, pure colors only ictd::Ordered - 8x8 ordered halftone dithering (checkerboard) ictd::ErrorDiffusion - error diffusion dithering (2/5 down, 2/5 right, 1/5 down/right)
These constants select how the target palette is made up when downsampling an image.
ictp::Unoptimized - use whatever color mapping method is fastest, image quality can be severely compromised ictp::Cubic - use static cubic palette; a bit slower, guaranteed mediocre quality ictp::Optimized - collect available colors in the image; slowest, gives the best results
Not all combinations of ictp and ictd constants are valid
See "stats" in Prima::Image.
is::RangeLo - minimum pixel value is::RangeHi - maximum pixel value is::Mean - mean value is::Variance - variance is::StdDev - standard deviation is::Sum - the sum of pixel values is::Sum2 - the sum of squares of pixel values
ist::None - image stripped or padded with zeros ist::Box - the image will be scaled using a simple box transform ist::BoxX - columns behave as ist::None, rows as ist::Box ist::BoxY - rows behave as in ist::None, columns as ist::Box ist::AND - shrunken pixels AND-end together (black-on-white images) ist::OR - shrunken pixels OR-end together (white-on-black images) ist::Triangle - bilinear interpolation ist::Quadratic - 2nd order (quadratic) B-Spline approximation of the Gaussian ist::Sinc - sine function ist::Hermite - B-Spline interpolation ist::Cubic - 3rd order (cubic) B-Spline approximation of the Gaussian ist::Gaussian - Gaussian transform with gamma=0.5
See "scaling" in Prima::Image.
See also "KeyDown" in Prima::Widget.
kb::ShiftL kb::ShiftR kb::CtrlL kb::CtrlR kb::AltL kb::AltR kb::MetaL kb::MetaR kb::SuperL kb::SuperR kb::HyperL kb::HyperR kb::CapsLock kb::NumLock kb::ScrollLock kb::ShiftLock
kb::Backspace kb::Tab kb::Linefeed kb::Enter kb::Return kb::Escape kb::Esc kb::Space
kb::F1 .. kb::F30 kb::L1 .. kb::L10 kb::R1 .. kb::R10
kb::Clear kb::Pause kb::SysRq kb::SysReq kb::Delete kb::Home kb::Left kb::Up kb::Right kb::Down kb::PgUp kb::Prior kb::PageUp kb::PgDn kb::Next kb::PageDown kb::End kb::Begin kb::Select kb::Print kb::PrintScr kb::Execute kb::Insert kb::Undo kb::Redo kb::Menu kb::Find kb::Cancel kb::Help kb::Break kb::BackTab
kb::CharMask - character codes kb::CodeMask - virtual key codes ( all other kb:: values ) kb::ModMask - km:: values
km::Shift km::Ctrl km::Alt km::KeyPad km::DeadKey km::Unicode
See "get_modal" in Prima::Window, "get_modal_window" in Prima::Window
mt::None mt::Shared mt::Exclusive
Used in Prima::Component::notification_types to describe event flow.
Prima::Component::notification_types
See also "Flow" in Prima::Object.
nt::PrivateFirst nt::CustomFirst
nt::FluxReverse nt::FluxNormal
nt::Single nt::Multiple nt::Event
nt::Default ( PrivateFirst | Multiple | FluxReverse) nt::Property ( PrivateFirst | Single | FluxNormal ) nt::Request ( PrivateFirst | Event | FluxNormal ) nt::Notification ( CustomFirst | Multiple | FluxReverse ) nt::Action ( CustomFirst | Single | FluxReverse ) nt::Command ( CustomFirst | Event | FluxReverse )
See also "MouseDown" in Prima::Widget.
mb::b1 or mb::Left mb::b2 or mb::Middle mb::b3 or mb::Right mb::b4 mb::b5 mb::b6 mb::b7 mb::b8
See also "modalResult" in Prima::Window, "modalResult" in Prima::Button.
mb::OK, mb::Ok mb::Cancel mb::Yes mb::No mb::Abort mb::Retry mb::Ignore mb::Help
mb::OKCancel, mb::OkCancel mb::YesNo mb::YesNoCancel mb::ChangeAll
mb::Error mb::Warning mb::Information mb::Question
ps::Disabled - can neither draw, nor get/set graphical properties on an object ps::Enabled - can both draw and get/set graphical properties on an object ps::Information - can only get/set graphical properties on an object
For brevity, ps::Disabled is equal to 0 so this allows for simple boolean testing if one can get/set graphical properties on an object.
See "get_paint_state" in Drawable.
rgn::Inside - the rectangle is fully inside the region rgn::Outside - the rectangle is fully outside the region rgn::Partially - the rectangle overlaps the region but is not fully inside
rgnop::Copy rgnop::Intersect rgnop::Union rgnop::Xor rgnop::Diff
See "Raster operations" in Prima::Drawable
rop::Blackness # = 0 rop::NotOr # = !(src | dest) rop::NotSrcAnd # &= !src rop::NotPut # = !src rop::NotDestAnd # = !dest & src rop::Invert # = !dest rop::XorPut # ^= src rop::NotAnd # = !(src & dest) rop::AndPut # &= src rop::NotXor # = !(src ^ dest) rop::NotSrcXor # alias for rop::NotXor rop::NotDestXor # alias for rop::NotXor rop::NoOper # = dest rop::NotSrcOr # |= !src rop::CopyPut # = src rop::NotDestOr # = !dest | src rop::OrPut # |= src rop::Whiteness # = 1
12 Porter-Duff operators
rop::Clear # = 0 rop::Xor # = src ( 1 - dstA ) + dst ( 1 - srcA ) rop::SrcOver # = src srcA + dst (1 - srcA) rop::DstOver # = dst srcA + src (1 - dstA) rop::SrcCopy # = src rop::DstCopy # = dst rop::SrcIn # = src dstA rop::DstIn # = dst srcA rop::SrcOut # = src ( 1 - dstA ) rop::DstOut # = dst ( 1 - srcA ) rop::SrcAtop # = src dstA + dst ( 1 - srcA ) rop::DstAtop # = dst srcA + src ( 1 - dstA ) rop::Blend # src + dst (1 - srcA) # same as rop::SrcOver but assumes the premultiplied source rop::PorterDuffMask - masks out all bits but the constants above
Photoshop operators
rop::Add rop::Multiply rop::Screen rop::Overlay rop::Darken rop::Lighten rop::ColorDodge rop::ColorBurn rop::HardLight rop::SoftLight rop::Difference rop::Exclusion
Constant alpha flags
rop::SrcAlpha rop::SrcAlphaShift rop::DstAlpha rop::DstAlphaShift rop::ConstantAlpha
Others
rop::AlphaCopy rop::ConstantColor
ROP functions
Combines one of the alpha-supporting ROPs ( Porter-Duff and Photoshop operators) with source and destination alpha, if defined, and returns a new ROP constant. This is useful when blending with constant alpha is required with/over images that don't have their own alpha channel. Or as an additional alpha channel when using icons.
Creates a ROP that would effectively execute alpha blending of the source image over the destination image with ALPHA value.
See also Prima::StdBitmap.
sbmp::Logo sbmp::CheckBoxChecked sbmp::CheckBoxCheckedPressed sbmp::CheckBoxUnchecked sbmp::CheckBoxUncheckedPressed sbmp::RadioChecked sbmp::RadioCheckedPressed sbmp::RadioUnchecked sbmp::RadioUncheckedPressed sbmp::Warning sbmp::Information sbmp::Question sbmp::OutlineCollapse sbmp::OutlineExpand sbmp::Error sbmp::SysMenu sbmp::SysMenuPressed sbmp::Max sbmp::MaxPressed sbmp::Min sbmp::MinPressed sbmp::Restore sbmp::RestorePressed sbmp::Close sbmp::ClosePressed sbmp::Hide sbmp::HidePressed sbmp::DriveUnknown sbmp::DriveFloppy sbmp::DriveHDD sbmp::DriveNetwork sbmp::DriveCDROM sbmp::DriveMemory sbmp::GlyphOK sbmp::GlyphCancel sbmp::SFolderOpened sbmp::SFolderClosed sbmp::Last
Widget::scroll returns one of these.
Widget::scroll
scr::Error - failure scr::NoExpose - call resulted in no new exposed areas scr::Expose - call resulted in new exposed areas, expect a repaint
See also "get_system_value" in Prima::Application
sv::YMenu - the height of the menu bar in top-level windows sv::YTitleBar - the height of the title bar in top-level windows sv::XIcon - width and height of main icon dimensions, sv::YIcon acceptable by the system sv::XSmallIcon - width and height of alternate icon dimensions, sv::YSmallIcon acceptable by the system sv::XPointer - width and height of mouse pointer icon sv::YPointer acceptable by the system sv::XScrollbar - the width of the default vertical scrollbar sv::YScrollbar - the height of the default horizontal scrollbar sv::XCursor - width of the system cursor sv::AutoScrollFirst - the initial and the repetitive sv::AutoScrollNext scroll timeouts sv::InsertMode - the system insert mode sv::XbsNone - widths and heights of the top-level window sv::YbsNone decorations, correspondingly, with borderStyle sv::XbsSizeable bs::None, bs::Sizeable, bs::Single, and sv::YbsSizeable bs::Dialog. sv::XbsSingle sv::YbsSingle sv::XbsDialog sv::YbsDialog sv::MousePresent - 1 if the mouse is present, 0 otherwise sv::MouseButtons - number of the mouse buttons sv::WheelPresent - 1 if the mouse wheel is present, 0 otherwise sv::SubmenuDelay - timeout ( in ms ) before a sub-menu shows on an implicit selection sv::FullDrag - 1 if the top-level windows are dragged dynamically, 0 - with marquee mode sv::DblClickDelay - mouse double-click timeout in milliseconds sv::ShapeExtension - 1 if Prima::Widget::shape functionality is supported, 0 otherwise sv::ColorPointer - 1 if the system accepts color pointer icons. sv::CanUTF8_Input - 1 if the system can generate key codes in unicode sv::CanUTF8_Output - 1 if the system can output utf8 text sv::CompositeDisplay - 1 if the system uses double-buffering and alpha composition for the desktop, 0 if it doesn't, -1 if unknown sv::LayeredWidgets - 1 if the system supports layering sv::FixedPointerSize - 0 if the system doesn't support arbitrarily sized pointers and will resize custom icons to the system size sv::MenuCheckSize - width and height of default menu check icon sv::FriBidi - 1 if Prima is compiled with libfribidi and full bidi unicode support is available sv::Antialias - 1 if the system supports antialiasing and alpha layer for primitives sv::LibThai - 1 if Prima is compiled with libthai
Used in: Prima::InputLine, Prima::ImageViewer, Prima::Label.
ta::Left ta::Right ta::Center ta::Top ta::Bottom ta::Middle
These constants are used in various text- and glyph-related functions and form a somewhat vague group of bit values that may or may not be used together depending on the function
to::Plain - default value, 0 to::AddOverhangs - used in C<get_text_width> and C<get_text_shape_width> to request text overhangs to be included in the returned text width to::Glyphs - used in C<get_font_abc> and C<get_font_def> to select extension of glyph indexes rather than text codepoints to::Unicode - used in C<get_font_abc> and C<get_font_def> to select extension of unicode rather than ascii text codepoints to::RTL - used in C<get_text_shape_width> to request RTL bidi direction. Also used in C<Prima::Drawable::Glyphs::indexes> values to mark RTL characters.
See "text_wrap" in Prima::Drawable
tw::CalcMnemonic - calculates tilde underline position tw::CollapseTilde - removes escaping tilde from text tw::CalcTabs - wraps the text with respect to tab expansion tw::ExpandTabs - expands tab characters tw::BreakSingle - determines if the text is broken into single characters when text cannot be fit tw::NewLineBreak - breaks line on newline characters tw::SpaceBreak - breaks line on space or tab characters tw::ReturnChunks - returns wrapped text chunks tw::ReturnLines - returns positions and lengths of wrapped text chunks tw::WordBreak - defines if text break by width goes by the characters or by the words tw::ReturnFirstLineLength - returns the length of the first wrapped line tw::Default - tw::NewLineBreak | tw::CalcTabs | tw::ExpandTabs | tw::ReturnLines | tw::WordBreak
See "widgetClass" in Prima::Widget
wc::Undef wc::Button wc::CheckBox wc::Combo wc::Dialog wc::Edit wc::InputLine wc::Label wc::ListBox wc::Menu wc::Popup wc::Radio wc::ScrollBar wc::Slider wc::Widget, wc::Custom wc::Window wc::Application
See "windowState" in Prima::Window
ws::Normal ws::Minimized ws::Maximized ws::Fullscreen
Dmitry Karasik, <dmitry@karasik.eu.org>.
Prima, Prima::Classes
To install Prima, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prima
CPAN shell
perl -MCPAN -e shell install Prima
For more information on module installation, please visit the detailed CPAN module installation guide.