# GetFirstDisplayInfo

Retrieves information about display modes supported by the system.

### Synopsis

`DisplayInfo *GetFirstDisplayInfo (void)`

### Description

GetFirstDisplayInf`o()` returns a pointer to a DisplayInfo structure, which describes the characteristics of the display modes available to applications.

The display characteristics are represented as an array of tag arguments (to allow for future expansion). You can search the array for the tag value representing the characteristic in which you're interested; the associated argument is the value of that characteristic.

The DisplayInfo structure is a list node; you can traverse the list using the kernel list traversal calls `(NEXTNODE()`, and so on). Graphics can support any number of display modes.

### Tag Arguments

The tag values found in the DisplayInfo tag array are:

- DI_TYPE- int32. The type identifier of the display mode. This is the value passed to `CreateScreenGroup()` as the argument to the CSG_TAG_DISPLAYTYPE tag to create a screen of that type. The currently defined (and ever-expanding) list of DI_TYPE values are:

- DI_TYPE_NTSC- Standard 320 * 240 display.
- DI_TYPE_PAL1- Narrow PAL display (320 * 288).
- DI_TYPE_PAL2-Normal (wide) PAL display (384 * 288).
- DI_WIDTH- int32 - The width of this display mode, in pixels.
- DI_HEIGHT- int32. - The height of this display mode, in pixels.
- DI_FIELDTIME- int32 - Duration of a single field of video, in microseconds.
- DI_FIELDFREQ- int32 - Number of fields of video per second.
- DI_ASPECT- frac16. - Aspect ratio of this display mode's pixels.
- DI_ASPECTW- int32. - Width component of this display mode's pixel aspect ratio.
- DI_HEIGHT- int32 - Height component of this display mode's pixel aspect ratio.
- DI_NOINTERLACE- int32. - Boolean value: non-zero if this display mode does not support interlaced video.
- DI_NOSTEREO- int32 - Boolean value: non-zero if this display mode does not support stereoscopic displays.

### Return Value

Returns a pointer to the first DisplayInfo structure in the list.

### Notes

This call is useful to individuals wishing to have "auto-sensing" applications that work in international markets.

Do not, under any circumstances, make assumptions about the layout of the tag argument array in the DisplayInfo structure. You must perform explicit searches through the array for the information in which you are interested.

### Implementation

Folio call implemented in Graphics folio V22.

### Associated Files

graphics.h, graphics.lib

### See Also

``QueryGraphics`(), QueryGraphicsList()`