This panel initially displays an array of sample fill patterns. By pressing the Pixel Editor button, the pop-up will instead display a large pixel editor window, from which stipple patterns can be created and modified. The pixel editor is pre-loaded with the pattern of the current layer when the pop-up was invoked. When viewing the pixel editor, the Show Stores button reverts the display to the sample patterns.
Patterns are moved between the various boxes and layers in the layer table by drag/drop. Press and hold the left mouse button while the pointer is over the box or layer entry that is the source of a pattern, and release the button after moving the mouse pointer over the destination box or layer table entry.
There are also Load and Apply buttons that will load the pattern of the current layer into the editor, or set the pattern of the current layer from the Sample, respectively.
The Sample box, which is visible in both display modes, is the entry and exit point for the pixel editor. Dropping a pattern into the Sample area will load the pattern into the editor. The current pattern in the Sample area, which matches that currently in the editor, can be dragged and dropped onto a layer, or into one of the storage areas. When the Pixel Editor window is visible, it is also a drop receiver, equivalent to the Sample area.
When a pattern is applied to a layer by any means, the main window and any sub-windows showing the same display mode will be redrawn. The automatic redraw can be suppressed in physical mode by setting the NoPhysRedraw variable.
When displaying the pattern array, there are 18 pattern windows visible. The first two of these are immutable, containing empty and solid fills. The remaining 16 are registers, preset with default patterns. These patterns can be changed by dropping a new pattern into the display box.
There are 64 pattern registers available, in four pages. When the patterns are visible, the Page spin button can be used to cycle between the four sets of registers.
To summarize, the following transfers are possible with drag/drop:
If the Print Control panel (induced by the Print button in the File Menu) is visible, when a new fill pattern is applied to a layer, the new fill pattern will be used for rendering the plot, if the plot driver supports definable fill patterns.
Note that the new pattern set for a layer will not be visible in the drawing windows until they are next redrawn (press Ctrl-r, or click with button 2 near the center of the window to redraw the window).
The color used to display patterns in the pop-up is the color of the current layer. Initiating a drag from a layer in the layer table or layer palette will change the current layer (and hence the color) to that layer.
The 64 ``default'' fill patterns can be saved in an xic_stipples file in the current directory with the Dump Defs button, which is visible when the pattern array is being displayed. If this file is found in the library search path, it will be used to initialize the pattern registers when Xic starts. A system default xic_stipples file is provided in the startup directory.
When a pattern (including empty) is dropped on a layer, the Outline, Fat, and Cut buttons at the bottom of the pop-up set additional attributes relating to the pattern display.
When a pattern from a layer is dropped into the Sample box, the buttons will change state to that saved in the layer. The pattern registers, however, do not have attributes, so that the buttons remain unchanged when a pattern is dragged from a register box, except to gray the Fat button if the new pattern is not empty.
For empty fill, there are three available outline styles:
If the Outline button is not in the pressed state, the thin solid line boundary (style 1) will be used. If Outline is in the pressed state, and Fat is not in the pressed state, a thin dashed outline (style 2) will be used. If Fat is pressed, thick segments (style 3) will be used, but only for edges of boxes and Manhattan polygons. A thin solid outline will be used elsewhere.
If the Cut button is in the pressed state, boxes are rendered with thin lines along the diagonals, forming an X over the box. Polygons (even four-sided rectangular ones) and wires are drawn normally. The ``cut'' attribute is often used to signify vias.
If Cut and Outline are pressed with empty fill, but Fat is not pressed, the diagonal ``cut'' lines will be drawn as dashed, as for the outline.
When the pattern is not empty, the options are slightly different. If Outline is not pressed, objects will not be outlined. If Outline is pressed and Fat is not pressed, the patterned areas will have a thin solid outline. When Fat is pressed, boxes and Manhattan polygons will be shown with thick outlines. These are the only boundaries available with stippled fill. The Cut button will produce diagonals over boxes, as in the empty-fill case. If the pattern is solid, none of the attributes will be used, and the buttons are grayed.
When a pattern is dropped on a layer, the state of these buttons set the attributes for the layer. This applies whether the pattern source is the Sample box, or one of the pattern register boxes. In particular, to set up a desired empty-fill presentation for a layer, one would set the buttons, then drag the ``pattern'' from the empty-fill box to the layer to set.
In the pixel editor, the NX x NY spin buttons control the size of the map. Each coordinate can range from 2 to 32. The pixel editor window changes to accommodate the different aspect ratios, keeping the actual pixels square.
The three buttons just below operate on the pixel map.
The basic operation in the pixel editor is to toggle the state of a pixel by clicking on it with button 1, but more complex possibilities exist. A hold and drag will operate on all of the pixels enclosed in or intersecting the defined rectangle, which is ghost-drawn. The operations are indicated in the table below.
If Shift or Ctrl is held down before button 1 is pressed, the action will be as for button 2. The three columns from the right indicate the state of the modifier keys on button release which produces the stated effect on the pixels. The Ctrl press overrides Shift if both are pressed.
Pressing the arrow keys while the pop-up has the keyboard focus permutes the pixel editor bitmap in the opposite direction of the arrow. This is valuable for allowing layers with similar patterns to show through one another.
Pressing the Dismiss button in the Fill Pattern Editor will retire the editor. This has the same effect as pressing the Set Fill menu button a second time.