File: wx.lib.agw.knobctrl.BufferedWindow.txt

package info (click to toggle)
wxpython4.0 4.0.4%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 211,112 kB
  • sloc: cpp: 888,355; python: 223,130; makefile: 52,087; ansic: 45,780; sh: 3,012; xml: 1,534; perl: 264
file content (153 lines) | stat: -rw-r--r-- 6,394 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 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() <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

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>BufferedWindow</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.agw.knobctrl.BufferedWindow_inheritance.png" alt="Inheritance diagram of BufferedWindow" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="19,5,120,35"/> <area shape="rect" id="node2" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="71,83,181,112"/> <area shape="rect" id="node6" href="wx.WindowBase.html" title="wx.WindowBase" alt="" coords="66,160,187,189"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="144,5,225,35"/> <area shape="rect" id="node4" href="wx.lib.agw.knobctrl.BufferedWindow.html" title="wx.lib.agw.knobctrl.BufferedWindow" alt="" coords="5,315,248,344"/> <area shape="rect" id="node5" href="wx.Window.html" title="wx.Window" alt="" coords="82,237,171,267"/> </map> 
   </p>

|


|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() <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.