
"""
Robin Dunn
"""

import wx

print wx.version()

#------------------------------------------------------------------------------

class MyScrolledWindow( wx.ScrolledWindow ) :
     
    def __init__( self, *args, **kw ) :
    
        wx.ScrolledWindow.__init__( self, *args, **kw )
        
        self.Bind( wx.EVT_PAINT, self.OnPaint )
        self.SetVirtualSize( ( 63000, 63000 ) )
        self.SetScrollRate( 20, 20 )               # pxls at a time
        
    #end __init__
    
    #----- 
    
    def OnPaint( self, evt ) :
         
        dc = wx.PaintDC( self )
        self.PrepareDC( dc )
        
        dc.SetPen( wx.Pen( 'red' ) )
        dc.SetBrush( wx.Brush( 'red' ) )
        
        ballRad = 100
        margin  = 10
        
        # Draw more balls "way out there".
        w, h = self.GetVirtualSize()
                                                                           # tic-tac-toe grid pos
        dc.DrawCircle( ballRad+margin,     ballRad+margin,     ballRad )   # ttt grid (0, 0)
        dc.DrawCircle( ballRad+margin,     h/2,                ballRad )   # ttt grid (0, 1)
        dc.DrawCircle( ballRad+margin,     h-(ballRad+margin), ballRad )   # ttt grid (0, 2)
                                                                           
        dc.DrawCircle( w/2,                ballRad+margin,     ballRad )   # ttt grid (1, 0)
        dc.DrawCircle( w/2,                h/2,                ballRad )   # ttt grid (1, 1)
        dc.DrawCircle( w/2,                h-(ballRad+margin), ballRad )   # ttt grid (1, 2)
                                                                           
        dc.DrawCircle( w-(ballRad+margin), ballRad+margin,     ballRad )   # ttt grid (2, 0)
        dc.DrawCircle( w-(ballRad+margin), h/2,                ballRad )   # ttt grid (2, 1)
        dc.DrawCircle( w-(ballRad+margin), h-(ballRad+margin), ballRad )   # ttt grid (2, 2)
        
    #end OnPaint def
    
#end MyScrolledWindow class

#==============================================================================

app = wx.App( False )
frm = wx.Frame( None, title='Whopper', size=(800, 600), pos=(0, 0) )
sw = MyScrolledWindow( frm )
frm.Show()
app.MainLoop() 