.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. currentmodule:: wx.lib.agw.knobctrl .. highlight:: python .. _wx.lib.agw.knobctrl.BufferedWindow: ========================================================================================================================================== |phoenix_title| **wx.lib.agw.knobctrl.BufferedWindow** ========================================================================================================================================== A Buffered window class. To use it, subclass it and define a `Draw(dc)` method that takes a `dc` to draw to. In that method, put the code needed to draw the picture you want. The window will automatically be double buffered, and the screen will be automatically updated when a Paint event is received. When the drawing needs to change, you app needs to call the :meth:`BufferedWindow.UpdateDrawing() ` method. Since the drawing is stored in a bitmap, you can also save the drawing to file by calling the `SaveToFile(self, file_name, file_type)` method. | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class BufferedWindow:
| |sub_classes| Known Subclasses ============================== :class:`wx.lib.agw.knobctrl.KnobCtrl` | |super_classes| Known Superclasses ================================== :class:`wx.Window` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.lib.agw.knobctrl.BufferedWindow.__init__` Default class constructor. :meth:`~wx.lib.agw.knobctrl.BufferedWindow.Draw` This method should be overridden when sub-classed. :meth:`~wx.lib.agw.knobctrl.BufferedWindow.OnPaint` Handles the ``wx.EVT_PAINT`` event for :class:`BufferedWindow`. :meth:`~wx.lib.agw.knobctrl.BufferedWindow.OnSize` Handles the ``wx.EVT_SIZE`` event for :class:`BufferedWindow`. :meth:`~wx.lib.agw.knobctrl.BufferedWindow.UpdateDrawing` This would get called if the drawing needed to change, for whatever reason. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: BufferedWindow(wx.Window) A Buffered window class. To use it, subclass it and define a `Draw(dc)` method that takes a `dc` to draw to. In that method, put the code needed to draw the picture you want. The window will automatically be double buffered, and the screen will be automatically updated when a Paint event is received. When the drawing needs to change, you app needs to call the :meth:`BufferedWindow.UpdateDrawing() ` method. Since the drawing is stored in a bitmap, you can also save the drawing to file by calling the `SaveToFile(self, file_name, file_type)` method. .. method:: __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.NO_FULL_REPAINT_ON_RESIZE, agwStyle=KC_BUFFERED_DC) Default class constructor. :param `parent`: parent window. Must not be ``None``; :param `id`: window identifier. A value of -1 indicates a default value; :param `pos`: the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform; :param `size`: the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform; :param `style`: the window style; :param `agwStyle`: if set to ``KC_BUFFERED_DC``, double-buffering will be used. .. method:: Draw(self, dc) This method should be overridden when sub-classed. :param `dc`: an instance of :class:`wx.DC`. .. method:: OnPaint(self, event) Handles the ``wx.EVT_PAINT`` event for :class:`BufferedWindow`. :param `event`: a :class:`PaintEvent` event to be processed. .. method:: OnSize(self,event) Handles the ``wx.EVT_SIZE`` event for :class:`BufferedWindow`. :param `event`: a :class:`wx.SizeEvent` event to be processed. .. method:: UpdateDrawing(self) This would get called if the drawing needed to change, for whatever reason. The idea here is that the drawing is based on some data generated elsewhere in the system. If that data changes, the drawing needs to be updated.