	{ Ce schema decrit la presentation d un dessin avec des relations

	I. Vatton	Juin 1990	}

PRESENTATION Draw2;

VIEWS
   The_draw, Draw_structure;

DEFAULT

   BEGIN
   HorizRef : Enclosed . HRef;
   VertRef : * . Left;
   Width : Enclosed . Width;
   Height : Enclosed . Height;
   HorizPos : Left = Enclosing . Left;
   VertPos : Top = Enclosing . Top;
   Visibility: Enclosing =;
   Font : Enclosing =;
   Style : Enclosing =;
   Size : Enclosing =;
   LineSpacing : Enclosing =;
   Justify : No;
   Adjust : Enclosing =;
   Indent : Enclosing =;
   Depth : Enclosing =;
   UnderLine: Enclosing =;
   Thickness: Enclosing =;
   LineStyle: Enclosing =;
   LineWeight: Enclosing =;
   FillPattern: Enclosing =;
   Background: Enclosing =;
   Foreground: Enclosing =;
   IN Draw_structure
	BEGIN
	Visibility: 5;
	VertPos : Top = Previous . Bottom;
	END;
   END;
	
BOXES

   SepareDessins:
	BEGIN
	Visibility: 0;
	Content: Graphics 'h';
	LineStyle: Solid;
	LineWeight: 1 pt;
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   VertPos : Top = Enclosing . Top;
	   Width: Enclosing . Width;
	   Height : 1;
	   END;
	END;

   CadreGroupe:
	BEGIN
	Visibility: 0;
	Content: Graphics 'R';
	LineStyle: Solid;
	LineWeight: 1 pt;
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Size: 5;
	   VertPos : Top = Previous . Top - 0.2 cm;
	   HorizPos : Left = Previous . Left - 0.2 cm;
	   Width: Previous . Width + 0.3 cm;
	   Height : Previous . Height + 0.3 cm;
	   END;
	END;

   CadreLien:
	BEGIN
	Visibility: 0;
	Content: Graphics 'R';
	LineStyle: Dashed;
	LineWeight: 1 pt;
	Style: Italics;
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Size: 5;
	   VertPos : Top = Previous . Top;
	   HorizPos : Left = Previous . Left;
	   Width: Previous . Width;
	   Height : Previous . Height;
	   END;
	END;

   CadreImage:
	BEGIN
	Visibility: 0;
	Content: Graphics 'R';
	FillPattern: gray3;
	LineStyle: Solid;
	LineWeight: 1 pt;
	Style: Italics;
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   VertPos : Top = Previous . Top;
	   HorizPos : Left = Previous . Left;
	   Width: Previous . Width;
	   Height : Previous . Height;
	   Depth: Previous + 1;
	   END;
	END;

   BoxAlignHaut:
	BEGIN
	Visibility: 0;
	Content: Text 'Alignement en haut';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxCentreHoriz:
	BEGIN
	Visibility: 0;
	Content: Text 'Alignement horizontal centr\351';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxAlignBas:
	BEGIN
	Visibility: 0;
	Content: Text 'Alignement en bas';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxAlignGauche:
	BEGIN
	Visibility: 0;
	Content: Text 'Alignement \340 gauche';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxCentreVert:
	BEGIN
	Visibility: 0;
	Content: Text 'Alignement vertical centr\351';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxAlignDroit:
	BEGIN
	Visibility: 0;
	Content: Text 'Alignement \340 droite';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxLienCentre:
	BEGIN
	Visibility: 0;
	Content: Text 'Lien extensible du centre vers le centre';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxLienHaut:
	BEGIN
	Visibility: 0;
	Content: Text 'Lien extensible du centre vers le haut';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxLienBas:
	BEGIN
	Visibility: 0;
	Content: Text 'Lien extensible du centre vers le bas';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxLienGauche:
	BEGIN
	Visibility: 0;
	Content: Text 'Lien extensible du centre vers la gauche';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxLienDroite:
	BEGIN
	Visibility: 0;
	Content: Text 'Lien extensible du centre vers la droite';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : Left = Enclosing . Left + 3;
	   Width: Enclosed . Width;
	   END;
	END;

   BoxPicture:
	BEGIN
	Visibility: 0;
	Content: Text 'Image';
	IN Draw_structure
	   BEGIN
	   Visibility: 5;
	   Style: Italics;
	   HorizPos : VMiddle = Enclosing . VMiddle;
	   VertPos: HMiddle = Enclosing . HMiddle;
	   Width: Enclosed . Width;
	   END;
	END;

   BoiteSimple:
	BEGIN
	Content : Graphics 'R';
	Width: Enclosing . Width;
	Height: Enclosing . Height;
	HorizPos: Left = Enclosing . Left;
	VertPos: Top = Enclosing . Top;
	LineWeight: creator =;
        IN Draw_structure
	   BEGIN
	   VertPos: Top = Enclosing . Top;
	   END;
	END;

   BoitePleine:
	BEGIN
	Content : Graphics 'R';
	Fillpattern: backgroundcolor;
	Width: Enclosing . Width;
	Height: Enclosing . Height;
	HorizPos: Left = Enclosing . Left;
	VertPos: Top = Enclosing . Top;
	Background: creator =;
	LineWeight: creator =;
	Depth: creator + 1;
        IN Draw_structure
	   BEGIN
	   VertPos: Top = Enclosing . Top;
	   END;
	END;

   BoiteAvecOmbre:
	BEGIN
	Content : Graphics 'R';
	Width: Enclosing . Width;
	Height: Enclosing . Height;
	HorizPos: Left = Enclosing . Left;
	VertPos: Top = Enclosing . Top;
	Fillpattern: backgroundcolor;
	Background: creator =;
	Depth: creator + 1;
	LineWeight: creator =;
        IN Draw_structure
	   BEGIN
	   VertPos: Top = Enclosing . Top;
	   END;
	END;

   BoiteOmbre:
	BEGIN
	Content : Graphics 'R';
	Background : Black;
	Foreground : Black;
	Fillpattern: backgroundcolor;
	Depth: creator + 2;
	Width: Previous . Width;
	Height: Previous . Height;
	HorizPos: Left = Previous . Left + 0.4;
	VertPos: Top = Previous . Top + 0.4;
        IN Draw_structure
	   BEGIN
	   VertPos: Top = Previous . Top + 0.4;
	   END;
	END;

