Changes for version 1.72 - 2024-01-31

  • Major rehaul of ROP constants with API compatibility break:
    • rop(R), put_image(X,Y,I) will not use rop R but rop::Default instead
    • rop::Blend and rop::CopyPut are no longer equal. rop::XorPut and rop::Xor are no longer equal; the latter is rop::XorOver now.
  • Image.text_out() works outside the paint mode by querying glyph bitmaps. Other text- and font- related method work too.
  • Pod parsing and rendering moved to Prima::Drawable::Pod
    • added utils/pod2pdf that works without needing a X11 server
  • Font.underlinePosition and Font.underlineThickness are added
  • Image.has_codec added
  • Prima::Image::Loader and per-frame image loading and saving is added
  • Utils.sound is removed

Documentation

VB
Visual Builder for the Prima toolkit
configuration tool for Visual Builder
GUI interprocess data exchange
generic 2-D graphic interface
asynchronous stream I/O
2-D graphic interface for images
pull-down and pop-up menu objects
base toolkit classes
printing services
generic shapes for clipping and hit testing
programmable periodical events
window management
Geometry manager that packs around edges of cavity
Geometry manager for fixed or rubber-sheet placement
top-level window management
usage guide for the X11 environment
How to write a codec for Prima image subsystem
Frequently asked questions about Prima
Problems, questionable or intricate topics in 2-D Graphics
using the image subsystem
Prima internal architecture
introductory tutorial
builtin types
class interface compiler for Prima core modules
convert pod file to a pdf document
graphical pod viewer

Modules

a Perl graphic toolkit
the root of the widget hierarchy
buttons, checkboxes, radios
standard calendar widget
binder module for the built-in classes.
standard combo box widget
predefined constants
multi-column list viewer with controlling header widget
multi-column outline viewer with controlling header widget.
standard color selection facilities
File system-related widgets and dialogs
the standard dialogs FindDialog and ReplaceDialog to find and replace text
standard font dialog
image file open and save dialogs
standard printer setup dialog
advanced dockable widgets
dockable widgets
plot antialiased shapes
fit text to path
helper routines for bi-directional text input and complex scripts output
gradient fills for primitives
allow markup in widgets
graphics recorder
stroke and fill complex paths
POD parser and renderer
paint a hierarchy of widgets to any drawable
rich text representation
standard text editor
event filtering
extended functionality for list boxes
frameset widget
grid widgets
the built-in POD browser
animate gif,webp,png files
progressive loading and saving for multiframe images
standard dialog for selecting transparent color when saving an image to a file.
hardcoded image files
standard HEIF image save dialog
image, icon, and bitmap viewer
support of Windows-like initialization files
input line widget
key combination widget and routines
static text widget
list widgets
top-level window emulation
menu widgets
standard message and input dialog boxes
multipage widgets
tree view widgets
create compressed Type1 fonts
Common routines for PS drawables
glyph outlines as adobe charstrings
PDF interface to Prima::Drawable
PostScript interface to Prima::Drawable
PostScript and PDF interfaces to Prima::Printer
store parts of PS output in files
create Type1 font files
POD browser widget
scroll bars
sliding bars, spin buttons, dial widgets, etc
spinner animation widget
shared access to the standard bitmaps
stress test module
rich text browser widget
object themes management
tie widget properties to scalars and arrays
miscellaneous routines
configures the widget palette in the Visual Builder
Visual Builder widgets and types
Visual Builder extended widgets and types
Visual Builder file loader
heuristics for i18n input
standard date picker widget
fading- in/out functions
optional automatic scroll bars
multi-column header widget
indenting support
routines for interactive links
common paint routine for listboxes
auto-repeating mouse events
simple panel widget
dynamic rubberbands
scrollable generic document widget
a simplistic startup banner window
standard time input widget
undo and redo the content of editable widgets
Use Prima without X11
AnyEvent bridge
unicode-aware core file functions
shortcut for guiException in Prima::Application
GUI test tools
MacOSX/XQuartz facilities
GTK file system dialogs
Windows facilities
Windows file system dialogs.

Provides

