April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.


Simple Pygame drawing board

A simple drawing board for the pygame display service.

Use your left mouse button to draw to the board and the right to erase your artwork.


class MagnaDoodle(Axon.Component.component)

MagnaDoodle(...) -> A new MagnaDoodle component.

A simple drawing board for the pygame display service.

(this component and its documentation is heaviliy based on Kamaelia.UI.Pygame.Button)

Keyword arguments:

  • position -- (x,y) position of top left corner in pixels
  • margin -- pixels margin between caption and button edge (default=8)
  • bgcolour -- (r,g,b) fill colour (default=(224,224,224))
  • fgcolour -- (r,g,b) text colour (default=(0,0,0))
  • transparent -- draw background transparent if True (default=False)
  • size -- None or (w,h) in pixels (default=None)


  • control : For shutdown messages
  • callback : Receive callbacks from PygameDisplay
  • inbox : Receive events from PygameDisplay


  • outbox : not used
  • signal : For shutdown messages
  • display_signal : Outbox used for communicating to the display surface

Methods defined here


You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

__init__(self[, caption][, position][, margin][, bgcolour][, fgcolour][, msg][, transparent][, size])

x.__init__(...) initializes x; see x.__class__.__doc__ for signature




Main loop.

waitBox(self, boxname)

Generator. yields 1 until data ready on the named inbox.


Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT