[Previous] [Contents] [Index] [Next]

PtDBContainer

Double-buffered container for flicker-free drawing

Class hierarchy:

PtWidget --> PtBasic --> PtContainer --> PtDBContainer

For more information, see the diagram of the widget hierarchy.

PhAB icon:

PtDBContainer button in PhAB

Public header:

<photon/PtDBContainer.h>

Description:

The Double Buffer container creates a memory context and forces all its children's draws to be directed to that context. The resulting image is then drawn as an image to the default draw context. The result is flicker-free widgets/animations. The PtDBContainer widget uses a block of shared memory large enough to hold an image the size of its canvas and will also cause the render shared library to be loaded if not already present.


Note: If your application uses PtDBContainer, the render shared library, phlib_render_11, must be in your search path.

New resources:

Resource C type Pt type Default
Pt_ARG_DB_IMAGE_TYPE int Scalar Pg_IMAGE_PALETTE_BYTE
Pt_ARG_DB_MEMORY_CONTEXT_TYPE int Scalar Pm_PHS_CONTEXT

Pt_ARG_DB_IMAGE_TYPE

C type Pt type Default
int Scalar Pg_IMAGE_PALETTE_BYTE

The type of image:

For more information, see PgDrawImage() in the Photon Library Reference.

Pt_ARG_DB_MEMORY_CONTEXT_TYPE

C type Pt type Default
int Scalar Pm_PHS_CONTEXT

The type of memory context:

Pm_PHS_CONTEXT
Keeps the image in the Photon draw stream (PHS) as long as possible
Pm_IMAGE_CONTEXT
Draws to the memory image immediately

Inherited resources:

If the widget modifies an inherited resource, the "Default override" column indicates the new value. This modification affects any subclasses of the widget.

Resource Inherited from Default override
Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_ARG_ANCHOR_OFFSETS PtContainer
Pt_ARG_AREA PtWidget
Pt_ARG_BANDWIDTH_THRESHOLD PtBasic Not used by this class.
Pt_ARG_BITMAP_CURSOR PtWidget
Pt_ARG_BORDER_WIDTH PtWidget 0
Pt_ARG_BOT_BORDER_COLOR PtBasic
Pt_ARG_COLOR PtBasic
Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_ARG_CURSOR_COLOR PtWidget
Pt_ARG_CURSOR_TYPE PtWidget
Pt_ARG_DATA PtWidget
Pt_ARG_DIM PtWidget
Pt_ARG_EFLAGS PtWidget Pt_CONSUME_EVENTS
Pt_ARG_FILL_COLOR PtBasic See below.
Pt_ARG_FILL_PATTERN PtBasic
Pt_ARG_FLAGS PtWidget
Pt_ARG_HELP_TOPIC PtWidget
Pt_ARG_HIGHLIGHT_ROUNDNESS PtBasic
Pt_ARG_MARGIN_HEIGHT PtBasic
Pt_ARG_MARGIN_WIDTH PtBasic
Pt_ARG_POS PtWidget
Pt_ARG_RESIZE_FLAGS PtWidget Pt_RESIZE_XY_AS_REQUIRED
Pt_ARG_TOP_BORDER_COLOR PtBasic
Pt_ARG_TRANS_PATTERN PtBasic
Pt_ARG_USER_DATA PtWidget
Pt_CB_ACTIVATE PtBasic
Pt_CB_ARM PtBasic
Pt_CB_BALLOONS PtContainer
Pt_CB_BLOCKED PtWidget
Pt_CB_DESTROYED PtWidget
Pt_CB_DISARM PtBasic
Pt_CB_FILTER PtContainer
Pt_CB_GOT_FOCUS PtBasic
Pt_CB_HOTKEY PtWidget
Pt_CB_LOST_FOCUS PtBasic
Pt_CB_MENU PtBasic
Pt_CB_RAW PtWidget
Pt_CB_REALIZED PtWidget
Pt_CB_REPEAT PtBasic
Pt_CB_RESIZE PtContainer
Pt_CB_UNREALIZED PtWidget
Pt_ARG_FILL_COLOR
You can't set this resource to Pg_TRANSPARENT. The widget will ignore any attempt to do so.

[Previous] [Contents] [Index] [Next]