CrackArt v1.30 TT+ by Jaybee & Roy
Translator's Note: This is a first draft and has not been
edited; it may contain errors. Neither I nor the Miami Valley
Atari Computer Enthusiasts will assume responsibility for any
loss of income, hardware, or software which you may think
resulted from the use of Crack Art. The risk is yours.
I have tried to follow the spirit of the German text, but having
no color monitor, I have not been able to check my work. In some
places I had to guess at what the authors meant. Nonetheless,
the description shows this to be a very powerful drawing program,
equal to those from the Mac or DOS camps costing hundreds of
dollars.
Translation Copyright 1992 by Kervyn D. Mach and the Miami Valley
Atari Computer Enthusiasts, Inc. Permission to copy and
distribute is given as long as this notice remains with the
document. Commercial sale of this translation is forbidden.
Miami Valley Atari Computer Enthusiasts
P.O. Box. 24221
Dayton, Ohio 45424
$3.00 For Disk Library Listing
This is part one of the Crack Art Doc this file contains the
Graphic Part of the Manual
Foreword to CRACK ART
________________________________________________________________
CRACK ART is, after long delay, now shareware and may not be sold
commercially. The program may be further copied only together
with this introduction. If you use it a lot, or just feel like
it, send us DM20 (no play money, please) [about $13.33 US in Feb
'92 - ed]
The source code for CRACK ART consists of:
- 13080 lines of GFA Basic - 148 principal assembler routines
(compressed, about 1.5MBytes)
The graphics claim about 134 kBytes.
Programmers interested in the GFA source code can get it complete
(including assembler INLINES and graphics) for about 0.5734
Pfennig per line [one third of a cent per line]. That would be
then a ridiculous 75 marks [$50.00]. Therefore, laugh and cough
up.
The programmers accept no liability for possible damage to hard-
or software resulting from the use of CRACK ART. (Since we've
had not one problem in three years, we don't think you'll be the
first.)
It goes without saying that you should first of all make a
tenpack of backup copies [also if you prefer sixpacks].
We had originally planned on a commercial enterprise through a
firm whose name sounds like that of a classic 3D game in which a
spaceship flies diagonally through the cosmos. Though their
proposal sounded generous and had us thinking of huge profits, we
were in the end outmaneuvered. Though we'd get DM 2.50 per unit
sold (which we'd have to split) immediately, we hope that the
shareware route will lead to surer (hard earned) money.
Horn Blowing: The history of CRACK ART is quite amusing for
those involved, probably more so for those who have run into the
program or who know us.
From the authors (early 1990)
Jan 'Jaybee' Borchers
-----------------------------------------------------------------
It all started with a Holsten... No...and...yes... It all
started with the old Atari 800. As Atari then introduced its new
XL series, I traded for a 600XL, later for an 800XL, which after
a short time was traded in toward a pool table. Suddenly in
1987 an Atari 1040 STF stood on my 2.65 meter [8'9"] wide
computer table. An Atari 520 ST was added to enable faster
programming and test runs. (Networking research has
unfortunately remained just that.). The 520 ST was soon sold
again and in the meantime the 1040 grew to have little in common
with the purchased item (PC case with two drives, modem,
switchable operating system, built-in video digitizer, sound
sampler, MHz indicator and NMI interrupt. The stereo and the
sound distorter were taken back out.) Had you noticed? I'm a
hardware hacker. Next is my TT8 (crappy sound from the internal
speaker).
Back to CRACK ART. Why the name? There is a diskette monitor by
the name of CRACK, which, not yet full fledged, was designed for
hacking about in every data Babel one could find on a disk.
After we put this project on ice and decided on a pixel oriented
drawing program to fulfill the same demands, we kind of adopted
the name. To account for the artistic part, we tacked on the
ART. The name was there; all we needed was the software.
Detlef "Roy" Roettger
-----------------------------------------------------------------
I had my first contact with computers when a classmate showed me
his newest acquisition. I don't remember its name any more.
Anyway, he soon traded it toward an Atari 400 (Price at that time
about DM 1250 [$833 at today's rate of exchange]). With this
computer, astounding things were possible and my interest grew.
Later I bought myself an Atari 800XL. Shortly before I started
college, I blew my savings on an Atari 260ST, which I still have,
along with the 800XL, by the way.
After experiencing various painting, drawing, and construction
programs, we wanted to develop our own program, which would be
superior to other programs in spe ed and especially in ease of
use.
That brought Alex, at the time an Information Sciences student in
Erlangen, to the careless statement that this project, too, would
be broken off before it was finished (sadly, it has happened).
...................
CRACK ART grew and grew, becoming a goal in itself as we
implemented more and more new ideas.
Existence to everything - no program without its own picture
format. The depackers and packers for the various graphic
programs were so numerous that the idea for a pack algorithm of
our own grew and grew. Therefore, files with the CA1 extension
are low resolution pictures, with CA2 and CA3 being medium and
high re solution pictures respectively. Thanks to certain
tricks, the packer compresses very effectively. We know of no
other graphics program that compresses its own files more
effectively than CRACK ART. (Except for a new one of mine, in
which the menu graphics were written. It uses the LZW packing
algorithm.)
Additional Comments (May 1991)
----------------------------------------------------
Jan now owns a TT. And guess what. Despite "incompatible" (Hey
Julian!) programming methods, CRACK ART runs on it as well!!!
Because we wrote most of the routines in assembler, the faster
processor with the mind blowing speed has no trouble at all.
CRACK ART Handbook 1.00 TT+
Copyright Detlef Roettger and Jan Borchers
---------------------------------------------------------------
-----------------------------------------------------------------
CRACK ART runs on every Atari ST/TT with at least 1 MB memory,
TOS in ROM, and color monitor. We recommend at least 1.5 MB.
The STE was not tested, but should have no problems.
The Handbook
-----------------------------
We have tried to make the handbook as thorough as possible,
though it is really easier to show the operation to someone than
to describe it in hairsplitting detail (One picture says more
than a thousand words). Should a function seem unbelievably
complicated at the first reading, you're probably right, but in
practice it will prove to be simple and useful. Therefore, you
should try each function as you read about it, on line as it were
(assuming you have printed this out or own two computers).
With this program, you have a powerful tool for producing and
modifying graphics in ST low resolution. We've had great fun
with the development and we wouldn't like to be without the
program. We believe that you will see that when you use the
program and moreover that opportunities for creating useful
programs are not yet gone.
We hope the explanations in this handbook are not too dry. We
have strewn numerous small examples (and occasional wacky
comments from Jan...) liberally in the text. These should
clarify the operation of the program and lead the user through
the tiny details.
For those in a hurry, there is a list of keyboard commands for
the elementary operations at the end of this handbook. These
alone, however, won't clarify most functions. After that is an
appendix with the HAVE YOU EVER SEEN...? details of the program.
On the Construction of the Menus
-------------------------------------------------
The various functions are represented on the menu by colored
icons. You will immediately distinguish five groups:
-Icons for the elementary drawing functions (in shades of gray)
-Icons for block operations (multicolored)
-Icons for disk operations (disk icon)
-Icons for choice of screen (numbered in sequence)
-Icons for special functions (strange)
Functions are selected with the left mouse button. Some drawing
functions allow specification of parameters after a double click.
The right mouse button togg les between the menu and the drawing
screen(s).
Exit the program by clicking on the desktop icon in the lower
right corner. If all drawing screens are empty, the program
simply quits. Otherwise, it enumerates the occupied screens and
gives you the opportunity to save or abandon them.
Date and time are easy to set; the day of the week is then
automatically calculated. The displayed time changes only when
you click on a menu selection. (Mor e about this later.)
General Overview of Alert- and Dialog Boxes.
---------------------------------------------------------------
Alert Boxes
--------------------
The alert boxes used in CRACK ART were entirely developed by us
so there would be no breaks in the appearance of the menus.
Their function is easily explained . All alert boxes contain up
to ten lines of text and as many buttons as necessary in the
bottom row. Default selections are ringed with red and can be
sele cted with RETURN. Otherwise, make your choice with the left
mouse button. All buttons have exit status.
Dialog Boxes
---------------------
The dialog boxes are somewhat more flexible in construction than
the alert boxes. The first line of text names the function of
the alert box, after which usu ally folow several lines denoting
a function and buttons to activate them. The last line always
consists of the buttons 'OK' and 'CANCEL.' Currently active
functions are ringed with red. Parameters can be changed any way
you wish. They will take effect only after you leave the box by
clicking on OK and the next time you call the dialog box, your
last inputs will show as current, i.e. ringed in red. If you
click on CANCEL, the old values remain.
File Select Box
----------------------
See under Disk Operations.
Menu Icons
-----------------------
-MENU SETS-
---------------------------
The very first button in the menu allows global parameters to be
set.
Parameter:
Bootvirus Test: On Off
Double Click: Slow Normal Fast
Mouse Form: Shaded Normal Stripes
Mouse Color: Red Yellow Green Blue
Mouse Shadow: On Off
Menu Frames: Red Yellow Green Blue
When SAVE SETTINGS is selected, these parameters are saved in a
file called CRACKART.INF. The next time you load CRACK ART, they
will be automatically set.
-----------------------------------------------------------------
- WORK SETS -
-----------------------------------------------------------------
So far, only three parameters may be set here.
Parameter:
Preview Zoom: On Off
Zoom Grid: On Off
Colors: Neochrome Cube
Preview Zoom toggles the real time loupe between the function
keys and the shifted function keys. Zoom Grid determines whether
a pixel splitting raster is act ive in the loupe. Colors alters
the format of the color selection after a double click on a color
in the color menu (which also see).
-----------------------------------------------------------------
- ASM -
-----------------------------------------------------------------
Should somehow you want a function we haven't built in already,
you can hang one of your own, up to 5000 bytes, here. From the
stack, the routine will get the address of the working screen,
the address of its color palette,and the addresses of three
additional screens you can use as working storage. Be very
carefu l not to exceed 32000 bytes per screen, or the program
will probably crash. An example follows:
;-Example-------------------------------
.TEXT ; Save registers before proceeding.
movem.l d1-d7/a0-a6,-(sp)
;These addresses are on the stack and can be fetched like so.
(Caution! When using this simple method in subroutines, pay
attention, because the offsets are adjusted by the return
address)
move.l 60(sp),a0 ; Address of the current screen
move.l 64(sp),a1 ; Address of the color palette
(16 words)
move.l 68(sp),a2 ; Address of the first workscreen
move.l 72(sp),a3 ; Address of the second
workscreen
move.l 76(sp),a4 ; Address of the third workscreen
; Or you can replace the preceding five lines with
; movem.l 60(sp),a0-a4
;Your routine starts here
.
.
.; And ends here
;Before returning, restore the registers
movem.l (sp)+,d1-d7/a0-a6
rts
.DATA
.EVEN ; Within the 5000 Bytes some storage is available
label_1: .DC.W ... ... label_n:.DC.W ...
.END;
The routine must be written completely PC relative and, naturally
can't contain a Block Storage Segment (.BSS). Assemble as a
.PRG. If you haven't mastered Assembler, forget the whole thing
here and now. If you're a C professional (I hate C! - Jan) [Me
too! - ed], you might try that. Additionally, you can use the
Physbase as working storage. On return from your routine, the
menu is redrawn.
Drawing Functions:
---------------------------------------------------------------
+* Draw D = Freehand drawing
+ Eraser E = Eraser
+ Point P = Single points
+ Line L = Draw single line
+* K-Line K = Polyline
+ Rays R = Rays
+ Frame F = Rectangle
+* Circle C = Circle and Ellipse
* Airbrush A = Spray can
+* Box X = Filled rectangle
+* Disc Y = Filled Circles and Ellipses
+* Polygon W = Filled polygon
* Spline I = Two different spline algorithms and one
curve routine
* Smear S = Smear pixels on the screen
* Outline O = Add borders to Lines and areas
+ Fill Z = Fill a screen region
* Mirror M = Draw with symmetry axes
* Text T = Put text on the screen
The functions marked with a plus sign work also with blocks. The
block then serves as a paintbrush, or for functions that operate
on surfaces, as a fill pattern using the current pattern (See
also Color Menu). The functions marked with an asterisk control
parameters which can be changed after double clicking on the
icon. The letter after the function name is the keyboard
equivalent of the menu icon.
A colored border around the icon shows that it has been selected.
The permissible MIRRORed drawing operations are automatically
recognized and corrected if necessary. Drawing functions which
require several operations are cancelled or ended with the right
mouse button.
The Drawing Functions:
---------------------------------
-DRAW-
----------------------------------
Freehand drawing with the mouse button down.
Brush or Block.
Parameters:
Tint: Opaque Scrape
Source: 1 2 3 4 5 6 7 8 9
When Opaque is selected, you can't see through the drawn lines.
With Scrape you scratch through the background of the screen
selected via Source. This function is especially handy for
trimming blocks whose edges were not neatly cut out.
Limitations: You can't draw polylines with Opaque in block mode.
Hint: Use slow mouse movements. Scrape works only pointwise
and not with Block. Scrape large areas with BOX (which see).
-POINT-
---------------------------
Set single points.
Brush or Block
Point, in conjunction with the SHIFT and CONTROL keys, turns on
special functions.
SHIFT: The block is copied behind the current picture.
CONTROL: The block is copied onto the current picture and the
part of the picture that was covered up becomes the new block.
With this, arbitrarily complicated blocks (especially in OBJECT
mode) can be brought onto a picture. Try it once!
-LINE-
----------------------
Draw lines by specifying the end points.
Brush or Block
-K-LINE-
--------------------
Draw arbitrarily long chains of connected straight lines or
regular polygons. End a line chain with the right mouse button.
On completion of a polygon, the mouse is set in the center so
that you can draw concentric polygons without having to mark the
center point.
Brush or block.
Parameters:
Mode: Free Regular
Edges: 3 4 5 6 7 8 9
Limitations: - Blocks can't be used with regular polygons.
- FRAME -
---------------------
Draw squares by marking two corners with the mouse.
Brush or block.
- CIRCLE -
------------------------
Draw circles and ellipses. On completion of a circle, the mouse
is set at the center so you can draw concentric circles [or
ellipses? -ed] without having to locate the center point.
Brush or block.
Parameters:
Mode: Center 2-Point 3-Point
In center mode, circles and ellipses are specified with the
center point and the radius or two semiaxes. To get true
circles, hold down the ALTERNATE key while drawing.
In 2-Point mode, you mark two points which are taken as the ends
of a diameter and the circle is drawn between them. In 3-Point
mode, you specify three points [not in a straight line] and a
circle is fit to them.
Limitations: CIRCLE works in Center mode only with the block.
- ERASER -
--------------------------
Brush: Mark the size of your eraser with a rectangle. With it,
you can wipe the screen clean, except for the frame of the
rectangle itself. Resize the rectangle by pressing the right
mouse button.
Block: The block is your eraser. The form of the block comes
from the block mode (which see).
- AIRBRUSH -
------------------------------
Spray can
Parameters:
Form: Flat Center - Uniform density across the spray or
heavier in the middle
Flow: Low Medium High Rate of flow
Before spraying, set the spray size with a circle.
Limitations: Works only with Brush.
- RAYS -
----------------
Draw lines with a common start point.
Brush or block.
- POLYGON -
------------------------
Draw filled polygons, regular or no. Use the right mouse button
when drawing irregular polygons.
Brush: The polygon will be filled with the current background
pattern.
Block: The polygon will be filled with the background associated
with the block.
Limitations: Not more than 128 sides, please.
- BOX -
--------------------
Draw a filled rectangle or carry out a special function inside a
rectangular region.
Set two corner points of the rectangle with the mouse.
Parameters:
Tint: Opaque Scrape Glass Effects
Source 1 2 3 4 5 6 7 8 9
Opaque:
Brush: The rectangle will be filled with the current
background pattern.
Block: The rectangle will be filled with the background
pattern associated with the block. (Try a checkerboard
pattern and a multi-colored block.)
Scrape: A rectangular region will be 'scraped' out of the
screen specified by Source and the colors will be
adjusted simultaneously.
Glass: The current color will be applied transparently over
the rectangle. (Good for multiple levels of a color.)
Effects: An effect routine will be applied over the rectangle.
The effects are specified in Source:
1 = ANTI 4 5 = EROSION
2 = ANTI 8 6 = MEDIAN -
3 = ROUND 7 = MEDIAN
4 = CONTRAST 8 = MEDIAN +
9 = DILATATION
Limitations: With a block, only opaque mode is available.
- DISC -
------------------
Draw filled circles or ellipses.
Brush or block.
Parameters:
Mode: Center 2-Point 3-Point
Same as CIRCLE, above. In brush mode, the current background is
the fill pattern, while block mode uses the pattern associated
with the block.
- TEXT -
------------------
Add lines of text with either standard or a user-defined font.
Specify the standard font's parameters in the Color menu (which
see).
Further Parameters:
User-defined fonts may be no more than 32x32 pixels in 16
colors. CAUTION: User-defined fonts are always loaded on the
current screen!
Settings:
Width - of the character
Height - of the character
Distance - between two characters in proportional spacing.
Screen - which one do you want the font on?
Save Parameters: A file with the name of the current screen and
the extension DEF will be written with the current parameters.
When a picture in the format C A1, IC1, PI1, or PC1 is loaded, a
matching DEF file will be sought, and if found, read.
To load SIGNUM! editor fonts: The characters are 16x24 pixels
and are always in color #15. (Can be changed with EXCHANGE in
the color menu.) These values will be automatically set.
Distance is set to 1. In the color menu, EXTRA and PROP are
chosen in order to be able to work with the fonts immediately.
To load editor FNT fonts (TEMPUS, EDIMAX, DEGAS...) Up to 8x16
pixels, the above holds.
- OUTLINE -
----------------------------
Put a colored border around an area. Select the area and/or the
color with the mouse.
Parameters:
Form: Round Square - Mark the corners of the border.
Part: Local Global - Put a border around only this area or
around all areas of the same color on the screen.
Mode: Initial All Put a border around only the selected
color or bring all neighboring colors into the area.
Type: Stay Grow - The bounded area remains or is wiped out.
Limitations: Works only on the background color.
- FILL -
---------------------
Fill areas (Flood Fill). Brush: The current background pattern
is the fill pattern. Block: The background pattern connected to
the block is used.
- SMEAR -
-------------------
Wiping of pixels.
Parameters:
Flow: Low Medium High - Flow velocity of the smear function.
Size: 02 04 08 16 - Edge length of the smearing rectangle
in pixels.
Limitations: Works only in Brush mode.
- MIRROR -
--------------------
Reflection about axes of symmetry.
Parameters: Mirror Mode:
Horizontal - Reflection about the horizontal axis of
symmetry.
Vertical - Reflection about the vertical axis of symmetry.
Both - Simultaneous reflection about both axes
Limitations: Doesn't work with
ERASER, AIRBRUSH, TEXT, OUTLINE, FILL, SMEAR, SPLINE
Should one of these functions be active when MIRROR is selected,
the program shifts automatically to DRAW. If you select one of
these functions while in MIRROR, you will be switched out. The
fill pattern of area-related functions like POLYGON, BOX, and
DISC is not reflected.
- SPLINE -
-----------------
Drawing spline curves with two different algorithms and arcs
between two points.
Parameters:
Mode: Bezier - Spline that is tangent to a polyline
Smooth - Spline that passes through the corner
points of a polyline
Curve - Arc between two endpoints.
Intersection (below) is ignored.
Intersection: 04 06 08 10 - Number of support points between
two end points.
Limitations: Doesn't work with Block.
The Working Screens
-------------------
In the lower left corner of the main menu, you will see nine
numbered buttons, each with two light diodes. They represent the
working screens. Depending on memory size, the available screens
will be marked with blue LEDs on startup. (The blue LEDs have a
further meaning for animation, which see.) The current working
screen is marked with a red LED. Switch screens with the mouse
or by typing the corresponding number. The right mouse button
toggles you between the current screen and the main menu. The
ESC key will get you back to the current screen from the main
menu, but the reverse DOES NOT work. In the current screen, the
ESC key cuts out a block.
Functions with the Working Screens
-----------------------------------------
Screen Erase: Holding the left mouse button down, drag the
desired screen icon into the trash can. For safety, the program
asks whether you really want to erase screen #n.
Copying, Swapping, Flowing: Drag one icon onto a second. A
dialog box appears, allowing:
Everything | Picture | Color Palette
Copy | Swap | Flow
and, if it makes sense, recolor to match the current palette.
Add to Animation List: A double click on the working screen
icon turns the blue LED on or off (if the screen is available).
The screens with the blue lights on are in the animation list;
the others are not. (See ANIMATION) By the way, if you hold the
mouse button down on an unavailable icon, the current one will be
grabbed!
- SHOW - (The gray button)
-------------------------------
Next to the nine buttons is a similar one, labeled SUPER. With
this one it is possible to get an overview of all active screens.
A double click on this button allows the setting of parameters:
Mode: Black/White Color(/TT-View)
With Black/White, all occupied screens will be drawn in little
gray-scale pictures. That takes a certain amount of time. After
that, little frames are drawn around them all simultaneously.
Under each picture is its name or a blue DISUSED. Empty screens
are marked with a graffiti EMPTY SCREEN.
With Color, all nine (or as many as available) screens will be
drawn in reduced size using the color palette of the current
screen. Thereby, it is possible to draw pictures larger than one
screen. In order to match the edges of the component pictures,
each can be "rolled out" like piecrust. Use the cursor keys and
the pictures will be copied in the corresponding direction by one
half the screen width or height. (Only the available screens,
naturally.) This makes sense only for 1, 2, 3, 4, 6, and nine
pictures. (You will see why when you try it.) The working
screens will then show the seam lines and you can doctor them to
match.
Finally, all pictures can be restored to their original
positions.
With TT-View, screens 1-4 are shown in middle TT resolution with
the current color palette.
Blocks
--------------
The menu may give you the idea that we're crazy about blocks. To
be honest, we carry out nearly all our picture manipulations with
blocks. On the other hand, we create our pictures with the
loupe. This is one reason why the loupe got special attention,
but more on that later.
How, then, can one cut out the desired part of the screen? CRACK
ART offers four (!!!!) possible ways to cut out a block. The ESC
key always works. If you change your mind or find an error, just
press ESC again or press the right mouse button and the previous
block is still there. But, if you do something with the new
block and then change your mind, you lose the previous block.
1. Cutting out a rectangular block
------------------------------------------
After you press the ESC key, a screen-sized cross hair appears.
The current X and Y coordinates are shown in the lower left
corner. With the mouse, move the cross hair to one corner of
your block. It doesn't matter which corner. Press the left
mouse button and hold it down. The cross hair disappears and a
rectangle appears. Moving the mouse, draw a frame around the
block you want. When you release the left button, the block is
captured and all functions are directed at the block. Depending
on which function was previously active, either a small, hollow
cross hair or the block itself will follow the mouse motion. By
way of explanation, all functions which do drawing operations on
an area will use the block and its associated background pattern
as a fill pattern. If you want to use the block as a pure fill
pattern, a fully filled background pattern must be active.
(Background patterns are set in the color menu. See there.) If
you want to see your block, turn the DRAW function on by typing
D. This guarantees that your block is tied to the mouse. You
can draw as usual, but marked with the block. With the B key,
you toggle between Block and Brush.
2. Cutting out a round block
-------------------------------------
If you want to cut circular or elliptical blocks (Yes, that
works, too.) press CONTROL+ESC. The large cross hair appears
again, with which you mark the center of your block. Press and
hold the left mouse button while you pull an ellipse around the
desired area. See CIRCLE, above, for a review. When you release
the mouse button, the round (elliptical) block is cut out. From
here on, everything works as it did for rectangular blocks, only
the block mode is OBJECT. More on that at the end.
3. Cutting a block with a lasso
-------------------------------------
If rectangular or round blocks aren't enough, CRACK ART offers
the possibility of cutting out blocks of arbitrary shape. Press
SHIFT+ESC. A small cross hair, like those used by the drawing
functions, appears. Move the cross hair to the start point of
your cut and click (don't hold) the left mouse button to mark the
point. Now, without pressing any mouse buttons, draw your
lasso loop. No fair crossing your loop; CRACK ART inscribes a
polygon inside it and fills it. Click the right button when
you're done. Now, with the left mouse button, you can choose
either what's inside or what's outside the loop as your block.
From here on, everything works as described for rectangles and
round blocks.
Some programs allow maybe only 27 or 1000 corners on your
polygon. You don't have to worry about such piddly numbers with
CRACK ART. You will probably never need its maximum 10,000
points. TIP: If you want a block in the form of wild lines,
scribble all over the screen, then cut off a tiny loop at the
end. Only this part will be filled. Depending on the density of
lasso lines, the resulting block is more or less recognizable.
The block mode is OBJECT.
When selecting a block by one of the three foregoing methods, if
you hold down the ALT key, the spot occupied by the block will be
erased when you cut the block out. You will have a hole in the
picture, which you can restore with the UNDO key.
4. Cutting out a block via a fill function
-------------------------------------------------
If you want to cut out a complicated looking (but connected)
block, press ALT+ESC and click on the screen region which you
want to take as a block.. Pixels of color 0 (background color)
will be interpreted as borders of the block. The object within
the border will be taken as a block. The block mode is OBJECT.
What do the various block modes have to say?
--------------------------------------------------
In the menu you will see in the top row a button with an artist's
paintbrush on it. To its right is a button with a highlighted
block. You can toggle back and forth between them with the mouse
or the B key (radio buttons). Farther to the right are the
buttons for setting the block mode and the block boundaries on
the screen.
- XRAY -
----------------
In this mode, all parts of the block having the background color
(color 0) are transparent.
- OBJECT -
----------------
This block mode is something quite special. It is produced by
cutting with the lasso or the ellipse, through which the block
mask is determined. All regions within the mask are opaque. If
this mode is inactive, it can be turned on via the menu and
produces an object mask. (See CUT and OBJECT.)
- BLOCKED -
------------------
In this block mode, all regions of the block are opaque
(rectangles).
More about block modes:
-----------------------------
You can switch back and forth between XRAY and BLOCKED without
loss of information. You can use the menu buttons or the left
and right parentheses on the keyboard. [Note - the German
keyboard layout is different; you may have to experiment here.]
If you shift from OBJECT to another block mode, you lose the old
object mask.
For example, take a block containing an unfilled circle. If you
cut this block out in circular form, probably not exactly
centered on the unfilled circle, you will have an Object Block
with a mask which renders the inner area opaque, but which
follows the contour well. If you switch to XRAY, the circle is
transparent inside and out, but in BLOCKED mode, the circle is
opaque inside and out, with a rectangular mask surrounding. Now,
when you apply the OBJECT function to this block, you get a block
that is opaque inside and transparent outside, with the circle
perfectly bordering the mask. [Remember 'way back in the
introduction when the authors suggested trying the various
functions as you go along? This is a good place to do so.]
Bordering the block with the screen edges
----------------------------------------------
With the buttons FREE-MOVE and EDGE-STOP, or the '/' and '*'
keys, you can toggle back and forth between the two kinds of
border specifying. EDGE-STOP means that the block can't pass
beyond the screen boundaries, while FREE-MOVE lets the block
cross half way over the boundary, that is till the middle of the
block reaches the boundary.
The Color Menu
-------------------
The color menu allows access to some very powerful functions
which are suitable not only for color manipulation but also for
direct picture and block manipulation. As one of the primary
tools in CRACK ART, it should not be underestimated.
Because CRACK ART supports up to nine work screens with
individual color palettes, it is pointless to set colors from the
main menu. Thus, the color menu is reachable only from the work
screens. To get it, press the SPACE bar, or, with the mouse
cursor on the extreme edge of the screen, press the right mouse
button. A pop-up menu will appear, with the 16 current colors
displayed side by side. Above and below the color register are
arrows. The upper arrow marks the current drawing color and the
lower one points to the so-called EXCHANGE color, which we will
cover below. Choose the drawing color by clicking on the
register.
On the right side of the menu are sliders for the red, blue, and
green components of the drawing color. Adjust them by clicking
on the upper or lower arrows on the sliders.
By clicking and holding on the MOVE button on the left side, you
can push the menu around the screen.
Clicking on the fill pattern box calls up another menu containing
80 readymade fill patterns. The current one is ringed. Select
with the left mouse button. The new fill pattern will be
displayed in the color menu.
The 80 fill patterns can't be edited. The possible fill patterns
in CRACK ART are far too numerous to be limited to 16x16 pixel
units. Since you can use any block as a fill pattern, you don't
need to diddle with the built in patterns.
The font display box always contains the A of the current font.
For user-defined fonts, this is a useful check for the right
sizes. Font attributes are set with the SYSTEM, EXTRA, and PROP
boxes. The current settings are displayed in reverse video.
Change the size of the system font with the buttons marked with
left and right arrows. These buttons have no effect on user-
defined fonts. If you choose the EXTRA option, the parameters
you set by double clicking on the TEXT icon in the main menu are
taken on here (SETTINGS). If you then turn on PROP, the user-
defined fonts are displayed as proportional fonts.
Options for manipulating the color palette
-----------------------------------------------
Predefined Color Palettes:
----------------------------------
The function keys are loaded with 20 predefined color palettes.
Palette F1 corresponds to the original ST palette and palette F2
to the preset CRACK ART palette. Palettes F11 through F20 are
reached via SHIFT + F1 through F10. [Nothing here about F3 thru
F10. Try it and see.] Many of these palettes are useful for
gray scale pictures or digitalized or scanned graphics.
Copying a Color to Another Register
----------------------------------------
If you hold the left button down on a color register, you can drag
it to another one. When you release the button, the copying is
complete. [Whether you can do one color at a time or the whole
register has to come, is not clear here. Try it.]
Swapping Two Color Registers
---------------------------------
Proceed as above, but before releasing the mouse button, press
the ALT key.
Producing a Color Sequence
-------------------------------
If you want a uniform or proportional color sequence between two
registers, click on one, then press ALT and click on the other.
[Which changes? Try it.]
Determining the Color of a Point on the Screen
----------------------------------------------------
If you move the mouse pointer outside the menu boundaries, the
arrow becomes a cross hair. Clicking the left button causes the
color of the point under the cross hair to become the current
drawing color.
Direct Color Selection
----------------------------
If you double click on one of the color registers or outside the
color menu, a raster of 16 colors appears. The raster is
arranged in WORK SETS which are reached by COLORS. NEOCHROME
gives you exactly the Neochrome color arrangement. CUBE gives
you a stacked arrangement. (The faces of an RGB cube with sides
of length eight.) Pick your color with the tiny frame [the
cursor shape?]. When you click the left button, the new color
will be placed in the current color register [replacing what?].
The right mouse button ends the process.
Special Functions:
------------------------
SORT: Sorts the colors according to brightness. The pixels
of the picture and the block will be changed accordingly.
INV: Inverts the color palette. If you hold the ALT key
down, a photo negative palette is created.
INV+EX: Analogous to INV, but changes the picture, too.
STATS: Displays a tabular overview of the picture points on
the screen or in the block, depending on whether BRUSH or BLOCK
was selected in the main menu.
EXCHANGE: Exchanges the pixel colors according to the exchange
rules set by the arrows below the color register. If. for
example, you choose color #1 and its exchange arrow points to
color #2, color #2 will replace color #1 everywhere in the
picture or block. You can do several colors simultaneously. In
this way you can correct colors after swapping registers.
IMPORTANT! If you selected BLOCK in the color menu, exchanges
work only on blocks. For this reason, EXCHANGE is a very
powerful block function.
With the following combinations (a key and the left mouse
button), no pixel exchange will occur:
ALT+EXCHANGE directs all exchanges back onto themselves.
SHIFT+EXCHANGE rotates all exchange colors one position to the
left.
CONTROL+EXCHANGE rotates all exchange colors one position to the
right.
SET PLANES: Enables inblending or outblending [?] of single
bitplanes via the buttons 0 through 3. The current arrangement
of planes can be taken over with a double click on SET PLANES.
[?] Exit by clicking the right mouse button.
BRIGHT+-: Brightens or darkens the entire color palette.
RGB+-: Brightens or darkens the primary colors of the palette.
Most functions which alter the color palette can be undone to the
previous condition with the UNDO key.
Leave the color menu with the SPACE bar or the right mouse
button.
Block Operations
----------------------
- X-RAY -
--------------
Function: The object mode will be set to X-RAY.
Description: The function creates a mask which is transparent to
all parts of the picture containing no graphic (Color 0). The
resulting block mode is X-RAY.
- OBJECT -
----------------
Function: Builds an OBJECT mask for the current block.
Description: The function creates a mask which is transparent to
all picture parts outside the block. Parts inside the block, on
the other hand, don't show through. Try it with a circle. Block
mode afterward is OBJECT.
- BLOCKED -
------------------
Function: Sets object mode to BLOCKED.
Description: The function builds a rectangular mask in the size
of the block. The entire block region is opaque. Block mode
stays BLOCKED afterward.
- FREE MOVE -
--------------------
Function: Allows movement of the block till the center of the
block reaches a screen boundary.
- EDGE STOP -
-------------------
Function: No part of the block may pass the screen boundary.
- SIZE -
------------
Function: Changes the size of the current block.
Description: The current block is identified in the upper left
corner. A frame marks the current size. The X and Y dimensions
of the frame are shown in the lower left corner. Stretch the
frame to the desired size with the mouse and left button. UNDO
restores the previous size. HELP invokes interpolation during
the size adjustment. This filters out some of the unattractive
patterns that occur with simple resizing routines. The quality
of the result is especially good in very small sizes.
Holding down the
ALT key allows only the vertical size to change;
SHIFT key allows only the horizontal size to change;
CONTROL key holds the aspect ratio constant.
Right mouse button accepts the new block and takes you back
to the menu.
Block mode afterward is XRAY.
- ROTATE -
-----------------
Function: Rotates a block in angular steps.
Description: The current block is displayed in the middle of the
screen. A frame marks the rotation position and a line from the
center of the frame to the mouse position helps determine the
angle, which is displayed in the lower left corner. Turn the
frame to rotate the block.
Pressing the
UNDO key sets block and frame back to zero rotation;
Left mouse button carries out the rotation;
HELP key causes nonaliasing rotation, calculating fractional
degrees;
BACKSPACE key causes modulo rotation [base 360?] and fills
the entire screen with the rotated block;
Right mouse button accepts the new block and takes you back
to the menu, with an XRAY block mode.
- H-SKEW -
-----------------
Function: Horizontal shearing of the block.
Description: The current block is displayed in the middle of the
screen, surrounded by a parallelogram showing the current skew
position. Change the parallelogram to distort the block.
Pressing the
UNDO key sets the block and frame back the way they were;
Left mouse key carries out the operation;
Right mouse button accepts the new block and takes you back
to the menu with an XRAY block mode.
- V-SKEW -
-----------------
Function: Vertical shearing of the block.
Description: The current block is displayed in the middle of the
screen, surrounded by a parallelogram showing the current skew
position. Change the parallelogram to distort the block.
Pressing the
UNDO key sets the block and frame back the way they were;
Left mouse key carries out the operation;
Right mouse button accepts the new block and takes you back
to the menu with an XRAY block mode.
- H-SKEW -
-----------------
Function: Horizontal shearing of the block.
Description: The current block is displayed in the middle of the
screen, surrounded by a parallelogram showing the current skew
position. Change the parallelogram to distort the block.
Pressing the
UNDO key sets the block and frame back the way they were;
Left mouse key carries out the operation;
Right mouse button accepts the new block and takes you back
to the menu with an XRAY block mode.
- H-PERSP -
-----------------
Function: Horizontal trapezoidal warping of the block.
Description: The current working screen is displayed as
background. A trapezoid marks the current position an form of
the block. Change the trapezoid to determine the future
appearance of the block.
Pressing the
ALT+Left mouse button carries out the operation;
Right mouse button takes you back to the menu with an XRAY
block mode.
- V-PERSP -
-----------------
Function: Vertical trapezoidal warping of the block.
Description: The current working screen is displayed as
background. A trapezoid marks the current position and form of
the block. Change the trapezoid to determine the future
appearance of the block.
Pressing the
ALT+Left mouse button carries out the operation;
Right mouse button takes you back to the menu with an XRAY
block mode.
- CURL -
-------------
Function: Radial skewing of a block.
Description: This function strongly resembles the BULGE routine
in speed and operation. With the mouse, you specifiy two radii,
a starting angle, and an ending angle. The block will be
projected onto the specified region, whose maximimum size is a
circle of diameter 200 pixels.
The right mouse button stops the operation; block mode afterward
is OBJECT.
Peculiarities: No UNDO is possible. (Angles in the demo are
incorrectly oriented. From 0 to 1 is actually 0 to 359. Try
it.)
- BULGE -
--------------
Function: Spherical distortion of a block.
Description: This block function is one of the most successful
routines in the entire program in terms of speed and the results.
First, a rectangle appears. In its upper half is shown a mirror
symmetric filled curve. (The size depends on the block. Try
some big blocks first.) When you press the right mouse button,
the block transformation is carried out with this function. On
completion, the block looks as if it had been stretched over a
sphere.
If you would like to control the distortion function, you can
alter the curve by holding the left mouse button down. The
height of the function is a measure of the stretching of the
block at this point (on a circular path). The function isn't
followed exactly, but generally acts like a lens placed very
close. Experiment with middle sized to large blocks. The largest
allowable ending block is a circle of diameter 200 pixels. Try
to generate curves in the form of a normal distribution. (If you
have trouble getting started, there is a picture on every 10 Mark
note.) [We Yankees will have to remember the bell curve.] The
results will usually fit almost exactly back into the original
picture. If you had a colorful geometrical object there, you
will see after the transformation how [the artist?] Vasarely
creates his works.
Since the ending block mode is OBJECT it can happen that circular
blocks sometimes have a disturbing edge. Switch the block mode
to XRAY or BLOCKED and generate a new mask with OBJECT.
Peculiarities: No UNDO is possible.
- TUBE -
----------------
Function: Pull the block around a tube.
Description: With the mouse, a line drawing of the tube can be
altered in radius and viewing angle.
The function is activated with the left mouse button. The tube
is built from back to front. Thereby, the rearward parts of the
block, which would be visible from inside the tube, are darkened
in order to give the effect of depth. Block mode at end is XRAY.
Peculiarities: No UNDO is possible.
- FIT-IN -
-----------------
Function: Horizontal fitting of a block into an (almost) freely
definable form.
Description: The current screen is the background. Specify a
start point with the mouse cursor or abort with the right mouse
button. You can specify up to 9,999 more in defining your form
(identical to cutting out with the lasso). Click the right mouse
button to show completion of the border, then click the left
button either inside or outside to show which is to be used as
the form. (Normally inside; outside doesn't make much sense.)
Before fitting begins, the form is made "horizontally convex."
That is, the leftmost and rightmost points on each row of pixels
are linked together. Then the block is squished into the
resulting form. Ending block mode is OBJECT.
Peculiarities: No UNDO possible.
- DITHER -
----------------
Function: Five routines for producing a gentle color transition.
Description: IMPORTANT: The appearance of the resulting block
depends on the block mode!
V-DITHER: Vertical dithering. A color sequence from top to
bottom is produced.
H-DITHER: Horizontal dithering. A left to right color sequence
is produced.
S-DITHER: Dithering according to arithmetic average [of what?].
The color sequence proceeds linearly from a center outward.
M-DITHER: Dithering according to root mean square [again, of
what?]. The color sequence proceeds quadratically from a center
outward.
R-DITHER: Radial dithering, using the Euclidean norm. The color
sequence proceeds circularly outward from a center.
After selection of the desired method, a partial color menu
appears: the 16 color registers, each with an arrow above and
below. The arrows can be moved with the left mouse button. They
can't both point to the same color. The upper arrow points to
the starting color - top side, left side, or center. The lower
arrow points to the ending color - bottom, right side, or outer
rim. Press the right mouse button to get things started.
V- and H-DITHER run in real time and start immediately. For the
others, the block is indicated and its size is shown with a
rectangle. With the left mouse button, bick a dithering center
inside the rectangle. The mouse cursor disappears and the
function is carried out in the background. (That takes a little
while. For R-DITHER, up to 64,000 square roots have to be
calculated!)
By the way, the dither matrices are adjusted according to the
size of the block. If the block is too small to process with the
specified number of colors, S-, M-, and R-Dither do nothing. V-
and H-Dither will return the pure colors in lines. Each routine
has three dither matrix sizes available. That gives up to 64
steps between two colors!
The actual dithering is carried out differently according to the
block mode. If the mode is BLOCKED, you get a dithered
rectangle. For X-RAY, the color run is visible only where there
is a graphic. That is, an empty block still looks empty and will
therefore be shrunk to 1*1 pixels!
Try R-DITHER with a predefined palette on a circular block in X-
RAY mode. (See DEMO/DEMO3.CA1)
- CUT -
----------------
Function: Minimize X and Y spread of the block.
Description: The block is trimmed by removal of empty edges.
Limitations: Doesn't work with block mode OBJECT. This function
is on the HELP key in the working screen.
Other block functions in the working screen:
--------------------------------------------
Key: BACKSPACE
--------------
Function: Turns block 90 degrees to the right.
Description: The current block is rotated 90 degrees clockwise.
This is quicker than calling up the menu and specifying 270
degrees (counterclockwise). The block doesn't rotate about its
center point, but rather so that its left edge ends up on top.
Pixels with X coordinate greater than 199 will be clipped by the
lower screen edge and lost. If you want to preserve the right
edge, flip the block with the cursor keys, then turn it.
Key: RETURN
-----------
Function: Sets the block to the current color palette.
Description: Should the block come from a work screen with
another color palette, you can try to reset the colors to conform
to the current palette. The function tries to maintain as much
as possible of the original colors and brightnesses.
Key: Cursor Keys
------------------
Function: Block flipping.
Description: The block and mask are flipped in the direction
indicated by the cursor key.
The Magnifying Glass
----------------
In the top row of the main menu is a button called WORK SETS.
With this button, it is also possible to specify parameters for
the magnifying glass. Clicking on the button brings up a dialog
box on which the parameters Preview Zoom and Zoom Grid can be
turned on or off. Preview Zoom means that when you choose a
segment to enlarge, a real-time magnifying glass is displayed.
The portion of the picture under the magnifying glass is
enlarged fourfold. The 12x12 magnifying glass (F10) enlarges 16
fold. By the way, it is possible to traverse the edges of the
picture with this magnifying glass, unlike a well known
monochrome drawing program whose magnifying glass stops at the
edges. The real time magnifying glass works in all 10
enlargements. If you turn it off, you get a crosshatched region
marking the region to enlarge.
With the Zoom Grid option, the individual pixels are marked by a
grid in the background color. They're a little easier to
distinguish this way. If you turn the option off, no grid is
drawn.
How Can I Call Up the Magnifying Glass?
----------------------------
If you are in the working screen, you call up the ten enlargement
levels with the function keys. Enlargements run from 3*3 (F1)
to 12*12 (F10). Depending on the parameter values specified,
the real time magnifying glass is on the function keys and the
frame is on the shifted function keys (Preview Zoom On) or vice
versa (Preview Zoom Off). Both options are always available.
Once you've chosen which preview mode you're in, you can change
enlargements without the SHIFT key. The right mouse button puts
you back in normal drawing mode.
Choose the picture segment you want to enlarge and press the left
mouse button to display the enlargement. You find yourself in
the actual magnifying glass.
On the Construction of the Magnifying Glass
---------------------------------------
In the left part of the screen you will see a crosshatched,
rectangular section of the working screen, which marks the
enlarged area. The current color palette is above, with the
current color marked with an arrow. Next to the color menu on
the right are four arrows. By left clicking on one of them, you
can cause the working area of the magnifying glass to move in
that direction by 50% of the extent of the magnifying glass in
that direction. The cursor keys function the same way. At the
top right of the screen is a narrow box with which you can
toggle the Zoom Grid without leaving the magnifying glass. The
actual magnifying glass is at the lower right.
On the Functions in the Magnifying Glass
------------------------------
The magnification can be changed at any time by pressing a
function key. The center always stays in the magnified area.
You can pick a new center by left clicking in the original
picture. The magnifying glass and the little frame will follow.
Abandon the magnifying glass by right clicking outside the
magnified area.
You can change the current color by left clicking in the color
palette or by right clicking in the magnified area. The second
method allows the current color of magnified sections to be
changed quickly without constantly having to run back to the
color palette. As fast as you left click on a pixel in the
magnified view, the original is also changed. You can change it
back with the UNDO key and change it back again with a second
press of the UNDO key.
You can also cut out rectangular blocks from inside the
magnifying glass. Press the ESCAPE key and a double cross hair
appears. Mark a corner of the block with it. The procedure
then is the same as the normal cutting of a rectangular block,
except the fram is doubled. If you hold down the ALT key when
you releas the mouse button, the block will be erased from the
magnifying glass. The UNDO key restores it. The block can be
used only in the working screen.
To save tedious painting in the magnifying glass, you can fill
the whole area at once by holding the ALT key down while
pressing the left mouse button anywhere in the magnified region.
The area will be filled with the current drawing color.
*******************************************************************
Copyright 1992 Miami Valley Atari Computer Enthusiasts
*******************************************************************
[ back to the prod ]
