const OPCODE_MOVETO = 1;
const OPCODE_LINETO = 3;
const OPCODE_RLINETO = 4;
const OPCODE_CURVETO = 5;
const OPCODE_RCURVETO = 6;
pointer coordinates;
int coords_num;
coordinates
array.
int coords_cap;
pointer actions;
int actions_num;
actions
array.
int actions_cap;
int num_curves;
public boolean closed;
TRUE
, this path is closed.
id init (float, float) (x, y);
void curveto (float, float, float, float, float, float) (x1, y1, x2, y2, x3, y3);
id (result) flattened;
void lineto (float, float) (x, y);
void moveto (float, float) (x, y) pre !actions_num;
void newpath;
(float, float, float, float) (x1, y1, x2, y2) pathbbox;
void stroke (pointer, int) (display, drawable) offsets (float, float) (blx, bly);
display
.
protected int (action) action int i pre 0 <= i && i < actions_num;
protected void add int action;
protected void add (float, float) (x, y);
protected (float, float) (x, y) coordinate int i pre 0 <= i && i < coords_num;
void dealloc;
void dispose;
protected void flatten float flatness to (float, float, float, float, float, float) (x1, y1, x2, y2, x3, y3) pre coords_num > 0;
flatness
to the indicated coordinates.
protected void flatten int k to (float, float, float, float, float, float) (x1, y1, x2, y2, x3, y3);
1 << k
line segments, modulo
weird circumstances.