dwww Home | Manual pages | Find package

Compound(3pm)         User Contributed Perl Documentation         Compound(3pm)

NAME
       Tk::Compound - Create multi-line compound images.

SYNOPSIS
           use Tk::Compound;
           $image = $widget->Compound(name,options);
           $image->Line(options);
           $image->Text(options);
           $image->Bitmap(options);
           $image->Image(options);
           $image->Space(options);

DESCRIPTION
       Compound image types can be used to create images that consists of
       multiple horizontal lines; each line is composed of a series of items
       (texts, bitmaps, images or spaces) arranged from left to right. Compound
       images are mainly used to embed complex drawings into widgets that
       support the -image option. As shown in the EXAMPLE section below, a
       compound image can be used to display a bitmap and a text string
       simutaneously in a Tk Button widget.

       Compound images can only be used on windows on the same display as, and
       with the same pixel depth and visual as the $widget used to create them.

CREATING COMPOUND IMAGES
       Compounds are created using $widget->Compound.  Compounds support the
       following options:

       -background => color
           Specifies  the background color of the compound image. This color is
           also used as the default background color for the  bitmap  items  in
           the compound image.

       -borderwidth => pixels
           Specifies  a  non-negative  value  indicating  the  width of the 3-D
           border drawn around the compound image.

       -font => font
           Specifies the default font for the text items in the compound image.

       -foreground => color
           Specifies the default foreground color for the bitmap and text items
           in the compound image.

       -padx => value
           Specifies a non-negative value indicating how much  extra  space  to
           request  for  the  compound  image in the X-direction. The value may
           have any of the forms acceptable to Tk_GetPixels(3).

       -pady => value
           Specifies a non-negative value indicating how much  extra  space  to
           request for the compound image in the Y-direction.

       -relief => value
           Specifies  the 3-D effect desired for the background of the compound
           image. Acceptable  values  are  raised,  sunken,  flat,  ridge,  and
           groove.

       -showbackground => value
           Specifies whether the background and the 3D borders should be drawn.
           Must  be  a  valid  boolean  value. By default the background is not
           drawn  and  the  compound  image  appears  to  have  a   transparent
           background.

IMAGE COMMAND
       When  a  compound  image is created, Tk also creates a new object.  This
       object supports the configure and cget methods described in  Tk::options
       which can be used to enquire and modify the options described above.

       The object also supports the following methods:

       $compound->Line?(option = value ...>)?
           Creates  a  new  line  at  the  bottom  of the compound image. Lines
           support the following options:

           -anchor value
               Specifies how the line should be aligned  along  the  horizontal
               axis.   When  the values are w, sw or nw, the line is aligned to
               the left. When the values are c, s or n, the line is aligned  to
               the  middle.   When  the  values  are  e,  se or ne, the line is
               aligned to the right.

           -padx => value
               Specifies a non-negative value indicating how much  extra  space
               to request for this line in the X-direction.

       $compound->Itemtype?(option = value ...>)?
           Creates  a new item of the type Itemtype at the end of the last line
           of the compound image. All types of items  support  these  following
           common options:

           -anchor value
               Specifies  how  the  item  should  be aligned along the vertical
               axis. When the values are n, nw or ne, the item  is  aligned  to
               the  top of the line. When the values are c, w or e, the item is
               aligned to the middle of the line.  When the values are s, se or
               sw, the item is aligned to the bottom of the line.

           -padx => value
               Specifies a non-negative value indicating how much  extra  space
               to request for this item in the X-direction.

           -pady => value
               Specifies  a  non-negative value indicating how much extra space
               to request for this item in the Y-direction.

           item-type can be any of the following:
       $compound->Bitmap?(option = value ...>)?
           Creates a new bitmap item of at the end of  the  last  line  of  the
           compound image. Additional options accepted by the bitmap type are:

           -background => color
               Specifies the background color of the bitmap item.

           -bitmap => name
               Specifies  a bitmap to display in this item, in any of the forms
               acceptable to Tk_GetBitmap(3).

           -foreground => color
               Specifies the foreground color of the bitmap item.

       $compound->Image?(option = value ...>)?
           Creates a new image item of at the end  of  the  last  line  of  the
           compound image. Additional options accepted by the image type are:

           -image => name
               Specifies  an image to display in this item. name must have been
               created with the image create command.

       $compound->Space?(option = value ...>)?
           Creates a new space item of at the end  of  the  last  line  of  the
           compound  image. Space items do not display anything. They just acts
           as space holders that add additional spaces between items  inside  a
           compound image. Additional options accepted by the image type are:

           -width => value
               Specifies the width of this space. The value may have any of the
               forms acceptable to Tk_GetPixels(3).

           -height => value
               Specifies  the  height  of this space. The value may have any of
               the forms acceptable to Tk_GetPixels(3).

       $compound->Text?(option = value ...>)?
           Creates a new text item of at the  end  of  the  last  line  of  the
           compound image. Additional options accepted by the text type are:

           -background => color
               Specifies the background color of the text item.

           -font => name
               Specifies the font to be used for this text item.

           -foreground => color
               Specifies the foreground color of the text item.

           -justify value
               When  there are multiple lines of text displayed in a text item,
               this option determines how the lines line up  with  each  other.
               value  must  be  one of left, center, or right.  Left means that
               the lines' left edges all line up, center means that the  lines'
               centers are aligned, and right means that the lines' right edges
               line up.

           -text => string
               Specifies a text string to display in this text item.

           -underline value
               Specifies  the  integer index of a character to underline in the
               text item. 0 corresponds to the  first  character  of  the  text
               displayed in the text item, 1 to the next character, and so on.

           -wraplength value
               This  option  specifies  the  maximum  line  length of the label
               string on this text item. If the line length of the label string
               exceeds this length, it is wrapped onto the next line,  so  that
               no  line  is  longer than the specified length. The value may be
               specified in any of the standard forms for screen distances.  If
               this  value is less than or equal to 0 then no wrapping is done:
               lines will break only at newline characters in the text.

EXAMPLE
       The following example creates a compound image with a bitmap and a  text
       string  and  places  this image into a Button(n) widget. Notice that the
       image must be created using the widget that it resides in.

         my $b = $parent->Button;
         my $c = $b->Compound;
         $b->configure(-image => $c);
         $c->Line;
         $c->Bitmap(-bitmap => 'warning');
         $c->Space(-width => 8);
         $c->Text(-text => "Warning", -underline => 0);
         $b->pack;

KEYWORDS
       image(n), Tix(n)

perl v5.40.1                       2025-04-13                     Compound(3pm)

Generated by dwww version 1.16 on Sat Oct 3 06:47:43 CEST 2026.