RULES

   Draw2:
	BEGIN
	HorizPos : Left = Enclosing . Left + 0.2;
	VertPos : Top = Previous . Bottom + 1;
	Style : Roman;
	LineSpacing : 1;
	Indent : 0;
	Depth : 0;
	Gather : Yes;
	PageBreak: No;
	LineBreak: No;
	CreateFirst(SepareDessins);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom;
	   Width: Enclosing . Width - 0.2;
	   END;
	END;

   Objet:
	BEGIN
	Height: 0.7 cm;
	Width: 1 cm;
	HorizPos : Left = Enclosing . Left + 0.2 cm;
	VertPos : Top = Enclosing . Top + 0.2 cm;
	IN Draw_structure
	   BEGIN
	   Height: 3;
	   Width: 3;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Objet_Graphique:
	BEGIN
	HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified;
	VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified;
	Height: 2 cm UserSpecified;
	Width: 2 cm UserSpecified;
	IN Draw_structure
	   BEGIN
	   Height: 3;
	   Width: 3;
	   HorizPos : Left = Enclosing . Left;
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   END;
	END;

   GRAPHICS_UNIT:
	BEGIN
	Height: Enclosing . Height;
	Width: Enclosing . Width;
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	IN Draw_structure
	   BEGIN
	   Height: 3 min;
	   END;
	END;

   Commentaire:
	BEGIN
{***	HorizPos : VMiddle = Enclosing . VMiddle;***}
{***	VertPos : HMiddle = Enclosing . HMiddle;***}
	HorizPos : VMiddle = Previous . VMiddle;
	VertPos : HMiddle = Previous . HMiddle;
	Width: Enclosing . Width;
	Line;
	Adjust: VMiddle;
	IN Draw_structure
	   Visibility: 0;
	END;

   Objet_Texte:
	BEGIN
	Line;
	Height: Enclosed . Height;
	Width: 2 cm UserSpecified;
	HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified;
	VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified;
	IN Draw_structure
	   BEGIN
	   Width: Enclosing . Width - 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   END;
	END;

   Objet_Image:
	BEGIN
	CreateFirst(BoxPicture);
	CreateAfter(CadreImage);
	HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified;
	VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified;
	Width : 1 cm UserSpecified;
	Height : 1 cm UserSpecified;
	IN Draw_structure
	   BEGIN	
	   HorizPos : Left = Enclosing . Left;
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   Width : 5;
	   Height : 2;
	   END;
	END;

   PICTURE_UNIT:
	BEGIN
	Height: Enclosing . Height;
	Width: Enclosing . Width;
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	IN Draw_structure
	   Visibility: 0;
	END;

   Autre:
	BEGIN
	HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified;
	VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified;
	Width: 3 cm UserSpecified;
	Height : Enclosed . Width;
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Groupe:
	BEGIN
	HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified;
	VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified;
	CreateAfter (CadreGroupe);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous NOT CadreGroupe . Bottom + 0.6 cm;
	   HorizPos : Left = Enclosing . Left + 0.6 cm;
	   Width : Enclosing . Width - 1.2 cm;
	   END;
	END;

   Lien_vers_centre:
	BEGIN
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	Width : 2;
	Height : 3;
	Depth : Enclosing + 3;
	CreateAfter (CadreLien);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Lien_vers_bas:
	BEGIN
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	Width : 2;
	Height : 3;
	Depth : Enclosing + 3;
	CreateAfter (CadreLien);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Lien_vers_haut:
	BEGIN
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	Width : 2;
	Height : 3;
	Depth : Enclosing + 3;
	CreateAfter (CadreLien);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Lien_vers_gauche:
	BEGIN
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	Width : 2;
	Height : 3;
	Depth : Enclosing + 3;
	CreateAfter (CadreLien);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Lien_vers_droite:
	BEGIN
	HorizPos : Left = Enclosing . Left;
	VertPos : Top = Enclosing . Top;
	Width : 2;
	Height : 3;
	Depth : Enclosing + 3;
	CreateAfter (CadreLien);
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Boite:
	BEGIN
	HorizPos : Left = Enclosing . Left + 0.5 cm  UserSpecified;
	VertPos : Top = Enclosing . Top + 0.5 cm  UserSpecified;
	Width: 1.5 cm  UserSpecified;
	Height: 0.7 cm  UserSpecified;
	IN Draw_structure
	   BEGIN
	   HorizPos : Left = Enclosing . Left;
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   Width: Enclosed . Width;
	   Height: Enclosed . Height;
	   END;
	END;

   Label:
	BEGIN
	Line;
	Width: Enclosing . Width - 6 pt;
	HorizPos : Left = Enclosing . Left + 3 pt;
	VertPos : Top = Enclosing . Top + 3 pt;
	IN Draw_structure
	   BEGIN
	   Adjust : Left;
	   Width: 12 cm min;
	   END;
	END;

