IPOutput:
CEDAR
DEFINITIONS
= BEGIN OPEN IPImagerBasic;
Ref: TYPE = REF Rep;
Rep: TYPE = RECORD [procs: REF READONLY Procs, data: REF ANY];
Size: TYPE = RECORD[x, y: NAT];
Procs:
TYPE =
RECORD [
GetTransformation: PROC[self: Ref] RETURNS[Transformation],
GetSize: PROC[self: Ref] RETURNS[Size],
Show: PROC[self: Ref, color: Color, gen: PROC[PROC[x, y, w, h: INTEGER]]]
];
GetTransformation:
PROC[self: Ref]
RETURNS[Transformation]
= INLINE { RETURN self.procs.GetTransformation[self] };
GetSize:
PROC[self: Ref]
RETURNS[Size]
= INLINE { RETURN self.procs.GetSize[self] };
Show:
PROC[self: Ref, color: Color, gen:
PROC[
PROC[x, y, w, h:
INTEGER]]]
= INLINE { self.procs.Show[self, color, gen] };
END.