All About Selections

UltraPaint is not one of those cool New-Age-Vector+Bitmap programs I've been hearing all about that seamlessly integrates vector and bitmapped graphics and converts it all to a bitmap when you save the file. (I haven't used any of those type programs anyway, as I don't have any money.) This is a raster image editor through and through.

So, in general, this program doesn't do "layers" of graphics, or store graphics primatives as vectors. However, there is one "layer" of graphics other than the actual image: the selection layer. This layer is very important in UltraPaint, as it is used to apply various graphics effects to only a portion of an image, and to move image data around.

You can select a rectangular area of a loaded image using the selection tool. Whenever you select something in the image, it is copied into the selection layer. Unless you've disabled highlighting in the options menu, selected image data will be highlighted as pictured in the image below. The selection is animated to make it more visible.

Once you have selected something, you can do several things with it:

* UltraPaint also supports the classical shortcut keys Ctrl+Ins for copy, Shift+Delete for cut and Shift+Ins for paste. Also, you can use Delete instead of Ctrl+Delete to clear the selection if the image window is the active window.

A selection can be applied—that is, merged with the image so that it is part of the image and no longer a selection—by pressing space with the image window active. Also, if you choose another tool and try to draw a graphics primative, any selected data will be applied automatically.

When you move a selection, apply an effect to it, or paste image data from an external source, the selection is highlighted in a slightly different color to indicate that it is not considered "part" of the image. If you press Ctrl+Delete with such a selection, the selection itself is deleted while the image underneath remains untouched. On the other hand, if the selected image data is actually part of the image, then pressing Ctrl+Delete will delete the corresponding pixels in the image.

When you are using Selection-only or Draw and select mode mode (on the options menu), you can hold down the Control key when you start to draw a primative to prevent the existing selection from being applied—when you complete the drawing, both the original selection and the newly drawn selection will be in the selection layer.

A flaw in design?

There are a couple of things that make UltraPaint unusual (and sometimes annoying) as far as selections are concerned. It is normal for a paint program to have a designated "transparent color" when moving selections: that is, a color that is treated as if it weren't there. In Microsoft Paint and other programs, Pure White is designated as that color. When you draw something on the white background in MS Paint, then move it using the selection tool, any pixels that were white will not be opaque—the original image data will show through.

In UltraPaint, this designated color is Pure Black instead, a tribute to its original conception as a game programmer's tool and the fact that color 0 is typically used as the transparent color key. This fundamental design decision is a problem on a superficial level because most users expect white to be the color key, not black. But on a deeper level, UltraPaint actually treats color 0 as no color. This has the following ramifications:

Unfortunately, this was a fundamental design decision and would be extremely difficult to change at this final stage of development.