pixmap - Xpm pixmap editor for X
The pixmap program is a tool for creating or editing
rectangular images made up of colored pixels, i.e., pixmaps. Pixmaps are
intensively used in X to define window backgrounds, icon images, etc.
The pixmap program can have two different interfaces, a
Athena widgets version and a Motif widgets version.
Pixmap displays grid in which each square represents a
single pixel in the picture being edited. Squares can be set, cleared, or
inverted (this last operation will be detailed later) directly with the
buttons on the pointer and a menu of higher level operations such as draw
line and fill circle is provided to the side of the grid. Another menu on
the top of the window allows files operations (Load, Save, ...), edit
operations (Cut/Copy/Paste, attributes of pixmap editing, ...) and colors
operations (drawing color, attributes of colors, ...). Pixmap uses a
Pixmap widget to represent the pixmap image.
Pixmaps are stored as a C string array variable suitable for
including in applications, using the format defined by Arnaud Le Hors in his
Xpm library (refer to Xpm manual for format description). This format allows
pixmaps to be used indistinctly on monochrome, grey scale or color
displays.
Pixmap accepts the following options:
- -display/-d
display
- This option specifies the name of the X server to use.
- -geometry
geometry
- This option specifies the placement and size of the pixmap program
window on the screen. See X for details.
- -help/-h
- This option asks for the usage description of pixmap.
- -size
WIDTHxHEIGHT
- This option specifies the size (width and height) in pixels of the pixmap
to be edited.
- -squares
SIZE
- This option specifies the size in display points to use to represent each
pixel (a square of SIZE points).
- +grid/-grid
- This option indicates that the grid lines in the Pixmap widget should be
displayed or not.
- -stippled
- This option turns off stipple drawing of transparent pixels.
- -stipple
pixmap
- This option specifies the depth 1 pixmap to use to draw transparent
pixels.
- +axes/-axes
- This option indicates that the axes in the Pixmap widget should be
displayed or not.
- +proportional/-proportional
- This option indicates that the pixels in the Pixmap widget should be drawn
proportional, i.e. in squares, or not.
- -hl color
- This option specifies the color to use for highlighting purposes.
color can be any name accepted by the XParseColor(3X11)
function.
- -fr color
- This option specifies the color to use draw grid and axes in Pixmap
widget. color can be any name accepted by the XParseColor(3X11)
function.
- -tr color
- This option specifies the color to use to represent transparent pixels.
color can be any name accepted by the XParseColor(3X11)
function.
- -fn/-font
fontname
- This option specifies the font to be used in pixmap.
- -filename/-f/-in
filename
- This option specifies the name of the file from which the pixmap to be
edited should be loaded.
- -colormap/-pc
- This options specifies that pixmap should use its own private colormap
instead of the default colormap.
Pixels may be set, cleared, or inverted by pointing to them and
clicking one of the buttons indicated below. Multiple pixels can be changed
at once by holding the button down and dragging the cursor across them. Set
pixels are filled with the current color; cleared pixels are filled with
white; and inverted pixels are either set if they were originally cleared or
cleared otherwise.
- Button 1
-
This button (usually leftmost on the pointer) is used to set one or more
pixels.
- Button
2
-
This button (usually in the middle) is used to invert one or more
pixels.
- Button
3
-
This button (usually on the right) is used to clear one or more pixels.
- Button
4
-
This button is used to clear one or more pixels.
- Button
5
-
This button is used to clear one or more pixels.
Every button operation can be changed by means of resources in the
.Xdefaults file or application defaults file
(/etc/X11/app-defaults/Pixmap).
To make defining shapes easier, pixmap provides several
commands for drawing and manipulating the pixmap edited, and commands for
file management.
Commands are layed in a vertical bar at the left of the Pixmap
widget and in a menu bar at the top of the window. Most of the drawing
commands are located in the left bar, where as file management and other
general commands are located in the top menu bar.
In the left bar, some commands are represented by icons. They are,
from left to right and up to down, Flip horizontally, Up,
Flip vertically, Left, Fold, Right,
Rotate right (counterclock), Down, Rotate left
(clockwise).
Some commands are also available directly through the keyboard
when the mouse cursor is located on the Pixmap widget. They will be
mentionned as an accelerator in the following description.
LEFT BAR COMMANDS
- Undo
- This command is used to undo the last operation. Only one operation can be
undone. The accelerator of this command is Any<Key>u.
- Clear
- This command is used to clear all of the pixels in the pixmap as if Button
3 had been dragged through every pixel in the pixmap. The accelerator of
this command is [Shift]<Key>c.
- Set
- This command is used to set all of the pixels in the pixmap to the current
color, as if Button 1 had been dragged through every pixel in the pixmap.
The accelerator of this command is [Shift]<Key>s.
- Redraw
- This command is used to redisplay the pixmap. The accelerator of this
command is Ctrl<Key>l.
- Copy
- This command is used to copy a region of the pixmap from one location to
another. When this command is invoked, the region to copy should
be specified by pressing Button 1, dragging the mouse and releasing Button
1. The region can now be copied by pressing Button 1 with the cursor
located on the region selected, dragging the mouse and releasing it where
the upper left corner of the region should be copied. If a region was
already selected with a Mark command, only the second phase of the copy is
necessary. The accelerator of this command is available when a region has
already been selected and is Ctrl<Btn2Down> to drag the region and
Ctrl<Btn2Up> to draw it to point. This accelerated command is
identical to the Paste command available through the Edit menu of
the top menu bar.
- Move
- This command is used to move a region of the pixmap from one location to
another. When this command is invoked, the region to move should be
specified by pressing Button 1, dragging the mouse and releasing Button 1.
The region can now be moved by pressing Button 1 with the cursor located
on the region selected, dragging the mouse and releasing it where the
upper left corner of the region should be moved. The initial region is
cleared. If a region was already selected with a Mark command, only the
second phase of the move is necessary.
- Mark
- This command is used to mark a region to move or copy it later (commands
Move and Copy above), or to put it in the Cut&Paste
buffer (commands Cut and Copy of the Edit menu of the
top menu bar). When this command is invoked, the region should be
specified by pressing Button 1, dragging the mouse and releasing Button 1.
Once marked, the region is highlighted. The accelerator of this command is
Ctrl<Btn1Down> to initiate the selection and Ctrl<Btn1Up> to
finish it.
- Unmark
- This command is used to unmark a region previously marked. It will
unhighlight the region. The accelerator of this command is
Ctrl<Btn3Down>.
- Flip
horizontally
- This command is used to flip horizontally the whole pixmap or the marked
region. This means mirroring horizontally the pixmap image. The mirror is
placed at the middle of the pixmap height. The accelerator of this command
is [Shift|Ctrl]<Key>h.
- Up
- This command is used to move the whole pixmap or the marked region up.
Pixels at the top of the pixmap are pushed back at the bottom of the new
pixmap. The accelerator of this command is Any<Key>Up (not available
in Motif version).
- Flip
vertically
- This command is used to flip vertically the whole pixmap or the marked
region. This means mirroring vertically the pixmap image. The mirror is
placed at the middle of the pixmap width. The accelerator of this command
is Any<Key>v.
- Left
- This command is used to move the whole pixmap or the marked region left.
Pixels at the left of the pixmap are pushed back at the right of the new
pixmap. The accelerator of this command is Any<Key>Left (not
available in Motif version).
- Fold
- This command is used to "Fold" the pixmap. This means splitting
the pixmap image in four squares (top left, top right, bottom left and
bottom right) and inverting them (top becomes bottom, left becomes right,
and so on). "Folding" twice a pixmap does no change. The
accelerator of this command is [Shift|Ctrl]<Key>f.
- Right
- This command is used to move the whole pixmap or the marked region right.
Pixels at the right of the pixmap are pushed back at the left of the new
pixmap. The accelerator of this command is Any<Key>Right (not
available in Motif version).
- Rotate
right
- This command is used to rotate the pixmap image or the marked region right
(clockwise) of 90 degrees. Four Rotate right operations does no
change. The accelerator of this command is [Shift|Ctrl]<Key>r.
- Down
- This command is used to move the whole pixmap or the marked region down.
Pixels at the bottom of the pixmap are pushed back at the top of the new
pixmap. The accelerator of this command is Any<Key>Down (not
available in Motif version).
- Rotate
left
- This command is used to rotate the pixmap image or the marked region left
(counterclock) of 90 degrees. Four Rotate left operations does no
change. The accelerator of this command is [Shift]<Key>l.
- Point
- This command is used to set, invert or clear a pixel to the current color.
It can be considered as a mode. After selecting it, pixels are set,
inverted or cleared depending on the button used (see Pixels Editing with
the Mouse). If the mouse button remains pressed while dragging the mouse,
more than one pixel can be affected. This command has no accelerator.
- Curve
- This command is used to draw curved lines (set, cleared or inverted). The
curve is drawn while dragging the mouse. This command can be considered as
a mode. Quite the same affect can be obtained by dragging the mouse in
point mode, the main difference resides in the fact that pixels will be
drawn contiguously. This command has no accelerator.
- Line
- This command is used to draw lines between two points (set, cleared or
inverted). The lines are first drawn highlighted while mouse button
remains pressed. This command can be considered as a mode. This command
has no accelerator.
- Rectangle
- This command is used to draw rectangles between two points defining the
two opposite corners of the rectangle (set, cleared or inverted). The
rectangles are first drawn highlighted while mouse button remains pressed.
This command can be considered as a mode. This command has no
accelerator.
- Filled
Rectangle
- This command is used to draw filled rectangles between two points defining
the two opposite corners of the rectangle (set, cleared or inverted). The
rectangles outlines are first drawn highlighted while mouse button remains
pressed. This command can be considered as a mode. This command has no
accelerator.
- Circle
- This command will set, invert or clear the pixels on a circle specified by
a center and a point on the curve. Small circles may not look very round
because of the size of the pixmap and the limits of having to work with
discrete pixels. This command can be considered as a mode. This command
has no accelerator.
- Filled
Circle
- This command will set, invert or clear all of the pixels in a circle
specified by a center and a point on the curve. All pixels side and
including the circle are set. This command can be considered as a mode.
This command has no accelerator.
- Flood Fill
- This command will set all clear pixels in an enclosed shape. The enclosed
shape is determined by all the pixels whose color is different from the
color of the pixel on which the user has clicked. If the shape is not
closed, the entire pixmap will be filled. This command can be considered
as a mode. This command has no accelerator.
- Set Hot Spot
- This command allows the specification of a Hot Spot. The Hot Spot is
selected by clicking the Set mouse button. Clicking Invert
will invert the Hot Spot, set or reset it depending on its previous state.
Hot spot is useful for cursor pixmaps and are used to reference the
sensible part of the pixmap. This command has no accelerator.
- Clear Hot Spot
- This command clears the current Hot Spot. This command has no
accelerator.
- Set Port
- This command allows to create a Port extension line graphically. It is
part of the customized Port extension editor developped by Tim Wise (SES
Inc.). The Port is set on the pixmap image by clicking any of the mouse
button. This command has no acelerator.
- Clear Port
- This command allows to remove a Port extension line graphically. It is
part of the customized Port extension editor developped by Tim Wise (SES
Inc.). The Port onto which any mouse button was clicked is cancelled. This
command has no accelerator.
- Move Port
- This command allows to move a Port, that is to change the coordinates
specified in the Port extension line. It is part of the customized Port
extension editor developped by Tim Wise (SES Inc.). The Port onto which
any mouse button was pressed is moved with the mouse cursor until the
mouse button is released. This command has no accelerator.
- Port Info...
- This command allows to edit the information associated to a Port, that is
contained in a Port extension line. It is part of the customized Port
extension editor developped by Tim Wise (SES Inc.). The information
associated with the Port onto which any mouse button was clicked is
displayed in a dialog window. It can be edited in that dialog and saved by
clicking the "Okay" button of the dialog. This command has no
accelerator.
TOP MENU COMMANDS
- Info
- This command pops up an info window.
File MENU
- Load...
- This command is used to load a pixmap file in the pixmap editor. A dialog
window is poped up in which a filename has to be provided. The operation
can be interrupted with the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>l.
- Insert...
- This command is used to load a pixmap in the Cut&Paste buffer of the
pixmap editor. The contents of the pixmap file can then be pasted on the
current pixmap. A dialog window is poped up in which a filename has to be
provided. The operation can be interrupted with the Cancel button
of the dialog window. The accelerator of this command is
Alt<Key>i.
- Save
- This command is used to save the current pixmap in the current file
edited. By default, and until otherwise changed by a Filename...,
Load... or Save As... operation, or by specifying the
filename on the command line, the filename is scratch. The
Filename... command can be used to change this default filename.
The accelerator of this command is Alt<Key>s.
- Save As...
- This command is used to save the current pixmap in a particular file which
name has to be provided in the dialog window which pops up. The operation
can be interrupted with the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>a.
- Resize...
- This command is used to resize the current pixmap to the width and height
specified in the dialog window which pops up. The syntax is WIDTHxHEIGHT.
This operation is different from the Rescale... one in the way that
it just add or remove pixels to the current pixmap without trying to fit
the space correctly with the pixmap image. The operation can be
interrupted with the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>r.
- Rescale...
- This command is used to rescale the current pixmap image in order to make
it fit a larger or smaller space. The new width and height have to be
specified in the dialog window which pops up with the syntax WIDTHxHEIGHT.
The operation can be interrupted with the Cancel button of the
dialog window. The accelerator of this command is Alt<Key>e.
- Filename...
- This command is used to change the current filename, i.e., the name of the
file in which the pixmap will be saved with a Save operation. The
new filename has to be provided in the dialog window which pops up. The
operation can be interrupted with the Cancel button of the dialog
window. The accelerator of this command is Alt<Key>f.
- Hints
comment...
- This command pops up a dialog window in which the user can specify the
hints section comment of the pixmap file. The operation can be interrupted
with the Cancel button of the dialog window. The accelerator of
this command is Alt<Key>h.
- Colors
comment...
- This command pops up a dialog window in which the user can specify the
colors section comment of the pixmap file. The operation can be
interrupted with the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>c.
- Pixels
comment...
- This command pops up a dialog window in which the user can specify the
pixels section comment of the pixmap file. The operation can be
interrupted with the Cancel button of the dialog window. The
accelerator of this command is Alt<Key>p.
- Quit
- This command causes pixmap to display a dialog box asking whether
or not it should save the pixmap (if it has changed) and then exit.
Answering yes is the same as invoking Save; no causes
pixmap to simply exit; and cancel will abort the Quit
command so that more changes may be made. The accelerator of this command
is Alt<Key>q.
Edit MENU
- Image
- This command pops up a window in which the real size pixmap is shown. This
window can be closed by clicking the mouse in it or by invoking
Image once again. When the window is poped up, an X mark is
displayed in the menu at the left of the Image label. The
accelerator of this command is <Key>i.
- Grid
- This command toggles the display of the grid. When the grid is displayed,
an X mark is added at the left of the Grid label. The
accelerator of this command is <Key>g.
- Axes
- This command toggles the display of axes. When axes are displayed, an
X mark is added at the left of the Axes label. The
accelerator of this command is <Key>a.
- Proportional
- This command toggles the display in proportional mode of the pixmap.
Proportional mode means that the Pixmap widget won't try to fit all the
available space within the interface and will rather display each pixel in
a square, probably leaving some space around the pixmap widget. When the
proportional mode is active, an X mark is added at the left of the
Proportional label. The accelerator of this command is
<Key>p.
- Zoom
- This command is used to zoom some pixels of the current pixmap. The
zooming region has to be selected by the use as a rectangle region just as
if he was marking a region (see Mark command). The operation can be
interrupted by invoking any other command. When a region is zoomed, an
X mark is added at the left of the Zoom label. Invoking once
again the Zoom command zooms out. The accelerator of this command
is <Key>z.
- Zoom In
- This command is used to incrementaly zoom into the current pixmap. This
side effect of this is to enlarge the size of a square used to represent a
single pixel. The accelerator of this command is <Key>x.
- Zoom Out
- This command is used to incrementaly zoom out of the current pixmap. This
side effect of this is to reduce the size of a square used to represent a
single pixel. The accelerator of this command is <Key>y.
- Zooming
Factor
- The command pops up a dialog window in which the user can edit the current
zooming factor. The zooming factor is the size of a square used to
represent a single pixel. Enlarging the zooming factor will zoom into the
current pixmap, while reducing it will zoom out of the pixmap. The
accelerator of this command is <Key>f.
- Cut
- When a region is marked, this operation is active. It is used to cut the
contents of the region to put it in the Cut&Paste buffer. The
Paste command now becomes active and the marked region is unmarked.
The pixels in the marked region are cleared. This command acts as the
Move one when a region is already marked. The accelerator of this
command is Ctrl<Key>c.
- Copy
- When a region is marked, this operation is active. It is used to copy the
contents of the region in the Cut&Paste buffer. The Paste
command now becomes active and the marked region is unmarked. This command
acts as the Copy command of the left border when a region is
already marked. The accelerator of this command is Ctrl<Key>x.
- Paste
- When a region has been cut or copied in the Cut&Paste buffer, this
command is active and can be used to paste the contents of the
Cut&Paste buffer where the mouse button is clicked. The paste
operation takes care of the button used to specify the point where to
paste the buffer. The button can remain pressed to move the buffer around
and then be released to paste the buffer at the current location. A
Copy and Paste operation can be accelerated by
Ctrl<Btn2Down> to intiate the operation and Ctrl<Btn2Up> to
finish the operation, i.e., paste the buffer. The accelerator of this
command is Ctrl<Key>p.
- Crop
- When a region is marked, or a file has been inserted in the Cut&Paste
buffer, this command will exchange the current pixmap with the marked
region, or the Cut&Paste buffer. Cropping twice does nothing. The
accelerator of this command is Ctrl<Key>o.
Foreground Color MENU
- Add color...
- This command is used to add a new color in the Color Panel (see
below). The color name is specified in the dialog window which pops up
either by a real color name found in rgb.txt file or by a string like
#rrggbb where rr, gg and bb represent the red,
green and blue components of the color in hexadecimal format. The
operation can be interrupted with the Cancel button of the dialog
window. The accelerator of this command is Ctrl<Key>a.
- Symbolic
name...
- This command is used to set the symbolic name of the current color. The
symbolic name is entered in the dialog window which pops up. The operation
can be interrupted with the Cancel button of the dialog window. The
accelerator of this command is Ctrl<Key>s.
- Monochrome
name...
- This command is used to set the monochrome name of the current color,
i.e., the name of the color to use on monochrome displays. The monochrome
name is entered in the dialog window which pops up. The operation can be
interrupted with the Cancel button of the dialog window. The
accelerator of this command is Ctrl<Key>m.
- Grey scale 4
name...
- This command is used to set the grey scale 4 name of the current color,
i.e., the name of the color to use on grey scale 4 displays. The grey
scale 4 name is entered in the dialog window which pops up. The operation
can be interrupted with the Cancel button of the dialog window. The
accelerator of this command is Ctrl<Key>4.
- Grey scale
name...
- This command is used to set the grey scale name of the current color,
i.e., the name of the color to use on grey scale (with more then 4 levels)
displays. The grey scale name is entered in the dialog window which pops
up. The operation can be interrupted with the Cancel button of the
dialog window. The accelerator of this command is Ctrl<Key>g.
- Color
name...
- This command is used to set the color name of the current color. This
change will be considered when saving the pixmap but to remain visible, it
affects the label of the menu item of the color. This is useful to
directly change a specific color for another one or to allow multiple
symbols to represent the same color (the color can be the same on color
display but change on grey scale or monochrome ones). The color name is
entered in the dialog window which pops up. The operation can be
interrupted with the Cancel button of the dialog window. The
None (not case sensitive) name is used to change the pixel
representing the transparent color. The accelerator of this command is
Ctrl<Key>n.
Xpm Extensions MENU
- Add
Extension...
- This command pops up a dialog window into which the user provides a name
for an extension to be added in the current pixmap extensions list. The
operation can be interrupted with the Cancel button of the dialog
window. If the user confirms with the Okay button, another dialog
windows pops up where the user can edit the extension contents. When the
user clicks on the Cancel button into this extension editing
window, the edit operation is interrupted but the extension is added to
the extensions list of the current pixmap. If the user wishes to abort the
Add Extension... operation, he/she needs to click on the
Remove button. The edition can otherwise be confirmed by clicking
on the Okay button.
- Any extension
name
- WHen an extension is added in the extensions list of the current pixmap,
its name appears in the Xpm Extensions menu. When selected in the
menu, the extension edition window pops up. See above for its
description.
In addition the Motif version defines the status label as two
active buttons which operate as Filename... and Resize...
commands.
Colors in pixmap are presented in the Color Panel. Each
loaded color is associated a square button, filled with the color pixel.
Scrollbars around the panel allow to scan the whole panel. To choose a color
for drawing, the user must click on a color button. At this time, the
current name of the color is displayed as the title of the Foreground
Color menu. A color can also be selected by using Shift<BtnDown>
on a pixel of the current pixmap which color should be used. This
accelerator is very useful when modifying small parts of a pixmap
locally.
The Save or Save As... commands store pixmaps using
the format defined by Arnaud Le Hors in his Xpm library (version 3.x). Each
pixmap is a C string array variable that can be included and used within
programs, or referred to by X Toolkit pixmap resources (assuming that a
String to Pixmap converter has been registered on the server). Here is an
example of a pixmap file:
/* XPM */
static char * plaid[] = {
/* plaid pixmap
* width height ncolors chars_per_pixel */
"22 22 4 2 ",
/* colors */
" c red m white s light_color ",
"Y c yellow m black s lines_in_mix ",
"+ c yellow m white s lines_in_dark ",
"x m black s dark_color ",
/* pixels */
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
"Y Y Y Y Y x Y Y Y Y Y + x + x + x + x + x + ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x x x x x x x x x x x x x ",
"x x x x x x x x x x x x + x x x x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
"x x x x x x x x x x x x x x x x x x x x x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x ",
" x x x Y x x ",
" x x x x Y x x x "
} ;
The plaid name used to reference the pixmap variable is
constructed from the name of the file in which is saved the pixmap. Any
directories are stripped off the front of the name and any suffix beginning
with a period is stripped off the end.
The pixmap variable is a string array in which the first string of
the array contains the width, height, number of colors and number of
characters per pixel.
The following strings represent the color descriptions, one string
per color. A color description can be composed of one or more characters
that represent a pixel, and color display name preceded by the `c'
character, and/or a symbolic name preceded by the `s' character, and/or a
monochrome display name preceded by the `m' character, and or a grey scale 4
levels display name preceded by the string `g4' , and/or a grey scale
display name preceded by the aharacter `g', specified in any order.
Following color description strings, each string represent a line
of the pixmap, composed of symbolic characters assigned to colors.
The format of pixmap files is designed to make pixmaps easy to use
within X programs, whatever your display is. The following code could be
used to create a pixmap to use as a window background, using the enhanced
Xpm library (version 3.3) from Groupe Bull and assuming that the pixmap was
stored in a file name plaid.xpm:
#include "plaid.xpm"
Pixmap pixmap;
XpmCreatePixmapFromData (display, drawable, plaid, &pixmap,
&pixmap_mask, &attributes);
Additional routines are available for reading in pixmap
files and returning the data in the file in Pixmaps.
The hierarchy of the pixmap editor is discribed here in order to
configure the editor by means of X resources in a .Xdefaults file. The first
widget class is the Athena version one, while the second one, seperated by a
| character, is the Motif version one.
Pixmap pixmap
Paned|RowColumn parent
Form|RowColumn formy
MenuButton|CascadeButtonGadget fileButton
SimpleMenu|RowColumn fileMenu
SmeBSB|PushButtonGadget load
SmeBSB|PushButtonGadget insert
SmeBSB|PushButtonGadget save
SmeBSB|PushButtonGadget saveAs
SmeLine|SeparatorGadget line
SmeBSB|PushButtonGadget resize
SmeBSB|PushButtonGadget rescale
SmeBSB|PushButtonGadget filename
SmeBSB|PushButtonGadget hintsCmt
SmeBSB|PushButtonGadget colorsCmt
SmeBSB|PushButtonGadget pixelsCmt
SmeLine|SeparatorGadget line
SmeBSB|PushButtonGadget quit
MenuButton|CascadeButtonGadget editButton
SimpleMenu|RowColumn editMenu
SmeBSB|ToggleButtonGadget image
SmeLine|SeparatorGadget line
SmeBSB|ToggleButtonGadget grid
SmeBSB|ToggleButtonGadget axes
SmeBSB|ToggleButtonGadget proportional
SmeBSB|ToggleButtonGadget zoom
SmeBSB|PushButtonGadget zoomIn
SmeBSB|PushButtonGadget zoomOut
SmeBSB|PushButtonGadget zoomFactor
SmeLine|SeparatorGadget line
SmeBSB|PushButtonGadget cut
SmeBSB|PushButtonGadget copy
SmeBSB|PushButtonGadget paste
SmeBSB|PushButtonGadget crop
MenuButton|CascadeButtonGadget fgButton
SimpleMenu|RowColumn fgMenu
SmeBSB|PushButtonGadget addColor
SmeBSB|PushButtonGadget symbolicName
SmeBSB|PushButtonGadget monochromeName
SmeBSB|PushButtonGadget g4Name
SmeBSB|PushButtonGadget gName
MenuButton|CascadeButtonGadget extensionButton
SimpleMenu|RowColumn extensionMenu
SmeBSB|PushButtonGadget addExtension
SmeBSB|PushButtonGadget <extension_name>
.
.
.
Label|CascadeButtonGadget status
|CascadeButtonGadget statusb
Command|CascadeButtonGadget infoButton
Paned|Form pane
Form|RowColumn form
Command|PushButtonGadget undo
Command|PushButtonGadget clear
Command|PushButtonGadget set
Command|PushButtonGadget redraw
Toggle|ToggleButtonGadget copy
Toggle|ToggleButtonGadget move
Toggle|ToggleButtonGadget mark
Command|PushButtonGadget unmark
|RowColumn formh
Command|PushButtonGadget flipHoriz
Command|PushButtonGadget up
Command|PushButtonGadget flipVert
|RowColumn formh
Command|PushButtonGadget left
Command|PushButtonGadget fold
Command|PushButtonGadget right
|RowColumn formh
Command|PushButtonGadget rotateLeft
Command|PushButtonGadget down
Command|PushButtonGadget rotateRight
Toggle|ToggleButtonGadget point
Toggle|ToggleButtonGadget line
Toggle|ToggleButtonGadget rectangle
Toggle|ToggleButtonGadget filledRectangle
Toggle|ToggleButtonGadget circle
Toggle|ToggleButtonGadget filledCircle
Toggle|ToggleButtonGadget floodFill
Toggle|ToggleButtonGadget setHotSpot
Command|PushButtonGadget clearHotSpot
Toggle|ToggleButtonGadget setPort
Toggle|ToggleButtonGadget clearPort
Toggle|ToggleButtonGadget movePort
Toggle|ToggleButtonGadget portInfo
Paned|PanedWindow vPane
ViewPort|ScrolledWindow colorView
Box|RowColumn colorPane
Command|PushButton <color_name>
.
.
.
ViewPort|ScrolledWindow pixmapView
Pixmap|Pixmap pixmap
TransientShell|TransientShell image
Label|Label label
PopupShell|SelectionBox info
Dialog| dialog
Label| label
Text| value
Command| Okay
PopupShell|SelectionBox input
Dialog| dialog
Label| label
Text| value
Command| Okay
Command| Cancel
PopupShell|SelectionBox file
Dialog| dialog
Label| label
Text| value
Command| Okay
Command| Cancel
PopupShell|SelectionBox error
Dialog| dialog
Label| label
Command| Abort
Command| Retry
PopupShell|SelectionBox qsave
Dialog| dialog
Label| label
Text| value
Command| Yes
Command| No
Command| Cancel
PopupShell|PopupShell extEditorShell|extEditor_popup
Form|Form extEditor
Label|Label name
AsciiText|ScrolledText text
Command|PushButtonGadget ok
Command|PushButtonGadget cancel
Command|PushButtonGadget remove
Lines where only appears one or the other type of a widget (like
Dialog| or |CascadeButtonGadget) mean that the widget doesn't exist in one
or the other version. In the case of dialogs in the Motif version, the
widgets are created by means of convenient routines which assign the name of
the widget depending on the name of the dialog. By the way, we can't provide
with a list of types and names for the substructure of dialog widgets in the
Motif version. However, these shouldn't be often modified.
In addition to the standard Athena or Motif widgets resources,
pixmap uses the following resources for the Pixmap widget (named
pixmap):
- Cursor
- The cursor to use within the Pixmap widget.
- Foreground
- The initial foreground color for drawing.
- Highlight
- The highlighting color.
- Framing
- The framing color, used to draw grid and axes.
- Transparent
- The color representing transparent pixels.
- Proportional
- Toggles initial proportional display mode.
- Grid
- Toggles initial grid display.
- GridTolerance
- Determines when to display grid according to SquareSize.
- Stippled
- Suppress stipple drawing of transparent pixels.
- Stipple
- Depth 1 pixmap to use to draw transparent pixels stippled.
- Axes
- Toggles axes display.
- Resize
- Toggles Pixmap widget resize when requesting by window manager.
- Distance
- The margin around Pixmap widget.
- SquareSize
- The size in screen points used to display each pixmap pixels.
- PixmapWidth
- The initial width of the pixmap.
- PixmapHeight
- The initial height of the pixmap.
- Button1Action
- The action associated to mouse button 1 (between Set, Invert and
Clear).
- Button2Action
- The action associated to mouse button 2 (between Set, Invert and
Clear).
- Button3Action
- The action associated to mouse button 3 (between Set, Invert and
Clear).
- Button4Action
- The action associated to mouse button 4 (between Set, Invert and
Clear).
- Button5Action
- The action associated to mouse button 5 (between Set, Invert and
Clear).
- Filename
- The initial file to load.
- AddColorNtfyProc
- The procedure to call when reading a pixmap file to notify color loading.
It is strongly advised not to change this resource.
- ExtensionNtfyProc
- The procedure to call when reading a pixmap file to notify extension
loading. It is strongly advised not to change this resource.
X(1), Xpm library manual, Xlib - C Language X
Interface (particularly the section on Manipulating Pixmaps)
If you move the pointer too fast while holding a pointer button
down, some pixels may be missed. This is caused by limitations in how
frequently the X server can sample the pointer location.
Loading a pixmap file where the same color is used more than once
with different symbols and descriptions, and writing it will loose
information concerning the color used more than once. The pixmap file plaid
given as an example in this man won't be saved that way by
pixmap.
Accelerators to menu operations don't seem to work with Athena
version.
In the Motif version, the Filename... and Resize...
commands open their respective dialog window in a strange mode. The user has
to voluntary (;-) give the focus to the text widget inside to be able to
change its content.
Copyright 1991,1992,1993,1994 - Lionel Mallet.
pixmap by Lionel Mallet - Simulog. Extension edition and
customized Port editor by Tim Wise - SES Inc.