1 //metadoc Box copyright Steve Dekorte 2002
2 //metadoc Box license BSD revised
5 #define IOBOX_DEFINED 1
11 #define ISBOX(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoBox_rawClone)
12 IOBOX_API
void *IoMessage_locals_boxArgAt_(IoMessage
*self
, void *locals
, int n
);
14 typedef IoObject IoBox
;
22 IOBOX_API IoBox
*IoBox_rawClone(IoBox
*self
);
23 IOBOX_API IoBox
*IoBox_proto(void *state
);
24 IOBOX_API IoBox
*IoBox_new(void *state
);
25 IOBOX_API
void IoBox_rawCopy(IoBox
*self
, IoBox
*other
);
26 IOBOX_API
void IoBox_rawSet(IoBox
*self
, NUM_TYPE x
, NUM_TYPE y
, NUM_TYPE z
, NUM_TYPE w
, NUM_TYPE h
, NUM_TYPE d
);
27 IOBOX_API IoBox
*IoBox_newSet(void *state
, NUM_TYPE x
, NUM_TYPE y
, NUM_TYPE z
, NUM_TYPE w
, NUM_TYPE h
, NUM_TYPE d
);
29 IOBOX_API IoSeq
*IoBox_rawOrigin(IoBox
*self
);
30 IOBOX_API IoSeq
*IoBox_rawSize(IoBox
*self
);
32 IOBOX_API
void IoBox_free(IoBox
*self
);
33 IOBOX_API
void IoBox_mark(IoBox
*self
);
35 // -----------------------------------------------------------
37 IOBOX_API IoObject
*IoBox_origin(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
38 IOBOX_API IoObject
*IoBox_size(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
40 IOBOX_API IoObject
*IoBox_width(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
41 IOBOX_API IoObject
*IoBox_height(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
42 IOBOX_API IoObject
*IoBox_depth(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
44 IOBOX_API IoObject
*IoBox_set(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
45 IOBOX_API IoObject
*IoBox_setOrigin(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
46 IOBOX_API IoObject
*IoBox_setSize(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
48 IOBOX_API
void IoBox_rawUnion(IoBox
*self
, IoBox
*other
);
49 IOBOX_API IoObject
*IoBox_Union(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
50 IOBOX_API IoObject
*IoBox_containsPoint(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
51 IOBOX_API IoObject
*IoBox_intersectsBox(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
53 IOBOX_API IoObject
*IoBox_print(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
56 IOBOX_API IoObject *IoBox_asString(IoBox *self, IoObject *locals, IoMessage *m);
57 IOBOX_API IoObject *IoBox_Min(IoBox *self, IoObject *locals, IoMessage *m);
58 IOBOX_API IoObject *IoBox_Max(IoBox *self, IoObject *locals, IoMessage *m);