ALGOL 68/prelude/graph 2d.a68: Difference between revisions

m
rename some objects
m (rename some objects)
m (rename some objects)
Line 21:
MODE POINT = [axis 2d]GREAL;
MODE POINTDETAIL = STRUCT(STRINGOPT label, POINTOPTION option);
MODE YIELDPOINTPOINTYIELD = PROC(POINT)VOID;
MODE GENPOINTPOINTGEN = PROC(YIELDPOINTPOINTYIELD)VOID;
 
MODE TICK = STRUCT(INT number, GREAL len);
Line 99:
[axis 2d]AXIS axis
# FLEX[0]AXISOPT y2, #
# GENPOINTPOINTGEN gen point #
);
 
MODE FUNCTIONINTERVAL = STRUCT(PROC(REAL)REAL function, INTERVAL interval);
MODE CURVE = UNION(GENPOINTPOINTGEN, []POINT, FUNCTIONINTERVAL);
 
MODE GRAPHDDMETHODOF = STRUCT(
Line 113:
PROC (NOARG)VOID decorate,
PROC (NOARG)VOID begin curve,
PROC (GENPOINTPOINTGEN #curve#, LINEOPTION #option#)VOID add curve gen point,
PROC ([]POINT #curve#, LINEOPTION #option#)VOID add curve array point,
PROC (FUNCTIONINTERVAL #function interval#, LINEOPTION #option#)VOID add curve function interval,
Line 260:
);
 
PROC add curve gen point of graph 2d = (REF GRAPHDD self, GENPOINTPOINTGEN gen point, LINEOPTION option)VOID:(
REF FILE window = file OF window OF self;
BOOL first := TRUE;
Line 286:
 
PROC add curve array point of graph 2d = (REF GRAPHDD self, []POINT curve, LINEOPTION option)VOID:(
PROC gen curve = (YIELDPOINTPOINTYIELD yield)VOID:
FOR i TO UPB curve DO yield(curve[i]) OD;
(add curve gen point OF (METHODOF self))(gen curve, option)
Line 292:
 
PROC add curve function interval of graph 2d = (REF GRAPHDD self, FUNCTIONINTERVAL function interval, LINEOPTION option)VOID:(
PROC gen curve = (YIELDPOINTPOINTYIELD yield)VOID:(
INT n steps = 100;
REAL x := lwb OF interval OF function interval;
Line 306:
PROC add curve of graph 2d = (REF GRAPHDD self, CURVE curve, LINEOPTION option)VOID:(
CASE curve IN
(GENPOINTPOINTGEN gen): (add curve gen point OF (METHODOF self))(gen, option),
([]POINT array): (add curve array point OF (METHODOF self))(array, option),
(FUNCTIONINTERVAL function interval): (add curve function interval OF (METHODOF self))(function interval, option)