Code: Select all
Procedure Mouse_Wheel(Delta)
In.INPUT
In\type = #INPUT_MOUSE;
In\mi\dwFlags = #MOUSEEVENTF_WHEEL
In\mi\mouseData = Delta * 120
SendInput_(1,@In,SizeOf(INPUT))
EndProcedure
Procedure LeftClick()
In.INPUT
In\type = #INPUT_MOUSE
In\mi\dwFlags = #MOUSEEVENTF_LEFTDOWN
SendInput_(1,@In,SizeOf(INPUT))
In\mi\dwFlags = #MOUSEEVENTF_LEFTUP
SendInput_(1,@In,SizeOf(INPUT))
EndProcedure
LoadImage(0,"g:\projects\for test\France Map2.bmp")
CreateImage(1,ImageWidth(0),ImageHeight(0))
If FileSize(GetHomeDirectory()+"France Map2.bmp") > 0
DeleteFile(GetHomeDirectory()+"France Map2.bmp")
EndIf
If OpenWindow(0, 0, 0, ImageWidth(0)+20,ImageHeight(0)+80, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered|#PB_Window_SizeGadget)
ContainerGadget(4,10,10,ImageWidth(0),ImageHeight(0))
WebGadget(0, 0, 0, ImageWidth(0), ImageHeight(0), "")
CloseGadgetList()
HideGadget(4,1)
CanvasGadget(1,10,10,ImageWidth(0),ImageHeight(0),#WS_CLIPSIBLINGS)
StartDrawing(CanvasOutput(1))
DrawImage(ImageID(0),0,0)
StopDrawing()
ButtonGadget(2,10,ImageHeight(0)+20,80,24,"Edit")
ButtonGadget(3,100,ImageHeight(0)+20,80,24,"ZOOM In/Out")
SetWindowColor(0,#Gray)
AddKeyboardShortcut(0,#PB_Shortcut_Control|107,1)
AddKeyboardShortcut(0,#PB_Shortcut_Control|109,2)
AddKeyboardShortcut(0,#PB_Shortcut_Control|187,3)
AddKeyboardShortcut(0,#PB_Shortcut_Control|189,4)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_SizeWindow
ResizeGadget(0,#PB_Ignore, #PB_Ignore,WindowWidth(0)-20,WindowHeight(0)-20)
Case #PB_Event_Menu
Select EventMenu()
Case 1,3
If Plus = 0
GetWindowRect_(GadgetID(0),r.RECT)
SetCursorPos_((r\right-5),(r\bottom-5))
LeftClick ()
Plus + 1
EndIf
Mouse_Wheel(2)
Case 2,4
If Minus = 0
GetWindowRect_(GadgetID(0),r.RECT)
SetCursorPos_((r\right-5),(r\bottom-5))
LeftClick ()
Minus + 1
EndIf
Mouse_Wheel(-2)
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Select EventType()
Case #PB_EventType_MouseMove
x = GetGadgetAttribute(1,#PB_Canvas_MouseX)
y = GetGadgetAttribute(1,#PB_Canvas_MouseY)
Case #PB_EventType_RightClick
Color = ColorRequester()
StartDrawing(CanvasOutput(1))
FillArea(x,y,-1,Color)
StopDrawing()
StartDrawing(ImageOutput(1))
DrawImage(GetGadgetAttribute(1,#PB_Canvas_Image ) ,0,0)
StopDrawing()
SaveImage(1,GetHomeDirectory()+"France Map2.bmp",#PB_ImagePlugin_BMP)
EndSelect
Case 2
HideGadget(4,1)
HideGadget(0,1)
HideGadget(1,0)
Case 3
HideGadget(4,0)
HideGadget(0,0)
HideGadget(1,1)
SetGadgetText(0, GetHomeDirectory()+"France Map2.bmp")
SetCursorPos_(WindowX(0)+100,WindowY(0)+100)
LeftClick()
EndSelect
EndSelect
Until Quit = 1
EndIf