   Modifications de BIG : nouveauts de la version 1.07 (28/10/93)

Ce  document  concerne  les changements apports   le  librairie  BIG 
depuis la version 1.05 (la version 1.06 tait une version beta qui n'a 
pas t diffuse). Si vous dcouvrez BIG vous pouvez vous dispenser de 
sa lecture, pour passer directement  la doc complte. Mais si vous le 
connaissez dj,  vous prendrez connaissance des modifications et  des 
ajouts qui ont t effectus.
Les modifications tant dcrites ici de manire succinte,  elles  sont 
accompagnes de renvois  la doc principale qui indiquent le numro de 
la  page  (avec  63  lignes par  page).  Vous  pourrez  ainsi  trouver 
directement   les  explications  dtailles  qui   vous   intressent. 
Toutefois,   je  vous  conseille  de  relire  le   manuel,   certaines 
explications ayant t reformules pour plus de clart (et pas mal  de 
fautes ayant t corriges).
Certains  d'entre vous reconnatront au passage des nouveauts ou  des 
changements qu'ils m'ont suggrs. Merci de votre appui.

>>>>>   Bugs corrigs   <<<<<
* BIG fonctionne dsormais sous MultiTOS sans problmes.
* Supprim 2 bugs des menus hirarchiques en fentre :
  - Quand  on passe "au-dessus" de l'option,  le titre   prsent  est 
    remis en "normal".
  - Quand  on passe  une autre option du menu sans tre pass par  le 
    hirarchique, il se referme.
* Dans la recherche de raccourcis clavier dans un menu hirarchique de 
menu en fentre,  il y avait un bug qui faisait rechercher le titre du 
menu  de  l'option  B_HIERM  partir de l'adresse  du  menu  principal 
(adr_menu) au lieu de l'adresse du menu de fentre.
* Supprim  bug dans le redraw des fentres images avec menu  :  il  y 
avait  un dcalage si la zone  redessiner tait  cheval sur le  menu 
et la zone de travail.
* Une  imprcision a t corrige :  Lorsqu'on clique sur un objet  de 
formulaire, et que le curseur de la souris est dplac hors de l'objet 
avant que le bouton soit relch, l'objet n'est plus activ.
* Bug corrig dans les formules de calcul de WM_HSLID et WM_VSLID.
* Si  un  pop-up  de formulaire en fentre  dbordait  sur  une  autre 
fentre d'arrire-plan,  et qu'on cliquait  cet endroit,  la  fentre 
d'arrire-plan tait amene en premier. Ce n'est plus le cas.
* Bug  supprim  dans  la  gestion des  menus  hirarchiques  du  menu 
principal  :  Lorsqu'on faisait rapidement "tourner" la  souris  entre 
l'option du menu hirarchique,  le hirarchique et une autre option de 
menu, une des options du hirarchique tait parfois considre clique 
lors du retour dans la zone du menu lui-mme. Ce n'est plus le cas.
* Sous MultiTOS,  si on faisait un clic droit sans fentre ouverte, il 
n'tait pas trait.
* La  fonction  Malloc()  du  GEMDOS tant  peu  fiable,  elle  a  t 
remplace par malloc() du C. Mfree() a t remplace par free().

>>>>>   Modifications   <<<<<
* Raccourcis clavier "directs" (sans Control, Shift ou Alternate) dans 
les  menus  supprims  pour viter  des  conflits  avec  d'ventuelles 
options du style "Texte 1".
* Les  raccourcis clavier dans les boutons sont comme  avant  signals 
par le soulignement du caractre,  mais celui-ci est de plus crit  en 
rouge.
* Dans les fentres avec menus, deux modifs :
  - Le menu est dsormais dessin AVANT la zone de travail.
  - Si  c'est  une fentre image vide (la zone de  travail  est  alors 
    "vide"  par un v_bar blanc),  la partie du menu n'est pas  vide, 
    elle est simplement recouverte par le menu.