in Prima/Dialog/FileDialog.pm
in Prima/VB/VBLoader.pm
in Prima/Buttons.pm
in Prima/Grids.pm
in Prima/Grids.pm
in Prima/Lists.pm
in Prima/Lists.pm
in Prima/Classes.pm
in Prima/Sliders.pm
in Prima/Sliders.pm
in Prima/Classes.pm
in Prima/Sliders.pm
in Prima/Classes.pm
in Prima/Buttons.pm
in Prima/Buttons.pm
in Prima/ExtLists.pm
in Prima/Sliders.pm
in Prima/Docks.pm
in Prima/Classes.pm
in Prima/Buttons.pm
in Prima/Dialog/ColorDialog.pm
in Prima/ComboBox.pm
in Prima/Classes.pm
in Prima/Config.pm
in Prima/HelpViewer.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Dialog/FileDialog.pm
in Prima/Dialog/ImageDialog.pm
in Prima/Dialog/ImageDialog.pm
in Prima/Dialog/FileDialog.pm
in Prima/Dialog/FindDialog.pm
in Prima/Dialog/FileDialog.pm
in Prima/Dialog/FileDialog.pm
in Prima/Outlines.pm
in Prima/DockManager.pm
in Prima/DockManager.pm
in Prima/DockManager.pm
in Prima/DockManager.pm
in Prima/DockManager.pm
in Prima/Classes.pm
in Prima/Drawable/Basic.pm
in Prima/Drawable/TextBlock.pm
in Prima/Dialog/FileDialog.pm
in Prima/Dialog/FileDialog.pm
in Prima/Docks.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Docks.pm
in Prima/FrameSet.pm
in Prima/FrameSet.pm
in Prima/Sliders.pm
in Prima/Grids.pm
in Prima/Grids.pm
in Prima/Buttons.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Image/Animate.pm
in Prima/Image/Animate.pm
in Prima/Image/Animate.pm
in Prima/Image/Animate.pm
in Prima/Image/TransparencyControl.pm
in Prima/Image/Loader.pm
in Prima/Image/gif.pm
in Prima/Image/jpeg.pm
in Prima/Image/png.pm
in Prima/Image/tiff.pm
in Prima/Image/webp.pm
in Prima/Docks.pm
in Prima/KeySelector.pm
in Prima/KeySelector.pm
in Prima/Docks.pm
in Prima/Docks.pm
in Prima/Lists.pm
in Prima/Lists.pm
in Prima/MDI.pm
in Prima/MDI.pm
in Prima/MDI.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Menus.pm
in Prima/Classes.pm
in Prima/Notebooks.pm
in Prima/Classes.pm
in Prima/Outlines.pm
in Prima/Outlines.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Format.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Printer.pm
in Prima/PS/Setup.pm
in Prima/PS/Printer.pm
in Prima/PS/Unicode.pm
in Prima/HelpViewer.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Sliders.pm
in Prima/Lists.pm
in Prima/Buttons.pm
in Prima/Classes.pm
in Prima/VB/examples/Widgety.pm
in Prima/Notebooks.pm
in Prima/Notebooks.pm
in Prima/Docks.pm
in Prima/Sliders.pm
in Prima/Buttons.pm
in Prima/Sliders.pm
in Prima/Sliders.pm
in Prima/Outlines.pm
in Prima/Notebooks.pm
in Prima/Notebooks.pm
in Prima/Notebooks.pm
in Prima/Notebooks.pm
in Prima/Themes.pm
in Prima/themes/round3d.pm
in Prima/themes/color.pm
in Prima/themes/flat.pm
in Prima/Tie.pm
in Prima/Tie.pm
in Prima/Tie.pm
in Prima/Tie.pm
in Prima/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/VBControls.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/Config.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/VBControls.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/VBControls.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/VBControls.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/CoreClasses.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/examples/Widgety.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/VBControls.pm
in Prima/VB/Classes.pm
in Prima/VB/Classes.pm
in Prima/VB/examples/Widgety.pm
in Prima/VB/examples/Widgety.pm
in Prima/Classes.pm
in Prima/Widget/RubberBand.pm
in Prima/Widget/Date.pm
in Prima/Widget/Date.pm
in Prima/Widget/EventRectangles.pm
in Prima/Widget/ScrollWidget.pm
in Prima/Widget/ScrollWidget.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/Classes.pm
in Prima/sys/Gencls.pm
in Prima/sys/gtk/FileDialog.pm
in Prima/sys/gtk/FileDialog.pm
in Prima/sys/win32/FileDialog.pm
in Prima/sys/win32/FileDialog.pm
in Prima/themes/sysimage.pm