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:

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.
![]() |
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:
- Pg_IMAGE_PALETTE_BYTE
- Pg_IMAGE_DIRECT_888
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.
- Pt_ARG_FILL_COLOR
- You can't set this resource to Pg_TRANSPARENT. The widget will ignore any attempt to do so.

