Provided by: erlang-manpages_24.3.4.1+dfsg-1_all bug

NAME

       wxBufferedDC - Functions for wxBufferedDC class

DESCRIPTION

       This  class  provides  a simple way to avoid flicker: when drawing on it, everything is in
       fact first drawn on an in-memory buffer (a wxBitmap) and then copied to the screen,  using
       the  associated  wxDC,  only  once,  when this object is destroyed. wxBufferedDC itself is
       typically associated with wxClientDC, if you want to use it in your EVT_PAINT handler, you
       should look at wxBufferedPaintDC instead.

       When  used  like  this,  a  valid DC must be specified in the constructor while the buffer
       bitmap doesn't have to be explicitly provided, by default this  class  will  allocate  the
       bitmap  of  required  size  itself.  However  using  a  dedicated  bitmap can speed up the
       redrawing process by eliminating the repeated creation and destruction of a  possibly  big
       bitmap. Otherwise, wxBufferedDC can be used in the same way as any other device context.

       Another  possible  use  for  wxBufferedDC is to use it to maintain a backing store for the
       window contents. In this case, the associated DC may be NULL but  a  valid  backing  store
       bitmap should be specified.

       Finally,  please  note  that GTK+ 2.0 as well as macOS provide double buffering themselves
       natively. You can either use wxWindow:isDoubleBuffered/1 to determine whether you need  to
       use  buffering  or  not,  or  use  wxAutoBufferedPaintDC  (not implemented in wx) to avoid
       needless double buffering on the systems which already do it automatically.

       See: wxDC, wxMemoryDC, wxBufferedPaintDC, wxAutoBufferedPaintDC (not implemented in wx)

       This class is derived (and can use functions) from: wxMemoryDC wxDC

       wxWidgets docs: wxBufferedDC

DATA TYPES

       wxBufferedDC() = wx:wx_object()

EXPORTS

       new() -> wxBufferedDC()

              Default constructor.

              You must call one of the init/4 methods later in order to use the device context.

       new(Dc) -> wxBufferedDC()

              Types:

                 Dc = wxDC:wxDC()

       new(Dc, Area) -> wxBufferedDC()

       new(Dc, Area :: [Option]) -> wxBufferedDC()

              Types:

                 Dc = wxDC:wxDC()
                 Option = {buffer, wxBitmap:wxBitmap()} | {style, integer()}

              Creates a buffer for the provided dc.

              init/4 must not be called when using this constructor.

       new(Dc, Area, Options :: [Option]) -> wxBufferedDC()

              Types:

                 Dc = wxDC:wxDC()
                 Area = {W :: integer(), H :: integer()}
                 Option = {style, integer()}

              Creates a buffer for the provided dc.

              init/4 must not be called when using this constructor.

       destroy(This :: wxBufferedDC()) -> ok

              Copies everything drawn on the DC so far to the underlying DC associated with  this
              object, if any.

       init(This, Dc) -> ok

              Types:

                 This = wxBufferedDC()
                 Dc = wxDC:wxDC()

       init(This, Dc, Area) -> ok

       init(This, Dc, Area :: [Option]) -> ok

              Types:

                 This = wxBufferedDC()
                 Dc = wxDC:wxDC()
                 Option = {buffer, wxBitmap:wxBitmap()} | {style, integer()}

       init(This, Dc, Area, Options :: [Option]) -> ok

              Types:

                 This = wxBufferedDC()
                 Dc = wxDC:wxDC()
                 Area = {W :: integer(), H :: integer()}
                 Option = {style, integer()}

              Initializes the object created using the default constructor.

              Please see the constructors for parameter details.