title = "Graph 0.5"
GraphicsWindow.Title = title
Not = "True=False;False=True;"
Form()
' draw (0,0), (0,1), (1,0) and (1,1)
GraphicsWindow.BrushColor = "Black"
For y = 0 To 1
For x = 0 To 1
Graph_ToGWCoordinate()
GraphicsWindow.FillEllipse(gwx - 2, gwy - 2, 4, 4)
EndFor
EndFor
' fill y=0
GraphicsWindow.PenColor = "#33000000"
gwx1 = gwvp["x"]
gwx2 = gwvp["x"] + gwvp["width"]
gwy1 = gwvp["y"]
gwy2 = gwvp["y"] + gwvp["height"]
n = Array.GetItemCount(b)
index = Array.GetAllIndices(b)
While "True"
For i = 1 To n
func = index[i]
GraphicsWindow.Title = title + " - " + func
Fx_GetProperties()
Shapes.SetText(fx, "y=" + textFx)
For gwy = gwy1 To gwy2
yLast = 1
For gwx = gwx1 To gwx2
Graph_ToLogicalCoordinate()
x1 = x
x2 = y
AN()
If y = 0 And yLast = 1 Then
gwx0 = gwx
started = "True"
EndIf
If (y = 1 And yLast = 0) OR (gwx = gwx2 And started) Then
nLine = nLine + 1
line[nLine] = Shapes.AddLine(gwx0, gwy, gwx - 1, gwy)
started = "False"
EndIf
yLast = y
EndFor
EndFor
Program.Delay(2000)
For iLine = 1 To nLine
Shapes.Remove(line[iLine])
EndFor
nLine = 0
EndFor
EndWhile
Sub Graph_ToLogicalCoordinate
' param gwx, gwy - graphics window co-ordinate
' return x, y - logical co-ordinate
x = vp["x"] + (gwx - gwvp["x"]) / gwvp["width"] * vp["width"]
y = vp["y"] + (gwy - gwvp["y"]) / gwvp["height"] * vp["height"]
EndSub
Sub Graph_DrawGrid
' param x1, y1 - logical left top of the grid
' param x2, y2 - logical right bottom of the grid
' param dx, dy - logical grid pitch
x = x1
y = y1
Graph_ToGWCoordinate()
gwx1 = gwx
gwy1 = gwy
x = x2
y = y2
Graph_ToGWCoordinate()
gwx2 = gwx
gwy2 = gwy
x = 0
For y = 0 To y2 Step -dy
Graph_ToGWCoordinate()
GraphicsWindow.DrawLine(gwx1, gwy, gwx2, gwy)
If num Then
GraphicsWindow.DrawText(gwx + 2, gwy, y)
EndIf
EndFor
For y = 0 To y1 Step dy
Graph_ToGWCoordinate()
GraphicsWindow.DrawLine(gwx1, gwy, gwx2, gwy)
If num Then
GraphicsWindow.DrawText(gwx + 2, gwy, y)
EndIf
EndFor
y = 0
For x = 0 To x2 Step dx
Graph_ToGWCoordinate()
GraphicsWindow.DrawLine(gwx, gwy1, gwx, gwy2)
If num Then
GraphicsWindow.DrawText(gwx + 2, gwy, x)
EndIf
EndFor
For x = 0 To x1 Step -dx
Graph_ToGWCoordinate()
GraphicsWindow.DrawLine(gwx, gwy1, gwx, gwy2)
If num Then
GraphicsWindow.DrawText(gwx + 2, gwy, x)
EndIf
EndFor
EndSub