GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Prima::Drawable::Markup(3) User Contributed Perl Documentation Prima::Drawable::Markup(3)

Prima::Drawable::Markup - allow markup in widgets

    use Prima qw(Application Buttons);
    use Prima::Drawable::Markup q(M);
    my $m = Prima::MainWindow->new;
    $m-> insert( Button =>
        text   => Prima::Drawable::Markup->new(markup => "B<Bold> bU<u>tton"),
        hotKey => 'u',
        pack   => {},
    );
    $m->insert( Button => pack => {}, text => M "I<Italic> button" );
    $m->insert( Button => pack => {}, text => \ "Not an Q<I<italic>> button" );

    run Prima;

"Prima::Drawable::Markup" adds the ability to recognize POD-like markup to Prima widgets. Supported markup sequences are "B" (bold text), "I" (italic text), "U" (underlined text), "F" (change font), "S" (change font size), "C" (change foreground color), "G" (change background color), "M" (move pointer), "W" (disable wrapping), and "P" (picture).

The "F" sequence is used as follows: "F<n|text>", where "n" is a 0-based index into the "fontPalette".

The "S" sequence is used as follows: "S<n|text>", where "n" is the number of points relative to the current font size. The font size may optionally be preceded by "+" or "-".

The "C" and "G" sequences are used as follows: "C<c|text>", where "c" is either: a color in any form accepted by Prima, including the "cl" constants ("Black" "Blue" "Green" "Cyan" "Red" "Magenta" "Brown" "LightGray" "DarkGray" "LightBlue" "LightGreen" "LightCyan" "LightRed" "LightMagenta" "Yellow" "White" "Gray"). Or, a 0-based index into the "colorPalette". Also, "default" can be used to set the color that the canvas originaly had. For "G" a special value "off" can be used to turn off background color and set it as transparent.

The "M" command has three parameters, comma-separated: X, Y, and flags. X and Y are coordinates how much to move the current pointer. By default X and are in pixels, and do not extend block width. "flags" is a set of characters, where each is:

    m - set units to font height
    p - set units to points
    x - also extend the block width

The text inside "W" sequence will not be wrapped during "text_wrap" calls.

The text inside "Q" sequence will not be treated as markup.

The "P" sequence is used as follows:"P<n>", where "n" is a 0-based index into the "picturePalette".

The methods "text_out" and "get_text_width" are affected by "Prima::Drawable::Markup". "text_out" will write formatted text to the canvas, and "get_text_width" will return the width of the formatted text. NOTE: These methods do not save state between calls, so your markup cannot span lines (since each line is drawn or measured with a separate call).

The module can export a single method "M" that is a shortcut over creation of a new markup object with default color, font, and image palettes. These can be accessed directly as "@COLORS, @FONTS, @IMAGES" correspondingly.

The following properties are used:
colorPalette([@colorPalette])
Gets or sets the color palette to be used for "C" sequences within this widget. Each element of the array should be a "cl::" constant.
fontPalette([@fontPalette])
Gets or sets the font palette to be used for "F" sequences within this widget. Each element of the array should be a hashref suitable for setting a font.
picturePalette([@picturePalette])
Gets or sets the picture palette to be used for "P" sequences within this widget. Each element of the array should be a "Prima::Image" descendant.

Prima::Drawable::TextBlock, examples/markup.pl

Copyright 2003 Teo Sankaro

You may redistribute and/or modify this module under the same terms as Perl itself. (Although a credit would be nice.)

This module based on work by Teo Sankaro, <teo_sankaro@hotmail.com>.
2022-04-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.