diff options
Diffstat (limited to 'man/bitmap.man')
-rw-r--r-- | man/bitmap.man | 654 |
1 files changed, 654 insertions, 0 deletions
diff --git a/man/bitmap.man b/man/bitmap.man new file mode 100644 index 0000000..14a248e --- /dev/null +++ b/man/bitmap.man @@ -0,0 +1,654 @@ +.\" Copyright 1993, 1998 The Open Group +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation. +.\" +.\" The above copyright notice and this permission notice shall be included +.\" in all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +.\" OTHER DEALINGS IN THE SOFTWARE. +.\" +.\" Except as contained in this notice, the name of The Open Group shall +.\" not be used in advertising or otherwise to promote the sale, use or +.\" other dealings in this Software without prior written authorization +.\" from The Open Group. +.\" +.\" +.TH BITMAP 1 __xorgversion__ +.SH NAME +bitmap, bmtoa, atobm \- bitmap editor and converter utilities for the X Window System +.SH SYNOPSIS +.B bitmap +[ +.I \-options +\&.\|.\|. ] [ +.I filename +] [ +.I basename +] +.sp +.B bmtoa +[ +.B \-chars +\&.\|.\|. ] [ +.I filename +] +.sp +.B atobm +[ +.B \-chars +.I cc +] [ +.B \-name +.I variable +] [ +.B \-xhot +.I number +] [ +.B \-yhot +.I number +] [ +.I filename +] +.SH DESCRIPTION +The \fIbitmap\fP program is a rudimentary tool for creating or editing +rectangular images made up of 1's and 0's. Bitmaps are used in X for +defining clipping regions, cursor shapes, icon shapes, and tile and +stipple patterns. +.PP +The \fIbmtoa\fP and \fIatobm\fP filters convert \fIbitmap\fP files (FILE +FORMAT) to and from ASCII strings. They are most commonly used to +quickly print out bitmaps and to generate versions for including in text. +.SH COMMAND LINE OPTIONS +\fIBitmap\fP supports the standard X Toolkit command line arguments +(see \fIX\fP(1)). The following additional arguments are supported as well. +.TP 4 +.B \-size\fI WIDTHxHEIGHT\fP +Specifies size of the grid in squares. +.TP 4 +.B \-sw\fI dimension\fP +Specifies the width of squares in pixels. +.TP 4 +.B \-sh\fI dimension\fP +Specifies the height of squares in pixels. +.TP 4 +.B \-gt\fI dimension\fP +Grid tolerance. If the square dimensions fall below the specified +value, grid will be automatically turned off. +.TP 4 +.B \-grid, +grid +Turns on or off the grid lines. +.TP 4 +.B \-axes, +axes +Turns on or off the major axes. +.TP 4 +.B \-dashed, +dashed +Turns on or off dashing for the frame and grid lines. +.TP 4 +.B \-stippled, +stippled +Turns on or off stippling of highlighted squares. +.TP 4 +.B \-proportional, +proportional +Turns proportional mode on or off. If proportional mode is on, +square width is equal to square height. If proportional mode is +off,\fI bitmap\fP will use the smaller square dimension, if they +were initially different. +.TP 4 +.B \-dashes\fI filename\fP +Specifies the bitmap to be used as a stipple for dashing. +.TP 4 +.B \-stipple\fI filename\fP +Specifies the bitmap to be used as a stipple for highlighting. +.TP 4 +.B \-hl\fI color\fP +Specifies the color used for highlighting. +.TP 4 +.B \-fr\fI color\fP +Specifies the color used for the frame and grid lines. +.TP 4 +.B filename +Specifies the bitmap to be initially loaded into the program. +If the file does not exist,\fI bitmap\fP will assume it is a new file. +.TP 4 +.B basename +Specifies the basename to be used in the C code output file. +If it is different than the basename in the working file,\fI bitmap\fP +will change it when saving the file. +.PP +\fIBmtoa\fP accepts the following option: +.TP 4 +.B \-chars \fIcc\fP +This option specifies the pair of characters to use in the string version +of the bitmap. The first character is used for 0 bits and the second character +is used for 1 bits. The default is to use dashes (\-) for 0's and sharp signs +(#) for 1's. +.PP +\fIAtobm\fP accepts the following options: +.TP 4 +.B \-chars \fIcc\fP +This option specifies the pair of characters to use when converting string +bitmaps into arrays of numbers. The first character represents a 0 bit and +the second character represents a 1 bit. The default is to use dashes (\-) +for 0's and sharp signs (#) for 1's. +.TP 4 +.B \-name \fIvariable\fP +This option specifies the variable name to be used when writing out the +bitmap file. The default is to use the basename of the \fIfilename\fP command +line argument or leave it blank if the standard input is read. +.TP 4 +.B \-xhot \fInumber\fP +This option specifies the X coordinate of the hotspot. Only positive values +are allowed. By default, no hotspot information is included. +.TP 4 +.B \-yhot \fInumber\fP +This option specifies the Y coordinate of the hotspot. Only positive values +are allowed. By default, no hotspot information is included. +.SH USAGE +\fIBitmap\fP displays grid in which each square represents a single +bit in the picture being edited. Actual size of the bitmap image, as +it would appear normally and inverted, can be obtained by pressing\fB +Meta-I\fP key. You are free to move the image popup out of the way to +continue editing. Pressing the left mouse button in the popup window +or\fB Meta-I\fP again will remove the real size bitmap image. +.PP +If the bitmap is to be used for defining a cursor, one of the squares +in the images may be designated as the hot spot. This determines +where the cursor is actually pointing. For cursors with sharp tips +(such as arrows or fingers), this is usually at the end of the tip; +for symmetric cursors (such as crosses or bullseyes), this is usually +at the center. +.PP +Bitmaps are stored as small C code fragments suitable for including in +applications. They provide an array of bits as well as symbolic +constants giving the width, height, and hot spot (if specified) that +may be used in creating cursors, icons, and tiles. +.SH EDITING +To edit a bitmap image simply click on one of the buttons with drawing +commands (\fBPoint, Curve, Line, Rectangle,\fP etc.) and move the +pointer into the bitmap grid window. Press one of the buttons on your +mouse and the appropriate action will take place. You can either set, +clear or invert the gird squares. Setting a grid square corresponds +to setting a bit in the bitmap image to 1. Clearing a grid square +corresponds to setting a bit in the bitmap image to 0. Inverting a +grid square corresponds to changing a bit in the bitmap image from 0 to +1 or 1 to 0, depending what its previous state was. The +default behavior of mouse buttons is as specified below. +.sp +.nf + MouseButton1 Set + MouseButton2 Invert + MouseButton3 Clear + MouseButton4 Clear + MouseButton5 Clear +.fi +.sp +This default behavior can be changed by setting the button function +resources. An example is provided below. +.sp +.nf + bitmap*button1Function: Set + bitmap*button2Function: Clear + bitmap*button3Function: Invert + etc. +.fi +.sp +The button function applies to all drawing commands, including copying, +moving and pasting, flood filling and setting the hot spot. +.SH DRAWING COMMANDS +Here is the list of drawing commands accessible through the +buttons at the left side of the application's window. Some commands +can be aborted by pressing A inside the bitmap window, allowing the +user to select different guiding points where applicable. +.TP 4 +.B Clear +This command clears all bits in the bitmap image. The grid squares +will be set to the background color. Pressing C inside the bitmap +window has the same effect. +.TP 4 +.B Set +This command sets all bits in the bitmap image. The grid squares +will be set to the foreground color. Pressing S inside the bitmap +window has the same effect. +.TP 4 +.B Invert +This command inverts all bits in the bitmap image. The grid squares +will be inverted appropriately. Pressing I inside the bitmap window +has the same effect. +.TP 4 +.B Mark +This command is used to mark an area of the grid by dragging out a +rectangular shape in the highlighting color. Once the area is marked, +it can be operated on by a number of commands (see \fBUp, Down, Left, +Right, Rotate, Flip, Cut,\fP etc.) Only one marked area can be present +at any time. If you attempt to mark another area, the old mark will +vanish. The same effect can be achieved by pressing\fB +Shift-MouseButton1\fP and dragging out a rectangle in the grid window. +Pressing\fB Shift-MouseButton2\fP will mark the entire grid area. +.TP 4 +.B Unmark +This command will cause the marked area to vanish. The same effect can +be achieved by pressing\fB Shift-MouseButton3\fP. +.TP 4 +.B Copy +This command is used to copy an area of the grid from one location to +another. If there is no marked grid area displayed,\fB Copy\fP +behaves just like\fB Mark\fP described above. Once there is a marked +grid area displayed in the highlighting color, this command has two +alternative behaviors. If you click a mouse button inside the marked +area, you will be able to drag the rectangle that represents the +marked area to the desired location. After you release the mouse +button, the area will be copied. If you click outside the marked +area,\fB Copy\fP will assume that you wish to mark a different region of +the bitmap image, thus it will behave like\fB Mark\fP again. +.TP 4 +.B Move +This command is used to move an area of the grid from one location to +another. Its behavior resembles the behavior of\fB Copy\fP command, +except that the marked area will be moved instead of copied. +.TP 4 +.B Flip Horizontally +This command will flip the bitmap image with respect to the horizontal axes. +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing H inside the bitmap window has the +same effect. +.TP 4 +.B Up +This command moves the bitmap image one pixel up. +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing UpArrow inside the bitmap window has the +same effect. +.TP 4 +.B Flip Vertically +This command will flip the bitmap image with respect to the vertical axes. +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing V inside the bitmap window has the +same effect. +.TP 4 +.B Left +This command moves the bitmap image one pixel to the left. +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing LeftArrow inside the bitmap window has +the same effect. +.TP 4 +.B Fold +This command will fold the bitmap image so that the opposite corners +become adjacent. This is useful when creating bitmap images for +tiling. Pressing F inside the bitmap window has the same effect. +.TP 4 +.B Right +This command moves the bitmap image one pixel to the right. +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing RightArrow inside the bitmap window +has the same effect. +.TP 4 +.B Rotate Left +This command rotates the bitmap image 90 degrees to the left (counter +clockwise.) +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing L inside the bitmap window has the +same effect. +.TP 4 +.B Down +This command moves the bitmap image one pixel down. +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing DownArrow inside the bitmap window +has the same effect. +.TP 4 +.B Rotate Right +This command rotates the bitmap image 90 degrees to the right (clockwise.) +If a marked area of the grid is highlighted, it will operate only +inside the marked area. Pressing R inside the bitmap window has the +same effect. +.TP 4 +.B Point +This command will change the grid squares underneath the mouse pointer if +a mouse button is being pressed down. If you drag the mouse button +continuously, the line may not be continuous, depending on the speed of your +system and frequency of mouse motion events. +.TP 4 +.B Curve +This command will change the grid squares underneath the mouse pointer if +a mouse button is being pressed down. If you drag the mouse button +continuously, it will make sure that the line is continuous. If your system +is slow or\fI bitmap\fP receives very few mouse motion events, it might +behave quite strangely. +.TP 4 +.B Line +This command will change the gird squares in a line between two squares. +Once you press a mouse button in the grid window,\fI bitmap\fP will +highlight the line from the square where the mouse button was initially +pressed to the square where the mouse pointer is located. By releasing the +mouse button you will cause the change to take effect, and the highlighted +line will disappear. +.TP 4 +.B Rectangle +This command will change the gird squares in a rectangle between two squares. +Once you press a mouse button in the grid window,\fI bitmap\fP will +highlight the rectangle from the square where the mouse button was initially +pressed to the square where the mouse pointer is located. By releasing the +mouse button you will cause the change to take effect, and the highlighted +rectangle will disappear. +.TP 4 +.B Filled Rectangle +This command is identical to\fB Rectangle\fP, except at the end the +rectangle will be filled rather than outlined. +.TP 4 +.B Circle +This command will change the gird squares in a circle between two squares. +Once you press a mouse button in the grid window,\fI bitmap\fP will +highlight the circle from the square where the mouse button was initially +pressed to the square where the mouse pointer is located. By releasing the +mouse button you will cause the change to take effect, and the highlighted +circle will disappear. +.TP 4 +.B Filled Circle +This command is identical to\fB Circle\fP, except at the end the +circle will be filled rather than outlined. +.TP 4 +.B Flood Fill +This command will flood fill the connected area underneath the mouse +pointer when you click on the desired square. Diagonally adjacent +squares are not considered to be connected. +.TP 4 +.B Set Hot Spot +This command designates one square in the grid as the hot spot if this +bitmap image is to be used for defining a cursor. Pressing a mouse button +in the desired square will cause a diamond shape to be displayed. +.TP 4 +.B Clear Hot Spot +This command removes any designated hot spot from the bitmap image. +.TP 4 +.B Undo +This command will undo the last executed command. It has depth one, +that is, pressing\fB Undo\fP after\fB Undo\fP will undo itself. +.SH FILE MENU +The File menu commands can be accessed by pressing the File button and +selecting the appropriate menu entry, or by pressing Ctrl key with +another key. These commands deal with files and global bitmap +parameters, such as size, basename, filename etc. +.TP 4 +.B New +This command will clear the editing area and prompt for the name of +the new file to be edited. It will not load in the new file. +.TP 4 +.B Load +This command is used to load a new bitmap file into the bitmap editor. +If the current image has not been saved, user will be asked whether to +save or ignore the changes. The editor can edit only one file at a +time. If you need interactive editing, run a number of editors and +use cut and paste mechanism as described below. +.TP 4 +.B Insert +This command is used to insert a bitmap file into the image +being currently edited. After being prompted for the filename, +click inside the grid window and drag the outlined rectangle to the +location where you want to insert the new file. +.TP 4 +.B Save +This command will save the bitmap image. It will not prompt for the +filename unless it is said to be <none>. If you leave the filename +undesignated or \-, the output will be piped to stdout. +.TP 4 +.B Save As +This command will save the bitmap image after prompting for a new +filename. It should be used if you want to change the filename. +.TP 4 +.B Resize +This command is used to resize the editing area to the new number of +pixels. The size should be entered in the WIDTHxHEIGHT format. The +information in the image being edited will not be lost unless the new +size is smaller that the current image size. The editor was not +designed to edit huge files. +.TP 4 +.B Rescale +This command is used to rescale the editing area to the new width and +height. The size should be entered in the WIDTHxHEIGHT format. It will +not do antialiasing and information will be lost if you rescale to the +smaller sizes. Feel free to add you own algorithms for better rescaling. +.TP 4 +.B Filename +This command is used to change the filename without changing the basename +nor saving the file. If you specify \- for a filename, the output will +be piped to stdout. +.TP 4 +.B Basename +This command is used to change the basename, if a different one from +the specified filename is desired. +.TP 4 +.B Quit +\This command will terminate the bitmap application. If the file was +not saved, user will be prompted and asked whether to save the image +or not. This command is preferred over killing the process. +.SH EDIT MENU +The Edit menu commands can be accessed by pressing the Edit button and +selecting the appropriate menu entry, or by pressing Meta key with +another key. These commands deal with editing facilities such as +grid, axes, zooming, cut and paste, etc. +.TP 4 +.B Image +This command will display the image being edited and its inverse in its +actual size in a separate window. The window can be moved away to continue +with editing. Pressing the left mouse button in the image window will +cause it to disappear from the screen. +.TP 4 +.B Grid +This command controls the grid in the editing area. If the grid spacing +is below the value specified by gridTolerance resource (8 by default), +the grid will be automatically turned off. It can be enforced by explicitly +activating this command. +.TP 4 +.B Dashed +This command controls the stipple for drawing the grid lines. The stipple +specified by dashes resource can be turned on or off by activating this +command. +.TP 4 +.B Axes +This command controls the highlighting of the main axes of the image +being edited. The actual lines are not part of the image. They are +provided to aid user when constructing symmetrical images, or whenever +having the main axes highlighted helps your editing. +.TP 4 +.B Stippled +This command controls the stippling of the highlighted areas of the +bitmap image. The stipple specified by stipple resource can be turned on +or off by activating this command. +.TP 4 +.B Proportional +This command controls the proportional mode. If the proportional mode +is on, width and height of all image squares are forced to be equal, +regardless of the proportions of the bitmap window. +.TP 4 +.B Zoom +This command controls the zoom mode. If there is a marked area of the +image already displayed, bitmap will automatically zoom into it. Otherwise, +user will have to highlight an area to be edited in the zoom mode and +bitmap will automatically switch into it. One can use all the editing +commands and other utilities in the zoom mode. When you zoom out, undo +command will undo the whole zoom session. +.TP 4 +.B Cut +This commands cuts the contents of the highlighted image area into the +internal cut and paste buffer. +.TP 4 +.B Copy +This command copies the contents of the highlighted image area into the +internal cut and paste buffer. +.TP 4 +.B Paste +This command will check if there are any other bitmap applications with +a highlighted image area, or if there is something in the internal cut +and paste buffer and copy it to the image. To place the copied image, +click in the editing window and drag the outlined image to the position +where you want to place i, and then release the button. +.SH CUT AND PASTE +Bitmap supports two cut and paste mechanisms; the internal cut and +paste and the global X selection cut and paste. The internal cut and +paste is used when executing copy and move drawing commands and also +cut and copy commands from the edit menu. The global X selection cut +and paste is used whenever there is a highlighted area of a bitmap +image displayed anywhere on the screen. To copy a part of image from +another bitmap editor simply highlight the desired area by using the +Mark command or pressing the shift key and dragging the area with the +left mouse button. When the selected area becomes highlighted, any +other applications (such as xterm, etc.) that use primary selection +will discard their selection values and unhighlight the appropriate +information. Now, use the Paste command for the Edit menu or control +mouse button to copy the selected part of image into another (or the +same) bitmap application. If you attempt to do this without a visible +highlighted image area, the bitmap will fall back to the internal cut +and paste buffer and paste whatever was there stored at the moment. +.SH WIDGETS +Below is the widget structure of the \fIbitmap\fP +application. Indentation indicates hierarchical structure. The +widget class name is given first, followed by the widget instance +name. All widgets except the bitmap widget are from the standard +Athena widget set. +.sp +.nf + Bitmap bitmap + TransientShell image + Box box + Label normalImage + Label invertedImage + TransientShell input + Dialog dialog + Command okay + Command cancel + TransientShell error + Dialog dialog + Command abort + Command retry + TransientShell qsave + Dialog dialog + Command yes + Command no + Command cancel + Paned parent + Form formy + MenuButton fileButton + SimpleMenu fileMenu + SmeBSB new + SmeBSB load + SmeBSB insert + SmeBSB save + SmeBSB saveAs + SmeBSB resize + SmeBSB rescale + SmeBSB filename + SmeBSB basename + SmeLine line + SmeBSB quit + MenuButton editButton + SimpleMenu editMenu + SmeBSB image + SmeBSB grid + SmeBSB dashed + SmeBSB axes + SmeBSB stippled + SmeBSB proportional + SmeBSB zoom + SmeLine line + SmeBSB cut + SmeBSB copy + SmeBSB paste + Label status + Pane pane + Bitmap bitmap + Form form + Command clear + Command set + Command invert + Toggle mark + Command unmark + Toggle copy + Toggle move + Command flipHoriz + Command up + Command flipVert + Command left + Command fold + Command right + Command rotateLeft + Command down + Command rotateRight + Toggle point + Toggle curve + Toggle line + Toggle rectangle + Toggle filledRectangle + Toggle circle + Toggle filledCircle + Toggle floodFill + Toggle setHotSpot + Command clearHotSpot + Command undo +.fi +.SH COLORS +If you would like bitmap to be viewable in color, include the following +in the #ifdef COLOR section of the file you read with xrdb: +.sp 1 +*customization: \-color +.sp 1 +.br +This will cause bitmap to pick up the colors in the app-defaults color +customization file: +.sp 1 + __apploaddir__/Bitmap-color +.sp 1 +.fi +.SH BITMAP WIDGET +Bitmap widget is a stand-alone widget for editing raster images. It +is not designed to edit large images, although it may be used in that +purpose as well. It can be freely incorporated with other +applications and used as a standard editing tool. The following are +the resources provided by the bitmap widget. +.sp +.nf +Bitmap Widget + +Header file Bitmap.h +Class bitmapWidgetClass +Class Name Bitmap +Superclass Bitmap + + +All the Simple Widget resources plus .\|.\|. +.ta 1.6i 3.2i 4.8i + +Name Class Type Default Value + +foreground Foreground Pixel XtDefaultForeground +highlight Highlight Pixel XtDefaultForeground +framing Framing Pixel XtDefaultForeground +gridTolerance GridTolerance Dimension 8 +size Size String 32x32 +dashed Dashed Boolean True +grid Grid Boolean True +stippled Stippled Boolean True +proportional Proportional Boolean True +axes Axes Boolean False +squareWidth SquareWidth Dimension 16 +squareHeight SquareHeight Dimension 16 +margin Margin Dimension 16 +xHot XHot Position NotSet (\-1) +yHot YHot Position NotSet (\-1) +button1Function Button1Function DrawingFunction Set +button2Function Button2Function DrawingFunction Invert +button3Function Button3Function DrawingFunction Clear +button4Function Button4Function DrawingFunction Invert +button5Function Button5Function DrawingFunction Invert +filename Filename String None ("") +basename Basename String None ("") +.fi + +.SH AUTHOR +Davor Matic, MIT X Consortium |