i can't get the following code to work. can anybody see the problem?
Code: Select all
Structure DrawingValues
windownum.i
canvasnum.i
scroolernum.i
;;;;; set imagesizes
imageSizev.i
imageSizeh.i
colorimagebackground.i
;;; id of a possible parentwindow that is to be used, -1 if not
parentwindow.i
;;; windows title string to be used
title.s
winsizev.i
winsizeh.i
EndStructure
Procedure DrawSimpleGraph(*graf.DrawingValues)
Protected x.d=0,i.i
Protected myimage = CreateImage(#PB_Any, *graf\imageSizev, *graf\imageSizeh, 32, *graf\colorimagebackground)
If StartVectorDrawing(ImageVectorOutput(myimage, #PB_Unit_Pixel))
MovePathCursor(40, 20)
For i = 1 To 4
AddPathLine(80, 0, #PB_Path_Relative)
AddPathLine(0, 40, #PB_Path_Relative)
Next i
StopVectorDrawing()
SetGadgetAttribute(*graf\canvasnum, #PB_Canvas_Image, ImageID(myimage))
FreeImage(myimage)
EndIf
EndProcedure
Procedure OpenGraphWindow(*graf.DrawingValues)
Protected.i window,parent,canvas,Event,CrossCur
Protected y.d,x.d,res1.i,res2.i,Rubber.RECT
CrossCur = LoadCursor_(0, #IDC_CROSS)
If *graf\parentwindow <> -1
window = OpenWindow(#PB_Any,0,0,*graf\winsizev,*graf\winsizeh,*graf\title,#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget,*graf\parentwindow)
Else
window = OpenWindow(#PB_Any,0,0,*graf\winsizev,*graf\winsizeh,*graf\title,#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget)
EndIf
parent = ScrollAreaGadget(#PB_Any,0,0,imageSizev,imageSizeh,imageSizev,imageSizeh,1,#PB_ScrollArea_BorderLess)
canvas = CanvasGadget(#PB_Any,0,0,*graf\winsizev,*graf\winsizeh)
CloseGadgetList()
*graf\windownum = window
*graf\canvasnum = canvas
*graf\scroolernum = parent
DrawSimpleGraph(*graf)
SmartWindowRefresh(window, #True)
ResizeWindow(window, #PB_Ignore, #PB_Ignore, *graf\winsizev+1,*graf\winsizeh+1)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case canvas
Select EventType()
Case #PB_EventType_MouseEnter
SetGadgetAttribute(canvas, #PB_Canvas_CustomCursor, CrossCur)
Case #PB_EventType_MouseMove
x = GetGadgetAttribute(canvas, #PB_Canvas_MouseX)
y = GetGadgetAttribute(canvas, #PB_Canvas_MouseY)
; find_org_coord(x, y)
Case #PB_EventType_LeftButtonDown
;
EndSelect
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndProcedure
plot.DrawingValues
plot\title = "test"
plot\imageSizev = 1200
plot\imageSizeh = 1200
plot\colorimagebackground = $FFFFFFFF
plot\winsizev = 800
plot\winsizeh = 600
OpenGraphWindow(@plot)
coffee