# # User-defined scrollable views used by test programs # from GUI import ScrollableView, Color, Font from GUI.StdFonts import system_font, application_font from GUI.StdColors import black, red, green, blue, yellow, white from TestInput import TestKeyEvents, TestTrackMouse from testing import say bgc = [green, blue, yellow] ### bgi = 0 ### class TestScrollableDrawing(ScrollableView): report_update_rect = False def __init__(self, **kwds): ScrollableView.__init__(self, **kwds) self.extent = (1000, 1000) def blue_update_rgn(self, c): c.fillcolor = blue c.fill_rect(self.viewed_rect()) def draw(self, c, r): if self.report_update_rect: say("Update rect =", r) viewed_rect = self.viewed_rect() c.fillcolor = white c.fill_rect(viewed_rect) c.pensize = 6 c.fillcolor = red x = 20 y = 10 for i in range(0, 20): c.newpath() c.moveto(x - 20, y + 20) c.rlineto(80, -20) c.rlineto(-40, 60) c.closepath() c.fill() c.stroke() x += 80 y += 80 ew, eh = self.extent c.frame_rect((0, 0, ew, eh)) class TestScrollableView(TestKeyEvents, TestTrackMouse, TestScrollableDrawing): pass