summaryrefslogtreecommitdiff
path: root/src/modules/space.h
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-06-29 13:52:14 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-06-29 13:52:14 +0000
commit55233c4949d7bed70345f6fea44315df151d9ba5 (patch)
treedcf689268ff30c4a8ad0152dbfbcbdb4ca6285f5 /src/modules/space.h
parent317866022797bd364b575d02d9b94dfd73a13b9b (diff)
- oprava chyby, vestok objetovy kod ktory sa linkoval do modulov nebol skompilovanay s -fPIC
git-svn-id: http://opensvn.csie.org/tuxanci_ng@79 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/modules/space.h')
-rw-r--r--src/modules/space.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/modules/space.h b/src/modules/space.h
new file mode 100644
index 0000000..35d55a4
--- /dev/null
+++ b/src/modules/space.h
@@ -0,0 +1,38 @@
+
+#ifndef SPACE_H
+
+#define SPACE_H
+
+#include "base/main.h"
+#include "modules/list.h"
+
+typedef struct space_struct
+{
+ int w;
+ int h;
+ int segW;
+ int segH;
+ list_t ***area;
+ list_t *list;
+ void (*getStatus)(void *p, int *id, int *x, int *y, int *w, int *h);
+ void (*setStatus)(void *p, int x, int y, int w, int h);
+} space_t;
+
+extern space_t *newSpace(int w, int h, int segW, int segH,
+ void (*getStatus)(void *p, int *id, int *x, int *y, int *w, int *h),
+ void (*setStatus)(void *p, int x, int y, int w, int h));
+
+extern void addObjectToSpace(space_t *p, void *item);
+extern void getObjectFromSpace(space_t *p, int x, int y, int w, int h, list_t *list);
+extern void* getObjectFromSpaceWithID(space_t *p, int id);
+extern int isConflictWithObjectFromSpace(space_t *p, int x, int y, int w, int h);
+extern int isConflictWithObjectFromSpaceBut(space_t *p, int x, int y, int w, int h, void *but);
+extern void delObjectFromSpace(space_t *p, void *item);
+extern void delObjectFromSpaceWithObject(space_t *p, void *item, void *f);
+extern void moveObjectInSpace(space_t *p, void *item, int move_x, int move_y);
+extern void printSpace(space_t *p);
+extern void destroySpace(space_t *p);
+extern void destroySpaceWithObject(space_t *p, void *f);
+
+#endif
+