Sub Ruler_Loop
GraphicsWindow.MouseUp = Ruler_OnMouseUp
GraphicsWindow.MouseDown = Ruler_OnMouseDown
While "True"
Program.Delay(100)
If ruler["move"] Then
ruler["move"] = "False"
x = ruler["movex"] - ruler["mousex"]
y = ruler["movey"] - ruler["mousey"]
Ruler_Move()
EndIf
If ruler["clicked"] Then
ruler["clicked"] = "False"
an = 90 - ruler["angle"]
Ruler_Rotate()
EndIf
EndWhile
EndSub
Sub Ruler_OnMouseDown
ruler["clicked"] = "N/A"
x = GraphicsWindow.MouseX
y = GraphicsWindow.MouseY
If ruler["left"] <= x And x <= ruler["right"] And ruler["top"] <= y And y <= ruler["bottom"] Then
ruler["mousex"] = x - ruler["cx"]
ruler["mousey"] = y - ruler["cy"]
ruler["move"] = "False"
GraphicsWindow.MouseMove = Ruler_OnMouseMove
ruler["moving"] = "True"
EndIf
EndSub
Sub Ruler_OnMouseUp
GraphicsWindow.MouseMove = Ruler_DoNothing
ruler["moving"] = "False"
If ruler["clicked"] = "N/A" Then
ruler["clicked"] = "True"
EndIf
EndSub