In this article, we will see how we can create a mouse state handler object in the PYGLET module in python. Pyglet is easy to use but 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). Mouse state handler class is a simple handler that tracks the state of buttons from the mouse. If a button is pressed then this handler holds a True value for it.
We can create a window with the help of command given below
# creating a window window = pyglet.window.Window(width, height, title)
In order to create window we use MouseStateHandler method with pyglet.window.mouse
Syntax : mouse.MouseStateHandler()
Argument : It takes no argument
Return : It returns MouseStateHandler object
Below is the implementation
# importing pyglet module import pyglet
import pyglet.window.key as key
# width of window width = 500
# height of window height = 500
# caption i.e title of the window title = "Geeksforgeeks"
# creating a window window = pyglet.window.Window(width, height, title)
# text text = "Welcome to GeeksforGeeks Have a nice day"
# batch object batch = pyglet.graphics.Batch()
# creating document document = pyglet.text.document.FormattedDocument(text)
# setting style to the document document.set_style( 0 , len (document.text), dict (
font_name = 'Arial' , font_size = 16 ,
color = ( 255 , 255 , 255 , 255 )))
# creating a incremental text layout layout = pyglet.text.layout.IncrementalTextLayout(
document, 400 , 350 , batch = batch)
# making layout to display multiline layout.multiline = True
# creating a caret caret = pyglet.text.caret.Caret(layout, color = ( 255 , 255 , 255 ))
# caret to window push handlers window.push_handlers(caret) # setting caret style caret.set_style( dict (font_name = "Arial" ))
# on draw event @window .event
def on_draw():
# clear the window
window.clear()
# draw the batch
batch.draw()
# caret to window push handlers
window.push_handlers(caret)
# key press event @window .event
def on_key_press(symbol, modifier):
# key "C" get press
if symbol = = key.C:
# printing the message
print ( "Key : C is pressed" )
# image for icon img = image = pyglet.resource.image( "gfg.png" )
# creating a mouse state handler mouse_handler = pyglet.window.mouse.MouseStateHandler()
value = mouse_handler
# creating text from the value text = "Mouse State Handler : " + str ( type (value))
# setting this text to the document document.text = text
# setting image as icon window.set_icon(img) # start running the application pyglet.app.run() |
Output :