* Modif  de  la  bote  d'infos de la  dmo  :  le  "Contact"  et  les 
"Remerciements"  sont  spars en deux  B_HELPs.  "Contact"  tant  en 
premier, il est activ par la touche Help, pas l'autre. (page 5)
* La  gestion du timer a t modifie dans la fonction  dialog()  pour 
fonctionner  correctement sous MultiTOS.  Trois  oprations  utilisent 
l'vnement  MU_TIMER :  le clic sur le bouton droit,  la  palette  de 
couleurs et les menus hirarchiques. Dsormais, au lieu d'effectuer le 
traitement dans le corps de la condition "if (event == MU_TIMER)", des 
flags sont positionns et le traitement est fait aprs.
* Suite    une  srie  de bugs affectant  les  fonctions  XBIOS  sous 
MultiTOS,  les  palettes  de couleurs ne sont plus  traites  par  les 
fonctions Setpalette (Xbios $06) et Setcolor (Xbios $07), mais par les 
fonctions  VDI  vq_color (VDI 26) et vs_color (VDI  14).  La  variable 
"palette"  est  change.  C'est  dsormais un  pointeur  sur  le  type 
"Palette", dfini par "typedef int Palette[3]". (page 26)
* Pour viter des conflits de noms qui pourraient se produire avec les 
bindings du nouvel AES,  la structure "Window" est renomme "BigWind". 
(pages 25 et 26)
* Nouvel lment de la structure BigWind : "int w_icon;". Egal  BLANK 
si  la fentre n'est pas icnifie,   l'index de fentre associe  si 
elle l'est.  Si elle est icnifie seule,  c'est son propre index,  si 
c'est un "ALLICONIFY",  c'est l'index de la fentre qui "contient" les 
autres. (page 27)
* Autre nouvel lment : "FNCP w_redicn;" pointeur sur une fonction de 
redraw qui sera utilise si la fentre est icnise. Si ZERO, c'est la 
routine  "normale"  qui  est utilise  mme  en  cas  d'icnification. 
(page 27)
* Pour simplifier,  les lments w_xcurr,  w_ycurr, w_wcurr et w_hcurr 
de la structure BigWind sont remplacs par une sous-structure  dfinie 
par "GRECT w_curr;". (page 25)
* Pour  enregistrer la position et les attributs de la  fentre  avant 
icnification,  un nouvel lment est apparu :  "Oldw w_old". La sous-
structure Oldw est dfinie ainsi:
typedef struct oldw {
  GRECT   w_coord;    /* Anciennes coordonnees */
  int     w_att;      /* Anciens attributs */
} Oldw;
(pages 24 et 25)
* Le flag de fentre BIG "WLAST" est renomm "WFLAST", pour ressembler 
aux autres ! (page 27)
* Nouveau paramtre dans l'appel de fonction initial() : "int acc".
Le prototypage devient :
int initial (char *rsc, int menu, int desk, int nb_tree,
             OBJECT *rs_tree, char *rs_str, int n_wind, int acc);
