Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ disp_layer_query_t

Media Vault

Software Library

Restoration Projects

Artifacts Sought

disp_layer_query_t

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

disp_layer_query_t

Query capabilities of a given layer

Synopsis:

#include <display.h>

typedef struct {
    int                size;
    unsigned           pixel_format;
    unsigned           caps;
    unsigned           alpha_valid_flags;
    unsigned           alpha_combinations;
    unsigned           chromakey_caps;

    int                src_max_height;
    int                src_max_width;
    int                src_max_viewport_height;
    int                src_max_viewport_width;

    int                dst_max_height;
    int                dst_max_width;
    int                dst_min_height;
    int                dst_min_width;

    int                max_scaleup_x;
    int                max_scaleup_y;

    int                max_scaledown_x;
    int                max_scaledown_y;

} disp_layer_query_t *info;

Description:

The disp_layer_query_t structure defines the graphics driver's capabilities. The graphics framework passes this structure to the layer query entry point.

The members of disp_layer_query_t include:

size
The sizeof disp_surface_info_t structure.
format
The pixel format; see "Pixel formats for layers" in the Writing a Graphics Driver chapter.
caps
The flags that describe the capabilities of a layer for a given format:
  • DISP_LAYER_CAP_FILTER -- the layer can apply a filtering technique to the image as it's being displayed in order to produce a smoother image. Filtering techniques may be used to reduce artifacts when scaling images.
  • DISP_LAYER_CAP_SCALE_REPLICATE -- a simple pixel replication scaling technique is available for a source image that's scaled before it's displayed in the destination viewport.
  • DISP_LAYER_CAP_PAN_SOURCE -- the source viewpoint can be moved within the source image for this layer. If this flag isn't set, the viewport can be located only at the top left corner of the image.
  • DISP_LAYER_CAP_PAN_DEST -- the destination viewpoint can be moved within the display area for this layer. If this flag isn't set, the viewport can be located only at the top left corner of the image.
  • DISP_LAYER_CAP_EDGE_CLAMP -- if the image being displayed isn't large enough to fill the destination viewport, the unfilled right and bottom portions of the viewport can be filled. The last pixel that was displayed can be replicated to the edge of the viewport.
  • DISP_LAYER_CAP_EDGE_WRAP -- if the image being displayed isn't large enough to fill the destination viewport, the unfilled right and bottom portions of the viewport can be filled. The right and bottom portions can be wrapped around to the top left portions of the image.
  • DISP_LAYER_CAP_DISABLE -- you can disable this layer and make it invisible. This layer can also be enabled.
  • DISP_LAYER_CAP_SET_BRIGHTNESS -- you can adjust the intensity of the displayed image.
  • DISP_LAYER_CAP_SET_CONTRAST -- you can adjust the contrast of the displayed image.
  • DISP_LAYER_CAP_SET_SATURATION -- you can adjust the color saturation of the displayed image.
  • DISP_LAYER_CAP_ALPHA_WITH_CHROMA -- chroma-keying and alpha-blending operations can be used simultaneously when you combine this layer with other layers.
  • DISP_LAYER_CAP_MAIN_DISPLAY -- according to the mode-switcher, this layer is the "main" layer. Mode-switcher calls such as set_display_offset() that don't target a specific layer affect this layer. Typically, a driver for a "main" layer only reports that a single pixel format is available. This format is the same as the format that was selected when set_mode() was called.
alpha_valid_flags
These are the flags that may be specified in the alpha_mode parameter to layer_set _blending().
alpha_combinations
alpha_combinations are used to define some capabilities of the alpha-blending hardware for this layer. Defined values are:
  • DISP_ALPHA_BLEND_CAP_SPP_WITH_GLOBAL -- source per-pixel alpha blending can be used in conjunction with a global alpha multiplier.
  • DISP_ALPHA_BLEND_CAP_GLOBAL_WITH_DPP -- destination per-pixel blending can be used in conjunction with a global alpha multiplier.
  • DISP_ALPHA_BLEND_CAP_SPP_WITH_DPP -- source per-pixel alpha blending can be used in conjunction with destination per-pixel alpha blending.
chromakey_caps
These flags define some capabilites of the chroma-key hardware for this layer. Defined values are:
  • DISP_LAYER_CHROMAKEY_CAP_SRC_SINGLE -- chroma-keying based on an exact match between the source-pixel value and a single key color is supported.
  • DISP_LAYER_CHROMAKEY_CAP_DST_SINGLE -- chroma-keying based on an exact match between the destination-pixel value and a single key color is supported.
  • DISP_LAYER_CHROMAKEY_CAP_SHOWTHROUGH -- a layer can be configured so that when a chroma-key comparison is made, and the colors match, the pixel displayed comes from the behind the layer. When the colors don't match, the pixel that appears comes from the layer displayed.
  • DISP_LAYER_CHROMAKEY_CAP_BLOCK -- a layer can be configured so that when a chroma-key comparison is made, and the colors match, the pixel displayed comes from the layer displayed. When the colors don't match, the pixel that appears comes from behind the layer.
src_max_height
The maximum height of the source image that can be displayed. The surface to be displayed may be taller than this value. When this is the case, it isn't possible to display part of the image at the bottom of the surface.
src_max_width
The maximum width of the source image that can be displayed. The surface to be displayed may be wider than this value. When this is the case, it isn't possible to display part of the image at the right of the surface.
src_max_viewport_height
Maximum height of the viewport into the source image. The layer isn't capable of fetching an image area for a display that's taller than this value.
src_max_viewport_width
Maximum width of the viewport into the source image. The layer isn't capable of fetching an image area for a display that's wider than this value.
dst_max_height
Maximum height of the destination viewport on the display.
dst_max_width
Maximum width of the destination viewport on the display.
dst_min_height
Minimum height of the destination viewport on the display.
dst_min_width
Minimum width of the destination viewport on the display.
max_scaleup_x
Maximum scaling factor for image upscaling in the horizontal direction. A value of 1 means upscaling can't be performed. A value < 1 is invalid. A value > 1 means that the destination viewport width can be up to max_scaleup_x times the source viewport width.
max_scaleup_y
Maximum scaling factor for image upscaling in the vertical direction. A value of 1 means upscaling can't be performed. A value < 1 is invalid. A value > 1 means that the destination viewport height can be up to max_scaleup_y times the source viewport height.
max_scaledown_x
Maximum scaling factor for image downscaling in the horizontal direction. A value of 1 means downscaling can't be performed. A value < 1 is invalid. A value > 1 means that the source viewport width can be up to max_scaledown_x times the destination viewport width.
max_scaledown_y
Maximum scaling factor for image downscaling in the vertical direction. A value of 1 means downscaling can't be performed. A value < 1 is invalid. A value > 1 means that the source viewport height can be up to max_scaledown_x times the destination viewport height.

Classification:

Photon


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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026