1 from ..utils
import extend
, add_swig_getmethod
, add_swig_setmethod
2 from . import c_backends
3 from ..input import c_input
5 def extend_backend(_backend
):
7 Extends _backend class with convenience methods.
8 Called once on module initialization.
11 @extend(_backend
, name
='__str__')
12 @extend(_backend
, name
='__repr__')
13 def backend_str(self
):
14 return "<Backend \"%s\", GP_Backend %sowned>" % (
15 self
.name
, "" if self
.thisown
else "not ")
19 "If display is buffered, this copies content of pixmap onto display."
20 return c_backends
.GP_BackendFlip(self
)
23 def UpdateRect(self
, x0
, y0
, x1
, y1
):
24 "Update a rectangle on a buffered backend."
25 return c_backends
.GP_BackendUpdateRect(self
, x0
, y0
, x1
, y1
)
30 c_backends
.GP_BackendPoll(self
)
34 "Poll the backend for events."
35 ev
= c_input
.GP_Event()
37 if c_backends
.GP_BackendPollEvent(self
, ev
) != 0:
45 c_backends
.GP_BackendWait(self
)
49 "Waits for backend event."
50 ev
= c_input
.GP_Event()
52 c_backends
.GP_BackendWaitEvent(self
, ev
)
58 "Removes event from the top of the backend event queue."
59 ev
= c_input
.GP_Event()
61 if c_backends
.GP_BackendGetEvent(self
, ev
) != 0:
68 "Returns, but not removes, the top of the backend event queue."
69 ev
= c_input
.GP_Event()
71 if c_backends
.GP_BackendPeekEvent(self
, ev
) != 0:
77 def PutEventBack(self
, ev
):
78 "Puts back event removed from the top of the backend event queue."
79 c_backends
.GP_BackendPutEventBack(self
, ev
)
82 def EventsQueued(self
):
83 "Returns the number of events queued in the backend event queue."
84 return c_backends
.GP_BackendEventsQueued(self
)
87 def SetCaption(self
, caption
):
88 "Set backend window caption (if possible)"
89 return c_backends
.GP_BackendSetCaption(self
, caption
)
92 def Resize(self
, w
, h
):
93 "Resize backend window (if possible)"
94 return c_backends
.GP_BackendResize(self
, w
, h
)
98 "Acknowledge backend resize."
99 return c_backends
.GP_BackendResizeAck(self
)