object.h 525 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef OBJECT_H_
  2. #define OBJECT_H_
  3. #include <graphx.h>
  4. #include "sprite.h"
  5. typedef struct Scale {
  6. int x;
  7. int y;
  8. } Scale;
  9. typedef struct Object Object;
  10. struct Object {
  11. int id;
  12. int x;
  13. int y;
  14. Scale scale;
  15. Sprite* sprite;
  16. struct Scene* scene;
  17. int (*height)(Object*);
  18. int (*width)(Object*);
  19. void (*draw)(Object*);
  20. void (*update)(Object*);
  21. void (*load)(Object*);
  22. };
  23. void Object_draw(Object* self);
  24. void free_Object(Object* self);
  25. Object* new_Object(int x, int y);
  26. #endif