G_BOUDING et G_BOUNDED


Les objets G_BOUNDING et G_BOUNDED sont un peu particuliers. En effet, il permettent d'afficher tout ou une partie d'un formulaire dans un autre. L'objet G_BOUNDING est en fait l'objet dans lequel on peut afficher un G_BOUNDED. Dès lors, tout appel à objc_draw() affichera un arbre complexe dans lequel on peut trouver un autre arbre, et ce … l'infini.
De plus, du fait qu'un objet peut avoir des coordonnées négative dans l'ob_x/ob_y, il est tout à fait envisageable d'utiliser les G_BOUNDxxx pour fabriquer un objet dont le contenu se d‚place (exemple : des ascenseurs dans un formulaire...).

Les G_BOUNDING on la structure suivante pointé par leur ob_spec :

typedef struct {
	object		*gbo_tree;	// pointeur vers l'arbre affich‚
	unsigned short	gbo_first;	// num‚ro du 1er objet dessin‚ (G_BOUNDED)
	unsigned short	gbo_depth;	// profondeur de dessin
} bounding;


Les G_BOUNDED on la structure suivante :

typedef struct {
	object		*gbd_tree;	// pointeur vers l'arbre englobant
	unsigned short	gbd_index;	// num‚ro de l'objet englobant (G_BOUNDING)
	unsigned short	gbd_flags;	// champ de bits
} bounded;


Comme vous pouvez le voire, ces deux types d'objet sont inséparable, et il faut bien prendre garde que les liens soient bien respectés. Bien sur, la fonction objc_find retourne de nouveau paramètres puisqu'il faut maintenant savoir dans quel formulaire on à cliqué, et dans quel formulaire englobant.

Retour à l'index G_PIX