Ce paramtre reprsente l'index dans le ressource de la chane libre  
utiliser  par la fonction menu_register() si l'application est  lance 
comme accessoire (nom de l'accessoire dans le menu Bureau).  Ignor si 
c'est un programme, on peut transmettre "-1". (page 35)
* Le  dmo  fonctionne dsormais en PRG ou en  ACC,  en  renommant  le 
fichier,   avec  ressource  intgr  ou  non  (4   combinaisons).   En 
accessoire,  il n'y a pas de gestion du "bureau" pour  simplifier,  le 
menu apparat dans une fentre avec menu (WINDACC). (page 13)
* La  fentre "Texte" de la dmo possde une ToolBar avec des  radios-
boutons,  deux pop-ups et un slectable. Le texte peut tre affich en 
utilisant  des  fontes SpeedoGDOS.  La toolbar permet  de  choisir  la 
fonte,  la taille et d'autres paramtres de prsentation. Les routines 
d'affichage  de la dmo ne grent pas totalement les  contraintes  des 
polices  proportionnelles,  des imprcisions peuvent tre  constates. 
(page 10)
* Il  est  dsormais  possible  de caler  la  position  d'une  fentre 
WTYP_IMAG sur des pixels multiples de 16.
* Il n'est plus obligatoire pour une application d'avoir un bureau  et 
une barre de menu.  Si on dsire qu'un de ces lments soit absent, il 
faut  transmettre  BLANK comme paramtre correspondant   la  fonction 
initial().

>>>>>   Nouveauts   <<<<<
* Raccourcis  clavier ajouts dans les boutons normaux.  Nouveau  type 
tendu :  B_UNDER (30), le caractre soulign est prcd de '[' comme 
d'habitude.  Le type tendu B_UNDO (31) est suppos avoir un caractre 
soulign.  La fonction teste s'il y en a bien un.  Le type B_UNDER est 
donc  automatique  pour  les B_UNDO,  il doit tre  prcis  pour  les 
B_DEFAULT,  et  peut  tre  mis pour n'importe  quel  type  de  bouton 
ordinaire,  sauf bien sr ceux qui sont dj B_FNCP,  puisque le  type 
tendu est dj utilis. (pages 14 et 15)
* Trois nouvelles variables globales :
int n_colors;     Nbre de couleurs affichables. (page 31)
char multitos;    Flag  (TRUE  /  FALSE)  indiquant  si  on  est  sous 
                  environnement multitche. (page 31)
int vaes;         N de version de l'AES ( tester en hexa, c'est plus 
                  simple). (page 31)
* Des fonctions Cookie ont t ajoutes.
Voici la structure COOKIE : (page 34)
typedef struct
{
  long ident;  /* Identificateur du Cookie */
  union
  {
    long l;    /* Si la data est un long */
    int i[2];  /* Si la data est deux mots */
    char c[4]; /* Si la data est quatre octets */
  } datack;
} COOKIE;
Voici les trois nouvelles fonctions : (page 42)
COOKIE *first_cookie (void);  /* Le premier cookie */
Retourne un pointeur sur le premier cookie.
COOKIE *next_cookie (COOKIE *ck); /* Cookie suivant */
A  utiliser  avec  first_cookie.  Reoit un  pointeur  sur  le  cookie 
prcdent, retourne le suivant.
COOKIE *vq_cookie (long id);  /* Cherche un cookie par id */
Reoit  sous  forme  de long l'identificateur du  cookie    chercher, 
retourne  un pointeur sur ce cookie s'il est trouv,  un pointeur  nul 
sinon.
COOKIE *vq_cookie_c (char *c);     /* Cherche un cookie par chane */
Comme  la  prcdente,  mais  la recherche se fait par  la  chane  de 
caractres de l'identificateur. (page 43)
* Un programme utilisant BIG est par dfinition un programme sous GEM, 
qui  ne  peut  donc pas tre lanc  du  dossier  AUTO.  Dsormais,  la 
fonction   initial()  effectue  un  test  avant  toute  chose  et   si 
l'application est lance pendant le boot (AES pas encore install), un 
message est affich et une pression de touche est attendue. Le message 
fait partie du ressource inclus. (page 13)
* La gestion de l'icnification des fentres  t ajoute. (pages 12, 
33 et 60)
Note :  la  version  de  GEM.SYS accompagnant Mint 1.07b  a  des  bugs 
affectant le comportement des fonctions d'icnisation des fentres. Le 
bit correspondant au bouton "SMALLER" tait 0x1000. L'AES accompagnant 
Mint 1.08b porte le mme numro 4.10,  mais ces bugs ont t corrigs. 
Le bit SMALLER est dsormais 0x4000.
Les  raccourcis clavier de fentres et les changements de forme de  la 
souris ou de palette sont sans effet sur une fentre icnise.
Sous AES >= 4.10 :
  - Icnification par clic sur le SMALLER (message WM_ICONIFY), ou par 
    <Control+Esc>.  Utilisation  de la fonction  wind_set(WF_ICONIFY). 
    Par raccourci clavier,  les calculs de coordonnes de l'icne sont 
    fait " la main".
  - Dsicnification    par   double-clic   sur    l'icne    (message 
    WM_UNICONIFY),  ou par <Control+Esc>.  Utilisation de la  fonction 
    wind_set(WF_UNICONIFY).  Par  raccourci clavier,  les  calculs  de 
    coordonnes de la fentre sont fait " la main".
  - All  icnification  par  <Control+Clic> sur  le  SMALLER  (message 
    WM_ALLICONIFY). Utilisation d'une fonction qui icnifie la fentre 
    clique et qui ferme les autres.  Chaque "all icne" contient  les 
    fentres  qui taient ouvertes au moment de son icnification  (il 
    peut donc y avoir plusieurs "all icnes" pour un mme programme).
