.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2025 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.ClientDC: ========================================================================================================================================== |phoenix_title| **wx.ClientDC** ========================================================================================================================================== Deprecated class for drawing on the client area of a window. :ref:`wx.ClientDC` should not be used any longer, please use `InfoDC` instead for obtaining information about the device context associated with a window. :ref:`wx.ClientDC` objects should normally be constructed as temporary stack objects, i.e. don't store a :ref:`wx.ClientDC` object. A :ref:`wx.ClientDC` object is initialized to use the same font and colours as the window it is associated with. .. note:: While :ref:`wx.ClientDC` may also be used for drawing on the client area of a window from outside an EVT_PAINT() handler in some ports, this does `not` work on all platforms: neither wxOSX nor wxGTK with GTK 3 Wayland backend support this at all, so drawing using :ref:`wx.ClientDC` simply doesn't have any effect there. :meth:`CanBeUsedForDrawing` can be used to determine whether :ref:`wx.ClientDC` can be used for drawing in the current environment, but it is recommended to only draw on the window using :ref:`wx.PaintDC`, as this is guaranteed to work everywhere. To redraw a small part of the window, use :meth:`wx.Window.RefreshRect` to invalidate just this part and check :meth:`wx.Window.GetUpdateRegion` in the paint event handler to redraw this part only. .. seealso:: :ref:`wx.DC`, :ref:`wx.MemoryDC`, :ref:`wx.PaintDC`, :ref:`wx.WindowDC` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html

Inheritance diagram of ClientDC

| |sub_classes| Known Subclasses ============================== :ref:`wx.PaintDC` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.ClientDC.__init__` Constructor. :meth:`~wx.ClientDC.CanBeUsedForDrawing` Return ``True`` if drawing on :ref:`wx.ClientDC` actually works. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.ClientDC(WindowDC) **Possible constructors**:: ClientDC(window) -> None Deprecated class for drawing on the client area of a window. .. method:: __init__(self, window) Constructor. Pass a pointer to the window on which you wish to paint. :param `window`: :type `window`: wx.Window :rtype: `None` .. staticmethod:: CanBeUsedForDrawing(window) Return ``True`` if drawing on :ref:`wx.ClientDC` actually works. In many environments (currently this includes wxGTK when using Wayland backend, wxMSW when using double buffering and wxOSX in all cases), :ref:`wx.ClientDC` can be only used for obtaining information about the device context, but not for actually drawing on it. Portable code should avoid using :ref:`wx.ClientDC` completely, as explained in the class documentation, but it is also possible to optionally use it only when it does work, i.e. when this function returns ``True``. :param `window`: The window that would be used with :ref:`wx.ClientDC`. :type `window`: wx.Window :rtype: `bool` .. versionadded:: 4.3/wxWidgets-3.3.0