# wx.lib.agw.speedmeter.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 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¶

Inheritance diagram for class BufferedWindow:

## Known Subclasses¶

wx.lib.agw.speedmeter.SpeedMeter

## Known Superclasses¶

wx.Window

## Methods Summary¶

 __init__ Default class constructor. doSetWindowCreated Method to call OnSize on GTK when window is created. Draw This method should be overridden when sub-classed. OnPaint Handles the wx.EVT_PAINT event for BufferedWindow. OnSize Handles the wx.EVT_SIZE event for BufferedWindow. UpdateDrawing This would get called if the drawing needed to change, for whatever reason.

## 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 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.

### Methods¶

__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.NO_FULL_REPAINT_ON_RESIZE, bufferedstyle=SM_BUFFERED_DC)

Default class constructor.

Parameters
• parent – parent window. Must not be None;

• id – window identifier. A value of -1 indicates a default value;

• pos – the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform;

• size – the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform;

• style – the window style;

• bufferedstyle – if set to SM_BUFFERED_DC, double-buffering will be used.

doSetWindowCreated(self, evt)

Method to call OnSize on GTK when window is created.

Draw(self, dc)

This method should be overridden when sub-classed.

Parameters

dc – an instance of wx.DC.

OnPaint(self, event)

Handles the wx.EVT_PAINT event for BufferedWindow.

Parameters

event – a PaintEvent event to be processed.

OnSize(self, event)

Handles the wx.EVT_SIZE event for BufferedWindow.

Parameters

event – a wx.SizeEvent event to be processed.

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.