Accueil        Lexique        UNITéS        Algorithmes        Tutoriel   

Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.

Unité GEM : Objets personnalisés

En plus des types d'objets intégrés, l'AES permet la mise en oeuvre de ses propres types d'objets. Le type d'objet G_USERDEF est fourni dans ce cas, et le champ ob_spec.user_def fait référence à une structure de données déclarée dans l'unité Gem comme suit:
USERBLKPtr = ^USERBLK;
USERBLK = record
  ub_code  : Pointer;  (* Pointeur vers la fonction de dessin*)
  ub_parm  : LongInt;  (* Paramètres pour la fonction de dessin   *)
end;
Le champ ub_code est un pointeur vers une fonction qui prend la représentation de l'objet. Cela reçoit un pointeur vers la structure de données suivante en tant que paramètre:
PARMBLKPtr = ^PARMBLK;
PARMBLK = record
  pb_tree  : AESTreePtr; (* Pointeur vers l'arborescence des objets *)
  pb_obj   : Integer;(* Index de l'objet*)
  pr_prevstate : Integer;(* État antérieur de la propriété  *)
  pr_currstate : Integer;(* Nouvel état de propriété*)
  pb_x : Integer;(* Coordonnées absolues*)
  pb_y : Integer;(*  de l'Objet *)
  pb_w : Integer;(*  Coordonnées de l'écran *)
  pb_h : Integer;
  pb_xc: Integer;(* Rectangle englobant *)
  pb_yc: Integer;(*  absolu *)
  pb_wc: Integer;(*  Coordonnées de l'écran *)
  pb_hc: Integer;
  pb_parm  : LongInt;(* Paramètres USERBLK  *)
end;
La fonction de dessin reçoit le paramètre PARMBLK sur la pile. Puisque PurePascal passe les paramètres autant que possible dans les registres, vous devez déclarer la fonction avec des paramètres "factices" afin que le compilateur récupère ce paramètre dans la pile:
function DrawUserObj( dummy1, dummy2 : Pointer; parm: PARMBLKPtr) : Integer;
begin
  { ... }
end;

Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).

Accès aux unités

Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)
CRT (Standard)

DOS (Standard)

GEM : AES (Atari)

GEM : VDI (Atari)

Graph (Standard)

Overlay (Standard)

Printer Strings (Standard)

System (Standard)

TOS : BIOS (Atari)

TOS : GEMDOS (Atari)

TOS : XBIOS (Atari)

Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!


Copyright © 2021 par Albatros Concept (Bruno Aubin)