PYGLET – Formatted Document

In this article, we will see how we can create a formatted document in the PYGLET module in python. Pyglet is easy to use but a powerful library for developing visually rich GUI applications like games, multimedia, etc. A window is a “heavyweight” object occupying operating system resources. Windows may appear as floating regions or can be set to fill an entire screen (fullscreen). Formatted documents are generally laid out to enhance their human readability by adding structure, such as headings, indentation, font variations, and other devices that transform plain (unformatted) text so that they have an appearance similar to published works.
We can create a window with the help of the command given below 
 
# creating a window window = pyglet.window.Window(width, height, title)
In order to create window we use pyglet.text.document.FormattedDocument method
Syntax : pyglet.text.document.FormattedDocument(text)
Argument : It takes string as argument
Return : It returns FormattedDocument object
Below is the implementation 
 
Python3
| # importing pyglet moduleimportpygletimportpyglet.window.key# width of windowwidth =500# height of windowheight =500# caption i.e title of the windowtitle ="Geeksforzambiatek"# creating a windowwindow =pyglet.window.Window(width, height, title)# text text ="Welcome to zambiatek Have a nice day"# batch objectbatch =pyglet.graphics.Batch()# creating a formatted documentdocument =pyglet.text.document.FormattedDocument(text)# setting style to the documentdocument.set_style(0, len(document.text), dict(font_name ='Arial', font_size =16, color =(255, 255, 255, 255)))# creating a incremental text layoutlayout =pyglet.text.layout.IncrementalTextLayout(document, 400, 350, batch =batch)# creating a caretcaret =pyglet.text.caret.Caret(layout, color =(150, 255, 150))# caret to window push handlerswindow.push_handlers(caret)# setting caret stylecaret.set_style(dict(font_name ="Arial"))# on draw event@window.eventdefon_draw():        # clear the window    window.clear()        # draw the batch    batch.draw()        # caret to window push handlers    window.push_handlers(caret)    # key press event    @window.eventdefon_key_press(symbol, modifier):    # key "C" get press    ifsymbol ==pyglet.window.key.C:                # closing the window        # window.close()        pass    # image for iconimg =image =pyglet.resource.image("logo.png")# setting image as iconwindow.set_icon(img)# start running the applicationpyglet.app.run() | 
Output : 
 
 
				 
					



