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
|