Search documentation of wx

# View Source wxGCDC (wx v2.4.3)

`wxGCDC` is a device context that draws on a `wxGraphicsContext`.

`wxGCDC` does its best to implement `wxDC` API, but the following features are not (fully) implemented because `wxGraphicsContext` doesn't support them:

- `wxDC:getPixel/2` method is not implemented and always returns false because modern graphics layers don't support retrieving the contents of the drawn pixels.

- `wxDC:floodFill/4` method is not, and can't be, implemented, as its functionality relies on reading the pixels from `wxGraphicsContext` too.

- `wxDC:setLogicalFunction/2` method only works with `wxCOPY`, `wxOR`, `wxNO_OP`, `wxCLEAR` and `wxXOR` functions, attempts to use any other function (including `wxINVERT`) don't do anything.

- Similarly, ?wxRasterOperationMode parameter of `wxDC:blit/6` and `StretchBlit()` (not implemented in wx) can only be one of the supported logical functions listed above, using any other function will result in an assertion failure and not drawing anything.

- For Direct2D-based `wxGraphicsContext`, only true-type fonts can be used in the font-related functions.

See:

- `wxDC`

- `wxGraphicsContext`

This class is derived, and can use functions, from:

- `wxDC`

wxWidgets docs: wxGCDC

# Summary

## Types

wxGCDC()

## Functions

destroy(This)

Destroys the object

getGraphicsContext(This)

Retrieves associated `wxGraphicsContext`.

new()
new(WindowDC)

Constructs a `wxGCDC` from a `wxWindowDC`.

setGraphicsContext(This, Context)

Set the graphics context to be used for this `wxGCDC`.

# Types

Link to this type

# wxGCDC()

View Source

    -type wxGCDC() :: wx:wx_object().

# Functions

Link to this function

# destroy(This)

View Source

    -spec destroy(This :: wxGCDC()) -> ok.

Destroys the object

Link to this function

# getGraphicsContext(This)

View Source

    -spec getGraphicsContext(This) -> wxGraphicsContext:wxGraphicsContext() when This :: wxGCDC().

Retrieves associated `wxGraphicsContext`.

Link to this function

# new()

View Source

    -spec new() -> wxGCDC().

Link to this function

# new(WindowDC)

View Source

    -spec new(WindowDC) -> wxGCDC()
                 when
                     WindowDC ::
                         wxWindowDC:wxWindowDC() |
                         wxMemoryDC:wxMemoryDC() |
                         wxGraphicsContext:wxGraphicsContext().

Constructs a `wxGCDC` from a `wxWindowDC`.

Link to this function

# setGraphicsContext(This, Context)

View Source

    -spec setGraphicsContext(This, Context) -> ok
                                when This :: wxGCDC(), Context :: wxGraphicsContext:wxGraphicsContext().

Set the graphics context to be used for this `wxGCDC`.

Note that this object takes ownership of `context` and will delete it when it is destroyed or when `setGraphicsContext/2` is called again.

Also, unlike the constructor taking `wxGraphicsContext`, this method will reapply the current font, pen and brush, so that this object continues to use them, if they had been changed before (which is never the case when constructing `wxGCDC` directly from `wxGraphicsContext`).