#ifndef __DRAW_H__
#define __DRAW_H__

#include <general.h>
#include <object.h>

/* Cet objet herite de object */

typedef struct _draw draw;

struct _draw
{
  int32  x,y;
  uint32 width, height;
  
  void (* display)(obj_ofs *this);
};

/* Renvoi le numero de type qui correspond a un object draw      */
/* chaque autre type d'object (button, window...) doit avoir son */
/* propre numero ainsi que sa propre fonction sur le meme type.  */
/* Ce numero correspond au champ obj_type.                       */
uint32 draw_type(void);

/* ce que l'on peut voir comme le constructeur de l'objet */
void draw_init(obj_ofs *this);

/* la fonction qui permet de creer un nouvel objet */
obj_ofs *draw_new(void);

void call_draw_display(obj_ofs *this);

#endif /* __DRAW_H__ */