| This only works with OpenGL or the latest DX11 module. Otherwise you get an DX error... "D3DERR: Unable to lock render target surface"! 
 
 
SuperStrict
Framework MaxGui.Drivers
	Import BRL.Max2D
	Import BRL.Pixmap
	Import BRL.Graphics
	Import Maxgui.ProxyGadgets
	Import Brl.EventQueue
	Import Brl.Pixmap  
	Import Brl.Pngloader
	Import Brl.Jpgloader
	Import SRS.D3D11Max2D
	Import BRL.D3D7Max2D
	Import BRL.D3D9Max2D
	Import BRL.GLGraphics
	Import BRL.GLMax2D
' Working...
'SetGraphicsDriver GLMax2DDriver()
'SetGraphicsDriver D3D11Max2DDriver()
'D3DERR: Unable To lock render target surface
'SetGraphicsDriver D3D9Max2DDriver()
'SetGraphicsDriver D3D7Max2DDriver()
Local Pix:TPixmap=LoadPixmap("image2.jpg")
Local MyWindow:TGadget=CreateWindow("Scrolling Canvas Example",  100, 10, 400,400)
Local MyPanel:TGadget=CreatePanel(30, 20, 320, 240, MyWindow, PANEL_ACTIVE|PANEL_BORDER)
Local CanvasHeight:Int=600
Local CanvasWidth:Int=800
Local MyCanvas:TGadget=CreateCanvas(0, 0, CanvasWidth, CanvasHeight, MyPanel)
SetGraphics CanvasGraphics(MyCanvas)
DrawPixmap Pix,0,0
Local ImgX:Int=0
Local ImgY:Int=0
Local VScroller:TGadget=CreateSlider(GadgetWidth(MyPanel)+30, 20, 20, GadgetHeight(MyPanel), MyWindow, SLIDER_VERTICAL)
Local HScroller:TGadget=CreateSlider(30,GadgetHeight(MyPanel)+20, GadgetWidth(MyPanel), 20, MyWindow, SLIDER_HORIZONTAL)
SetSliderRange VScroller, GadgetHeight(MyPanel), CanvasHeight
SetSliderRange HScroller, GadgetWidth(MyPanel), CanvasWidth
Repeat
  WaitEvent()
  Select EventID()
  Case EVENT_WINDOWCLOSE
     End
  Case EVENT_GADGETACTION
     Select EventSource()
        Case HScroller
          ImgX=EventData()
        Case VScroller
           ImgY=EventData()
        End Select         
     RedrawGadget(MyCanvas)
  Case EVENT_GADGETPAINT
    SetGraphics CanvasGraphics (MyCanvas)
    SetGadgetShape MyCanvas,-ImgX, -ImgY,GadgetWidth(MyCanvas),GadgetHeight(MyCanvas)    
    Flip
   End Select
   SetStatusText MyWindow, "ImgX="+ImgX+", ImgY="+ImgY
Forever
 
 |