SpeedMeter tries to reproduce the behavior of some car controls (but not only), by creating an "angular" control (actually, circular).
This implementation allows you to use either directly the wx.PaintDC, or the better (for me) double buffered style with wx.BufferedPaintDC. The double buffered implementation has been adapted from the wxpython wiki example:
http://wiki.wxpython.org/index.cgi/doublebuffereddrawing
With SpeedMeter you can set:
- The start and end angle of existence for speedmeter;
- The intervals in which you divide the speedmeter (numerical values);
- The corresponding thicks for the intervals;
- The interval colours (different intervals may have different filling colours);
- The ticks font and colour;
- The background colour (outside the speedmeter region);
- The external arc colour;
- The hand (arrow) colour;
- The hand's shadow colour;
- The hand's style ("arrow" or "hand");
- The partial filler colour;
- The number of secondary (intermediate) ticks;
- The direction of increasing speed ("advance" or "reverse");
- The text to be drawn in the middle and its font;
- The icon to be drawn in the middle;
- The first and second gradient colours (that fills the speedmeter control);
- The current value.
Downloads, screenshots, demo and more info can be found at:
http://xoomer.alice.it/infinity77/main/SpeedMeter.html
Andrea.