Sous AES < 4.10
  Idem,  mais  le clic sur le SMALLER est remplac par un  clic  droit 
  dans la barre de titre de la fentre, ou un <Control+Clic droit>. La 
  fonction wind_set ne peut tre utilise, tout est fait " la main".
Nouveaux  paramtres  dans  les  appels  des  fonctions  open_window() 
(page 44) et formw_draw() (page 43) :  "FNCP ricn".  Il reprsente  un 
pointeur  sur  la fonction  excuter si le redraw de la  fentre  est 
demand,  et qu'elle est icnifie.  Transmettre ZERO si on ne  dsire 
pas qu'il y ait un redraw particulier dans ce cas.
* Ajout  des scrolls-menus dans les pop-ups,  les menus  hirarchiques 
(de menu principal ou de menu en fentre), et dans les pop-ups libres. 
(pages 8, 9 et 21)
Si le bureau n'est pas assez haut,  la mise en scroll est automatique. 
Un tel menu doit tre construit de la manire suivante :
  - Etre constitu uniquement de G_STRINGs hautes d'un caractre.
  - Les numros de ces objets doivent se suivrent de haut en bas.
Dans le cas des pop-ups :
  - Le scroll menu est plac sous le bouton d'appel, s'il y a la place 
    pour au moins 4 options plus les deux flches. Sinon, il est plac 
    au-dessus,  partir du haut du bureau.
  - Si  aucune  option ne correspond au texte du  bouton  d'appel,  la 
    premire option du scroll est la premire option du pop-up. Sinon, 
    elle  est checke (comme en pop-up normal) et place  en  premire 
    position  dans le scroll,   moins que ce soit une  des  dernires 
    (option  checke + nbre d'options affiches > nbre d'options  dans 
    le pop-up).  Dans ce cas,  elle est dcale mais apparatra  quand 
    mme dans les options visibles ds l'affichage.
  - Le  bouton d'appel est un G_BUTTON et doit avoir une hauteur  d'un 
    caractre.
