2 docCopyright("Steve Dekorte", 2002)
3 docLicense("BSD revised")
7 #define IOBOX_DEFINED 1
13 #define ISBOX(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoBox_rawClone)
14 IOBOX_API
void *IoMessage_locals_boxArgAt_(IoMessage
*self
, void *locals
, int n
);
16 typedef IoObject IoBox
;
24 IOBOX_API IoBox
*IoBox_rawClone(IoBox
*self
);
25 IOBOX_API IoBox
*IoBox_proto(void *state
);
26 IOBOX_API IoBox
*IoBox_new(void *state
);
27 IOBOX_API
void IoBox_rawCopy(IoBox
*self
, IoBox
*other
);
28 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
);
29 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
);
31 IOBOX_API IoSeq
*IoBox_rawOrigin(IoBox
*self
);
32 IOBOX_API IoSeq
*IoBox_rawSize(IoBox
*self
);
34 IOBOX_API
void IoBox_free(IoBox
*self
);
35 IOBOX_API
void IoBox_mark(IoBox
*self
);
37 // -----------------------------------------------------------
39 IOBOX_API IoObject
*IoBox_origin(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
40 IOBOX_API IoObject
*IoBox_size(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
42 IOBOX_API IoObject
*IoBox_width(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
43 IOBOX_API IoObject
*IoBox_height(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
44 IOBOX_API IoObject
*IoBox_depth(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
46 IOBOX_API IoObject
*IoBox_set(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
47 IOBOX_API IoObject
*IoBox_setOrigin(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
48 IOBOX_API IoObject
*IoBox_setSize(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
50 IOBOX_API
void IoBox_rawUnion(IoBox
*self
, IoBox
*other
);
51 IOBOX_API IoObject
*IoBox_Union(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
52 IOBOX_API IoObject
*IoBox_containsPoint(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
53 IOBOX_API IoObject
*IoBox_intersectsBox(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
55 IOBOX_API IoObject
*IoBox_print(IoBox
*self
, IoObject
*locals
, IoMessage
*m
);
58 IOBOX_API IoObject *IoBox_asString(IoBox *self, IoObject *locals, IoMessage *m);
59 IOBOX_API IoObject *IoBox_Min(IoBox *self, IoObject *locals, IoMessage *m);
60 IOBOX_API IoObject *IoBox_Max(IoBox *self, IoObject *locals, IoMessage *m);