The following restrictions apply to the generation of all metafiles, and also to the generation of a PM_Q_STD print file to a device:
The following section lists some general rules that must be followed when
creating a metafile that is to be acceptable to SAA-conforming implementations,
or replayed into a presentation space that is in draw-and-retain or
retain mode (see "GpiSetDrawingMode" in Graphics Programming
Interface Programming Reference).
Note: There is no restriction concerning the use of primitives outside
segments. These are metafiled in segment(s) with zero identifier.
The code page for
the default character set (GpiSetCp).
-
The color table or palette (GpiCreateLogColorTable
or GpiCreatePalette). The size of the color table must not exceed 31KB (KB
equals 1024 bytes).
-
The default viewing transform (GpiSetDefaultViewMatrix).
-
The setting of the draw controls (GpiSetDrawControl).
DCTL_DISPLAY must be defaulted or set ON.
-
The default values of attributes (see "GpiSetDefAttrs"
in the Graphics Programming Interface Programming Reference),
viewing limits (see "GpiSetDefViewingLimits" in the Graphics Programming
Interface Programming Reference), primitive tag (see "GpiSetDefTag"
in the Graphics Programming Interface Programming Reference) and
arc parameters (see "GpiSetDefArcParams" in the Graphics Programming
Interface Programming Reference).
These
calls should not be used:
GpiDeleteSetId
(note that this means that local identifiers cannot be used again within
the picture)
-
GpiErase
-
GpiExcludeClipRectangle
-
GpiIntersectClipRectangle
-
GpiOffsetClipRegion
-
GpiPaintRegion
-
GpiResetPS
-
GpiSetClipRegion
-
GpiSetPel
-
GpiSetPS
-
DevEscape
(for an escape which is metafiled).
GpiCreateLogFont
must not redefine a local identifier that has previously been used within
the picture.
The metafile
context must not be reassociated.
If
a bit map is used as the source of a GpiWCBitBlt operation, or as an area-fill
pattern, it must not be modified or deleted (GpiDeleteBitmap) before the
metafile is closed.
Only
these foreground mixes must be used (see "GpiSetMix" in the Graphics
Programming Interface Programming Reference):
FM_OR
-
FM_OVERPAINT
-
FM_LEAVEALONE
Only
these background mixes must be used (see "GpiSetBackMix" in the Graphics
Programming Interface Programming Reference):
BM_OVERPAINT
-
BM_LEAVEALONE
If
palettes are used (see "GpiCreatePalette" in the Graphics Programming
Interface Programming Reference): the palette that is metafiled is the
one in force when the metafile device context is dissociated from the (final)
presentation space. If the palette is changed during the course of the picture
(using GpiSetPaletteEntries), it must therefore only be with incremental
additions.
[Back: Interchange File Format]
[Next: Metafile Data Format]