Dans  les autres types de scrolls,  la premire option du  pop-up  est 
toujours prsente en premier dans le scroll.
* Ajout  des  pop-listes.  Il s'agit d'un pop-up toujours limit    8 
options,  dot d'un ascenseur complet  droite des options.  Le bouton 
d'appel  est un B_LIST :  c'est un B_BUTTON SELECTABLE SHADOW avec  le 
type tendu 23.  (Il y a donc un nouveau type tendu :  #define B_LIST 
23). (pages 8, 9 et 18)
Le  bouton  d'appel doit avoir une hauteur d'un caractre.  S'il  y  a 
moins  de  9 options,  ce n'est pas une liste avec ascenseur  qui  est 
affiche,  mais un pop-up ordinaire.  Le dfilement au moyen du slider 
se fait "en temp rel".
Les formulaires constituant la pop-liste doivent tre construit  comme 
les pop-ups, avec les mmes contraintes. Essentiellement, il doit tre 
constitu  de G_STRINGs hautes d'un caractre et dont les  numros  se 
suivent de haut en bas.
* Les  boutons  pop-up  peuvent tre de  deux  types  :  B_BUTTON  (ou 
G_IMAGE) SELECTABLE SHADOW ou avoir en plus le type tendu B_POPUP (Il 
y a donc un nouveau type tendu :  #define B_POPUP 22),  uniquement si 
se  sont  des  G_BUTTONs.  Dans le  premier  cas,  ils  sont  dessins 
normalement.  Un  clic  droule  le pop-up et un  shift-clic  passe   
l'option active suivante,  ou sur la premire si on est au bout.  Dans 
le  second  cas,  une petite icne "option suivante"  est  dessine   
l'extrmit droite du bouton. Un clic sur la partie principale droule 
le  pop-up,  un  shift-clic ou un clic sur l'icne  passe    l'option 
active suivante,  ou sur la premire si on est au bout. Le bouton doit 
avoir  une  hauteur d'un caractre.  Les boutons de  type  B_LIST  ont 
toujours l'icne "suivant". (pages 15 et 17)
* Ajout  des  TOOLBARs  (ou  TOOLBOXs).  Il  s'agit  d'un  formulaire, 
gnralement  de petite taille,  plac en haut de la zone  de  travail 
d'une fentre,  sous la barre de nom,  ou la ligne d'infos s'il y en a 
une.  BIG force la largeur de la bote racine de ce formulaire sur  la 
largeur totale de la fentre (win[index].w_wtot).  Ce formulaire  peut 
contenir tous les types d'objets, avec d'ventuels raccourcis clavier, 
la  gestion  en est faite automatiquement comme dans les  autres  cas. 
Toutefois,  des objets EXIT et TOUCHEXIT n'ont pas lieu de se  trouver 
dans ce contexte, pas plus que des champs ditables. (pages 10 et 23)
La gestion des messages WM_xxLINE,  WM_xxPAGE et WM_xSLID tient compte 
de  la prsence de la toolbar.  Le message WM_HSLID  n'entrane  aucun 
dcalage  de  la position de la toolbar.  D'autre  part,  ce  type  de 
formulaire servant essentiellement  effectuer des choix concernant le 
contenu  de  la fentre,  un nouveau type de message est  retourn  au 
programme principal en cas de clic sur un bouton radio, un slectable, 
ou  un  pop-up  (ou  pop-liste),  mme si l'objet  n'est  pas  EXIT  : 
(page 30)
  BEV_TOOL (Big EVent TOOLbar)
  Un  bouton  a t cliqu dans une fentre  WTYP_TOOL.  Le  programme 
  reoit un vnement MU_BUTTON.
  Mot 0 : BEV_TOOL (55).
  Mot 3 : Index BIG de la fentre.
  Mot 4 : Numro de l'objet cliqu.
Un  nouveau  bit  est utilis dans l'lment w_type  de  la  structure 
BigWind  (#define  WTYP_TOOL 0x4000).  Il indique la  prsence  de  la 
toolbar.  Il ne peut y avoir  la fois un menu et une toolbar dans une 
fentre.  L'lment w_menu de la structure BigWind est renomm  w_bar, 
et  pointe selon le cas sur le menu ou le formulaire.  L'appel  de  la 
fonction open_window devient : (page 44)
int open_window (int index, int type, int attr,
                 int x, int y, int w, int h,
                 int wm, int hm, int wu, int hu,
                 int fa, int fb, int fmouse,
                 FNCP ricn, FNCP redr, FNCP clos,
                 char *title, char *info,
                 long wt, long ht,
                 int fmenu, int ftool, int bar, int intgr);
Le  paramtre  "ftool" est un flag signalant que "bar" est  le  numro 
d'objet du formulaire toolbar.
La  fonction zone_work tient compte de la prsence (ou de  l'abscence) 
de menu ou de toolbar dans la fentre. (page 46)
* Ajout  de  la gestion des objets 3D.  Seul le bit  10  de  l'ob_flag 
tendu de l'AES >= 4 (bit BackGround) est utilis. Il y a une nouvelle 
dfinition : "#define BKGR 0x400". (pages 20 et 48)
- Le  dessin  des objets de types B_RADIO et  B_COCHE  deviennent  des 
  G_ICONs  dans le ressource inclus de BIG,  afin de pouvoir  utiliser 
  leurs  masques  pour le dessin de l'objet sur un  fond  tram.  Leur 
  graphisme a t modifi pour donner une impression de relief (sortis 
  en normal,  enfoncs si slectionns). Aucune prcision  faire dans 
  le ressource. (page 20)
- Les  objets  B_FRAME  dont  le bit BackGround  n'est  pas  mis  sont 
  dessins comme des rectangles blancs opaques. Si le bit est mit, ils 
  sont  dessin  comme  un rectangle transparent  (afin  que  le  fond 
  apparasse  travers) et sont aggrments de lignes blanches donnant 
  une illusion de relief. (page 20)
- Les champs ditables (B_EDIT ou non) dont le bit BackGround est  mit 
  sont forcs en G_FBOXTEX transparent (si c'tait un  G_FTEXT),  avec 
  les mmes attributs de trame et de couleur que la premire G_BOX qui 
  prcde le champ dans l'arborescence.  Les attributs de bordure  (si 
  c'tait dj une G_FBOXTEXT) et de couleur de texte sont  conservs. 
  Ainsi,  l'objet semble fusionner dans le fond et il est correctement 
  gr par le GEM. (pages 20)
- Les B_POPUPs et les B_LISTs sont galement dessins en  transparents 
  si le bit est mit.  Ils sont aggrments de lignes blanches sur  les 
  cts  gauche et haut s'il ne sont pas slectionns,  sur les  cts 
  droit  et  bas s'il le sont.  L'icne "suivant" possde  un  masque. 
  (page 20)
- Les B_UNDERs dont le bit est mit sont dessins en  transparent.  Ils 
  sont galement accompagns de lignes blanches,  comme les  B_POPUPs. 
  Mme si on ne dsire pas leur affecter un raccourci clavier,  mettre 
  les  boutons  DEFAULT en B_UNDER (avec le bit BackGround)  pour  les 
  afficher en 3D. (page 20)
* Nouvelle fonction :
    int match (OBJECT *adr, int button, int intgr);
Cette fonction cherche s'il y a une correspondance entre le texte  (ou 
le motif d'image) d'un bouton pop-up ou pop-liste et un des objets  de 
son formulaire associ. (page 38)

         Modifications concernant la version 1.80 du 03/11/93

  Note :  Certaines modifications (et amliorations) ont t apportes 
par  les  soins  de Marc Abramson le  30/10/1993.  Elles  sont  toutes 
repertories MA_30_10 dans les fichiers BIG.H et BIG.C. Je le remercie 
une fois de plus pour son intervention.

* Plusieurs  petits  bugs  mineurs et  imprcision  diverses  ont  t 
corrigs.

>>>>>   Modifications   <<<<<
* La  fonction  exist retourne FALSE si le fichier  n'existe  pas,  et 
retourne sa taille code sur un long s'il existe. (page 41)
* De nombreuses variables globales sont dsormais regroupes dans  des 
structures.  De  nouvelles  variables sont  apparues.  Ces  structures 
sont :

typedef struct
{
  t_machine la_machine;
  t_proc_graphique proc_graphique;
  t_cpu le_cpu;
  int v_aes;
  int v_tos;
  char multitache;
} t_ident_hard_soft;
  Cette  structure  contient  les informations  hard  sur  la  machine 
(page 31)
typedef struct t_display
{
  int handle;  /* Handle de la station de travail */
  int w;       /* Largeur de l'cran */
  int h;       /* Hauteur de l'cran */
  int hc;      /* Taille standard des caractres */
  t_resolution res; /* la resolution courante */
  int mode;    /* le mode courant si on est sur Falcon */
  char une_palette; /* FALSE: pas de palette TRUE : une palette */
  long    n_color_pal; /* nombre de couleurs affichables */
  long    n_color;  /* nombre de pinceaux disponibles simultanment */
  int n_plane;      /* Nbre de plans de couleur */
  Palette *palette; /* pointeur vers la sauvegarde des pinceaux */
  int nb_bit_coul[3]; /* nombre de bit par couleur */
  int masque_coul[3]; /* masque pour les couleurs */
  void *phys;  /* Adresse physique de l'cran */
  void *log;   /* Adresse logique de l'cran */
} t_display;
  Cette  structure contient les informations relatives    l'affichage 
(page 31)
typedef struct t_desktop
{
  int xd, yd, wd, hd;
} t_desktop;
  Cette strcture contient les coordonnes du bureau. (page 32)
  Voici les dfinitions accompagnant ces structures : (page 34)
typedef enum 
{
  ST,
  STE,
  TT,
  FALCON_030,
  AUTRE_MACHINE
} t_machine;

typedef enum
{
  PG_ST,
  PG_STE,
  PG_TT,
  PG_FALCON_030,
  AUTRE_PG,
} t_proc_graphique;

typedef enum
{       
  PROC_68000,
  PROC_68030,
  AUTRE_PROCESSEUR,
} t_cpu;

typedef enum
{
  ST_BASSE = 0,
  ST_MOYENNE = 1,
  ST_HAUTE = 2,
  VGA_16COL = 4,          /* le VGA TT */
  VGA_256COL = 5,         /* le VGA FALCON */
  R_256C_320_480 = 7,     /* le 320*480 16 col TT */
  TRUE_COLOR_320_480 = 8, /* le 320*480 Falcon sur VGA */
  INCONNU = -1            /* aucune rsolution normalise */
} t_resolution;

Pour conserver une compatibilit avec la version 1.07 de BIG,  et  les 
anciens noms de variables, il faut dfinir :
#define _COMPATIBLE_BIG_107_

* Dsormais,  il  est  possible d'affecter une palette  de  couleur   
n'importe  quel  type  de  fentre.   La  sous-structure  w_cont   est 
redfinie : (pages 23 et 26)
typedef union cont { /* DEFINITION DU CONTENU D'UNE FENETRE */
  Form w_form; /* Si fentre formulaire */
  MFDB w_img;  /* Si image */
  char *w_adr; /* Si texte ou autre adresse donnes */
} Cont;

Et  un nouvel lment est ajout  la structure de base  (plac  entre 
w_cont et w_bar) :
  Palette *w_pal; /* Pointeur sur la palette de couleurs */
Cet lment est initialis  ZERO. (pages 23 et 26)

* Le  paramtre "intgr" qui tait transmis  de  nombreuses  fonctions 
est  remplac  par  une variable globale  "int  intgr".  Le  paramtre 
disparat donc du prototypage de toutes les fonctions concernes.

>>>>>   Nouveauts   <<<<<
* Nouvelle fonction Cookie :
COOKIE *vq_cookie_c (char *c);
Elle s'utilise comme vq_cookie(),  mais permet de rechercher un cookie 
par chane de caractre plutt que par identificateur. (page 43)

* Nouvelle fonction :
void set_popup (OBJECT *adr, int button, int option);
  Elle  permet de "fixer" le texte (ou le motif d'image) d'un  B_POPUP 
ou d'un B_POPLIST sur une des options de son pop-up associ. "adr" est 
l'adresse de l'arbre,  "button" le numro du bouton pop-up et "option" 
le numro de l'option dans son pop-up associ.  Cette fonction ralise 
l'inverse de la fonction match(). (page 38)

* D'autres  nouvelles  fonctions,  internes  BIG,  sont  apparues  en 
liaison  avec  les structures  t_ident_hard_soft  et  t_display,  afin 
de  rendre plus prcis les enregistrements de paramtres au  lancement 
du programme et leur restauration en fin d'excution. La compatibilit 
de BIG avec toutes les machines,  tous les crans et toutes les cartes 
graphiques en est rendue plus fiable.