ATTRIBUTES

   Alignement_haut:
	BEGIN
	VertPos : Top = Refered . Top;
	CreateAfter(BoxAlignHaut);
	IN Draw_structure
	   VertPos : Top = Previous . Bottom;
	END;

   Centr\351_horiz:
	BEGIN
	VertPos : HMiddle = Refered . HMiddle;
	CreateAfter(BoxCentreHoriz);
	IN Draw_structure
	   VertPos : Top = Previous . Bottom;
	END;

   Alignement_bas:
	BEGIN
	VertPos : Bottom = Refered . Bottom;
	CreateAfter(BoxAlignBas);
	IN Draw_structure
	   VertPos : Top = Previous . Bottom;
	END;

   Alignement_gauche:
	BEGIN
	HorizPos : Left = Refered . Left;
	CreateAfter(BoxAlignGauche);
	IN Draw_structure
	   HorizPos : Left = Enclosing . Left;
	END;

   Centr\351_vert:
	BEGIN
	HorizPos : VMiddle = Refered . VMiddle;
	CreateAfter(BoxCentreVert);
	IN Draw_structure
	   HorizPos : Left = Enclosing . Left;
	END;

   Alignement_droit:
	BEGIN
	HorizPos : Right = Refered . Right;
	CreateAfter(BoxAlignDroit);
	IN Draw_structure
	   HorizPos : Left = Enclosing . Left;
	END;

   Plan :
	Depth : Plan;

   Cadrage = Centr\351:
	Adjust : VMiddle;

   Cadrage = Justif_gauche:
	Adjust : Left;

   Cadrage = Justif_droite:
	Adjust : Right;

   Hauteur:
	BEGIN
	Height : Hauteur pt UserSpecified;
	IN Draw_structure
	   Height : Enclosed . Height;
	END;
   Largeur:
	BEGIN
	Width : Largeur pt UserSpecified;
	IN Draw_structure
	   Width : 6 min;
	END;
   PositionV:
	BEGIN
	VertPos: Top = Enclosing . Top + PositionV pt UserSpecified;
	IN Draw_structure
	   VertPos : Top = Previous . Bottom;
	END;
   PositionH:
	BEGIN
	HorizPos: Left = Enclosing . Left + PositionH pt UserSpecified;
	IN Draw_structure
	   HorizPos : Left = Enclosing . Left;
	END;

