PgContextBlitArea(), PgContextBlitAreaCx()

Copy data from an area in one context to another context

Synopsis:

void PgContextBlitArea( PdOffscreenContext_t *src,
                        PhArea_t *src_area,
                        PdOffscreenContext_t *dst,
                        PhArea_t *dst_area );

void PgContextBlitAreaCx( void *dc,
                          PdOffscreenContext_t *src,
                          PhArea_t *src_area,
                          PdOffscreenContext_t *dst,
                          PhArea_t *dst_area );

Arguments:

dc
PgContextBlitAreaCx() only. A void pointer to any type of draw context. Examples of draw contexts are:
src
The source context, or NULL to copy from the display.
src_area
A pointer to a PhArea_t structure that defines the area in the source to copy. If src is NULL, src_rect is relative to the emitting region (see PgSetRegion()) but isn't clipped by overlapping windows.
dst
The destination context, or NULL to copy to the display.
dst_area
A pointer to a PhArea_t structure that defines the area in the destination to copy the data to. The source data is scaled to fit this rectangle.

Library:

ph

Description:

These functions copy data from an area in one offscreen context to an area in another offscreen context. PgContextBlitArea() works on the current draw context, while you can specify the draw context for PgContextBlitAreaCx().

These functions obey many of the parameters in the draw state: Chroma, Alpha, Raster Operation (DrawMode), Fill Pattern (FillDither), and Fill Transparency pattern (FillTransp).


Note: Fill Patterns are used only if the Raster Operation requested includes a pattern operation (e.g. Pg_DrawModePSo). Fill Transparency patterns are obeyed whether or not the Raster operation includes a pattern. If the current Raster Operation is a Photon 1.xx raster operation (e.g. Pg_DRAWMODE_OPAQUE), then all patterns are ignored.

Classification:

Photon

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

PdCreateOffscreenContext(), PdDupOffscreenContext(), PdGetOffscreenContextPtr(), PdOffscreenContext_t, PgContextBlit*(), PgSetRegion*(), PgSwapDisplay*(), PhArea_t

Video memory offscreen in the Raw Drawing and Animation chapter of the Photon Programmer's Guide