rulergadget test beta
Posted: Fri Dec 10, 2004 10:25 pm
here is a gadget i am working on that will extend the functionality of PB drawing image and graphics. not much right now, but i am planning a rulered canvas and rulered imagegadget. this is just a preliminary release to get some input on methods and functionality as well as suggestions. anyone who wants to help is more than welcome.
regards.
Code: Select all
#pb_rulerH=$33333333
#pb_rulerV=$33333334
#Pb_rulerL=$33333335
Procedure rulergadget(number,x,y,width,flags)
If flags=#Pb_rulerL
LoadFont(2, "test", 7)
ruler=CreateImage(#PB_Any,width,33)
StartDrawing(ImageOutput())
Box(0,0,width,33,#White)
DrawingMode(4)
Box(0,0,width,33,0)
For c=b+10 To c=b+90 Step 10
LineXY(c,0,c,6,0)
LineXY(c,33,c,27,0)
Next
For a=100 To width Step 100
LineXY(a,0,a,10,0)
Locate(a-7,11)
DrawingFont(FontID())
DrawText(Str(a))
LineXY(a,33,a,23,0)
b=a
For c=b+10 To c=b+90 Step 10
LineXY(c,0,c,6,0)
LineXY(c,33,c,27,0)
Next
Next
StopDrawing()
temp=ImageGadget(#PB_Any,x,y,width,33,UseImage(ruler))
ruler1=CreateImage(#PB_Any,33,width)
StartDrawing(ImageOutput())
Box(0,0,33,width,#White)
DrawingMode(4)
Box(0,0,33,width,0)
For a=100 To width Step 100
LineXY(0,a,7,a)
Locate(11,a-4)
DrawingFont(FontID())
DrawText(Str(a))
LineXY(33,a,27,a)
For c=0 To 90 Step 10
LineXY(0,c,6,c)
LineXY(33,c,27,c)
Next
b=a
For c=b+10 To c=b+90 Step 10
LineXY(0,c,6,c)
LineXY(33,c,27,c)
Next
Next
StopDrawing()
temp1=ImageGadget(#PB_Any,x-33,y+33,33,width,UseImage(ruler1))
toggleb=ButtonGadget(#PB_Any,x-33,y,33,33,"",#PB_Button_Toggle)
ProcedureReturn toggleb
ElseIf flags=#pb_rulerH
LoadFont(2, "test", 7)
ruler=CreateImage(#PB_Any,width,33)
StartDrawing(ImageOutput())
Box(0,0,width,33,#White)
DrawingMode(4)
Box(0,0,width,33,0)
For c=b+10 To c=b+90 Step 10
LineXY(c,0,c,6,0)
LineXY(c,33,c,27,0)
Next
For a=100 To width Step 100
LineXY(a,0,a,10,0)
Locate(a-7,11)
DrawingFont(FontID())
DrawText(Str(a))
LineXY(a,33,a,23,0)
b=a
For c=b+10 To c=b+90 Step 10
LineXY(c,0,c,6,0)
LineXY(c,33,c,27,0)
Next
Next
StopDrawing()
temp=ImageGadget(#PB_Any,x,y,width,33,UseImage(ruler))
ElseIf flags=#pb_rulerV
LoadFont(2, "test", 7)
ruler1=CreateImage(#PB_Any,33,width)
StartDrawing(ImageOutput())
Box(0,0,33,width,#White)
DrawingMode(4)
Box(0,0,33,width,0)
For a=100 To width Step 100
LineXY(0,a,7,a)
Locate(11,a-4)
DrawingFont(FontID())
DrawText(Str(a))
LineXY(33,a,27,a)
For c=0 To 90 Step 10
LineXY(0,c,6,c)
LineXY(33,c,27,c)
Next
b=a
For c=b+10 To c=b+90 Step 10
LineXY(0,c,6,c)
LineXY(33,c,27,c)
Next
Next
StopDrawing()
temp1=ImageGadget(#PB_Any,x,y,33,width,UseImage(ruler1))
EndIf
EndProcedure
If OpenWindow(0,0,0,645,605,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"RulerGadget") And CreateGadgetList(WindowID(0))
test=rulergadget(1,60,20,550,#Pb_rulerL)
EndIf
Repeat
event=WaitWindowEvent()
Select event
Case #PB_EventGadget
Select EventGadgetID()
EndSelect
Case #PB_EventCloseWindow
End
EndSelect
ForEver