Pygame components for text input and displayTextDisplayer displays any data it receives on a Pygame surface. Every new piece of data is displayed on its own line, and lines wrap automatically. Textbox displays user input while the user types, and sends its string buffer to its 'outbox' when it receives a ' '. Example UsageTo take user input in Textbox and display it in TextDisplayer: Pipeline(Textbox(size = (800, 300), position = (0,0)), TextDisplayer(size = (800, 300), position = (0,340)) ).run() How does it work?TextDisplayer requests a display from the Pygame Display service and requests that Pygame Display send all keypresses to it. Every time TextDisplayer receives a keypress, it updates its string buffer and the display. If it receives a newline, or if text must wrap, it moves the existing text upwards and blits the new line onto the bottom. Known issuesThe line wrapping length is specified by the width of the display divided by the width of the letter 'a' in the displayed font, so lines may wrap too far off the edge of the screen if the user types very narrow text (i.e. just spaces with no other charachters), or too far inside the edge of the screen (usually). Kamaelia.UI.Pygame.Text.TextDisplayerclass TextDisplayer(Axon.Component.component)TextDisplayer(...) -> new TextDisplayer Pygame component. Keyword arguments:
Inboxes
Outboxes
Methods defined hereWarning! 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, **argd)Initialises initPygame(self, **argd)requests a display surface from the PygameDisplay service, fills the color in, and copies it main(self)Main loop needShutdown(self)Checks for control messages update(self, text)Updates text to the bottom of the screen while scrolling old text upwards. Delegates most of the work to updateLine updateLine(self, line)Updates one line of text to bottom of screen, scrolling old text upwards. Kamaelia.UI.Pygame.Text.Textboxclass Textbox(TextDisplayer)Textbox(...) -> New Pygame Textbox component Keyword Arguments:
Reads keyboard input and updates it on the screen. Flushes string buffer and sends it to outbox when a newline is encountered. Inboxes
Outboxes
Methods defined hereWarning! 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. main(self)Requests a surface from PygameDisplay and registers to listen for events Then enters the main loop, which checks for Pygame events and updates them to the screen. setText(self, text)erases the screen and updates it with text Methods inherited from Kamaelia.UI.Pygame.Text.TextDisplayer :
FeedbackGot 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 |
Kamaelia
is an open source project originated from and guided by BBC
Research. For more information browse the site or get in
contact.
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.