## GDI functions

The following are relevant to the GDI (Graphics Device Interface).

Include files

<wx/gdicmn.h>

wxBITMAP
::wxClientDisplayRect
::wxColourDisplay
::wxDisplayDepth
::wxDisplaySize
::wxDisplaySizeMM
::wxDROP_ICON
wxICON
::wxMakeMetafilePlaceable
::wxSetCursor

### wxBITMAP

wxBITMAP(bitmapName)

This macro loads a bitmap from either application resources (on the platforms for which they exist, i.e. Windows and OS2) or from an XPM file. It allows to avoid using `#ifdef`s when creating bitmaps.

See also

Bitmaps and icons overview, wxICON

Include files

<wx/gdicmn.h>

### ::wxClientDisplayRect

void wxClientDisplayRect(int *x, int *y, int *width, int *height)

wxRect wxGetClientDisplayRect()

Returns the dimensions of the work area on the display. On Windows this means the area not covered by the taskbar, etc. Other platforms are currently defaulting to the whole display until a way is found to provide this info for all window managers, etc.

### ::wxColourDisplay

bool wxColourDisplay()

Returns true if the display is colour, false otherwise.

### ::wxDisplayDepth

int wxDisplayDepth()

Returns the depth of the display (a value of 1 denotes a monochrome display).

### ::wxDisplaySize

void wxDisplaySize(int *width, int *height)

wxSize wxGetDisplaySize()

Returns the display size in pixels.

### ::wxDisplaySizeMM

void wxDisplaySizeMM(int *width, int *height)

wxSize wxGetDisplaySizeMM()

Returns the display size in millimeters.

### ::wxDROP_ICON

wxIconOrCursor wxDROP_ICON(const char *name)

This macro creates either a cursor (MSW) or an icon (elsewhere) with the given name. Under MSW, the cursor is loaded from the resource file and the icon is loaded from XPM file under other platforms.

This macro should be used with wxDropSource constructor.

Include files

<wx/dnd.h>

### wxICON

wxICON(iconName)

This macro loads an icon from either application resources (on the platforms for which they exist, i.e. Windows and OS2) or from an XPM file. It allows to avoid using `#ifdef`s when creating icons.

See also

Bitmaps and icons overview, wxBITMAP

Include files

<wx/gdicmn.h>

### ::wxMakeMetafilePlaceable

bool wxMakeMetafilePlaceable(const wxString& filename, int minX, int minY, int maxX, int maxY, float scale=1.0)

Given a filename for an existing, valid metafile (as constructed using wxMetafileDC) makes it into a placeable metafile by prepending a header containing the given bounding box. The bounding box may be obtained from a device context after drawing into it, using the functions wxDC::MinX, wxDC::MinY, wxDC::MaxX and wxDC::MaxY.

In addition to adding the placeable metafile header, this function adds the equivalent of the following code to the start of the metafile data:

     SetMapMode(dc, MM_ANISOTROPIC);
     SetWindowOrg(dc, minX, minY);
     SetWindowExt(dc, maxX - minX, maxY - minY);

This simulates the wxMM_TEXT mapping mode, which wxWidgets assumes.

Placeable metafiles may be imported by many Windows applications, and can be used in RTF (Rich Text Format) files.

scale allows the specification of scale for the metafile.

This function is only available under Windows.

### ::wxSetCursor

void wxSetCursor(const wxCursor& cursor)

Globally sets the cursor; only has an effect on Windows, Mac and GTK+. You should call this function with wxNullCursor to restore the system cursor.

See also wxCursor, wxWindow::SetCursor.