Removed all code that uses OpenGL from Image.
[io/quag.git] / addons / Range / source / IoRange.h
blob3016ac7b8d0bec25723a9f49b31fee7ca7ce8e7e
1 /*
2 docCopyright("Jeremy Tregunna", 2006)
3 docLicense("BSD")
4 */
6 #ifndef IORANGE_DEFINED
7 #define IORANGE_DEFINED 1
9 #include "Common.h"
10 #include "IoObject.h"
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
16 #define ISRANGE(self) \
17 IoObject_hasCloneFunc_((self), (IoTagCloneFunc *)IoRange_rawClone)
19 typedef IoObject IoRange;
21 typedef struct
23 IoObject *start;
24 IoObject *curr;
25 IoObject *end;
26 IoObject *increment;
27 IoObject *index;
28 } IoRangeData;
30 IoRange *IoRange_rawClone(IoRange *self);
31 IoRange *IoRange_proto(void *state);
32 IoRange *IoRange_new(void *state);
34 void IoRange_free(IoRange *self);
35 void IoRange_mark(IoRange *self);
37 /* ----------------------------------------------------------- */
39 IoObject *IoRange_first(IoRange *self, IoObject *locals, IoMessage *m);
40 IoObject *IoRange_last(IoRange *self, IoObject *locals, IoMessage *m);
41 IoObject *IoRange_next(IoRange *self, IoObject *locals, IoMessage *m);
42 IoObject *IoRange_previous(IoRange *self, IoObject *locals, IoMessage *m);
43 IoObject *IoRange_index(IoRange *self, IoObject *locals, IoMessage *m);
44 IoObject *IoRange_value(IoRange *self, IoObject *locals, IoMessage *m);
46 IoRange *IoRange_setRange(IoRange *self, IoObject *locals, IoMessage *m);
47 IoRange *IoRange_rewind(IoRange *self, IoObject *locals, IoMessage *m);
48 IoObject *IoRange_foreach(IoRange *self, IoObject *locals, IoMessage *m);
49 IoObject *IoRange_select(IoRange *self, IoObject *locals, IoMessage *m);
50 IoObject *IoRange_map(IoRange *self, IoObject *locals, IoMessage *m);
52 /* ----------------------------------------------------------- */
54 #include "IoRange_inline.h"
56 #ifdef __cplusplus
58 #endif
60 #endif