{**** Provisoire ****}
   Origine_lien :
	BEGIN
	CreateAfter(BoxLienCentre);
	VertPos : Top = refered . HMiddle;
	HorizPos : Left = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Terminaison_lien :
	BEGIN
	Height : Bottom = refered . HMiddle;
	Width  : Right  = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   Width: 4;
	   Height: 3;
	   END;
	END;

   Org_lienVersBas:
	BEGIN
	CreateAfter(BoxLienBas);
	VertPos : Top = refered . HMiddle;
	HorizPos : Left = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Fin_lienVersBas:
	BEGIN
	Height : Bottom = refered . Bottom;
	Width  : Right  = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   Width: 4;
	   Height: 3;
	   END;
	END;

   Org_lienVersHaut:
	BEGIN
	CreateAfter(BoxLienHaut);
	VertPos : Top = refered . HMiddle;
	HorizPos : Left  = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Fin_lienVersHaut:
	BEGIN
	Height : Bottom = refered . Top;
	Width : Right = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   Width: 4;
	   Height: 3;
	   END;
	END;

   Org_lienVersGauche:
	BEGIN
	CreateAfter(BoxLienGauche);
	VertPos : Top = refered . HMiddle;
	HorizPos : Left = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Fin_lienVersGauche:
	BEGIN
	Height : Bottom = refered . HMiddle;
	Width  : Right  = refered . Left;
	IN Draw_structure
	   BEGIN
	   Width: 4;
	   Height: 3;
	   END;
	END;

   Org_lienVersDroite:
	BEGIN
	CreateAfter(BoxLienDroite);
	VertPos : Top = refered . HMiddle;
	HorizPos : Left  = refered . VMiddle;
	IN Draw_structure
	   BEGIN
	   VertPos : Top = Previous . Bottom + 0.2 cm;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Fin_lienVersDroite:
	BEGIN
	Height : Bottom = refered . HMiddle;
	Width : Right = refered . Right;
	IN Draw_structure
	   BEGIN
	   Width: 4;
	   Height: 3;
	   END;
	END;

   Aspect = Boite_simple:
	CreateLast (BoiteSimple);

   Aspect = Boite_pleine:
	CreateLast (BoitePleine);

   Aspect = Boite_ombr\351e:
	BEGIN
	CreateLast (BoiteAvecOmbre);
	CreateAfter (BoiteOmbre);
	END;

   Position_label = Label_centr\351:
	BEGIN
	Adjust : VMiddle;
	VertPos : HMiddle = Enclosing . HMiddle;
	HorizPos : VMiddle = Enclosing . VMiddle;
	IN Draw_structure
	   BEGIN
	   Adjust : Left;
	   VertPos : Top = Enclosing . Top;
	   HorizPos : Left = Enclosing . Left;
	   END;
	END;

   Position_label =  Haut_gauche:
	Adjust : Left;

END
