/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S P O U R L E S F O N C T I O N S D E B A S E D ' E D I T I O N */
/* S O U S ' X - W I N D O W ' ( O U ' X 1 1 ' ) : */
/* */
/* */
/* Definition : */
/* */
/* Ce fichier contient toutes les */
/* definitions pour les fonctions */
/* de base d'edition alpha-numerique et */
/* graphique des images raster, quelle que */
/* soit la definition, sous la norme */
/* 'X-Window'. */
/* */
/* */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * ** * * * * * ** * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * */
/* * * * * ** * * * * * ** */
/* * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* */
/* ATTENTION : */
/* */
/* Les fichiers de '$xiidX' peuvent demander */
/* un "parametrage" specifique lie aux serveurs */
/* utilises. Cela peut se manifester dans le */
/* fichier '$xiidX/fonct$vv$FON' avec la */
/* definition des couples de procedures suivants : */
/* */
/* ACCES_AUX_PALETTES_DE_COULEURS_VERSION_01 */
/* ACCES_AUX_PALETTES_DE_COULEURS_VERSION_02 */
/* */
/* et : */
/* */
/* LAISSER_LES_NIVEAUX_DE_L_IMAGE_EN_L_ETAT */
/* INVERSER_LES_NIVEAUX_DE_L_IMAGE */
/* */
/* dans lesquels, les identites des serveurs sont testees */
/* physiquement par 'LE_SERVEUR_X_WINDOW_EST_CELUI_DE(...)' */
/* en faisant ensuite donc des tests sur leurs caracteristiques */
/* physiques (ce qui n'est pas tres elegant...). */
/* */
/* */
/* Author of '$xiidX/fonct$vv$DEF' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 19910000000000). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* O P P O R T U N I T E D E C O M P I L E R C E M O D U L E : */
/* */
/*************************************************************************************************************************************/
#ifdef X_WINDOW_CPP
# define __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW \
/* Compiler la bibliotheque 'X-Window', lorsque la norme 'X-Window' est presente... */
#Aifdef X_WINDOW_CPP
#Eifdef X_WINDOW_CPP
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I D E N T I F I C A T I O N D E L A " R E L E A S E " U T I L I S E E D E ' X - W I N D O W ' : */
/* */
/*************************************************************************************************************************************/
Denumer07(INIS(_X_WINDOW_RELEASE_R11_1,UN)
,_X_WINDOW_RELEASE_R11_2
,_X_WINDOW_RELEASE_R11_3
,_X_WINDOW_RELEASE_R11_4
,_X_WINDOW_RELEASE_R11_5
,_X_WINDOW_RELEASE_R11_6
,_X_WINDOW_RELEASE_R11_7
,liste_des_releases_possibles_de_X11
);
# nodefine X_WINDOW_RELEASE_R11_1 \
ENUM(_X_WINDOW_RELEASE_R11_1)
# nodefine X_WINDOW_RELEASE_R11_2 \
ENUM(_X_WINDOW_RELEASE_R11_2)
# nodefine X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# nodefine X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# nodefine X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# nodefine X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# nodefine X_WINDOW_RELEASE_R11_7 \
ENUM(_X_WINDOW_RELEASE_R11_7)
/* Definition des differentes releases possibles de 'X-Window'. ATTENTION : on notera */
/* l'utilisation de 'Denumer06(...);' et non pas de 'DenumeT06(...)' a cause du 'INIS(...) */
/* qu'il contient. Enfin, les symboles 'X_WINDOW_RELEASE_R11_n' sont en 'nodefine' d'une */
/* part pour ne pas les definir tout en conservant la forme de leur definition, et d'autre */
/* part afin de n'en definir qu'un seul parmi tout les possibles ; cela permet alors de */
/* faire des sequences conditionelles en ecrivant : */
/* */
/* # ifdef X_WINDOW_RELEASE_R11_n */
/* # Aifdef X_WINDOW_RELEASE_R11_n */
/* # Eifdef X_WINDOW_RELEASE_R11_n */
/* */
/* car en effet, le pre-processeur refuse des ecritures du type : */
/* */
/* # if X_WINDOW_RELEASE == X_WINDOW_RELEASE_R11_n */
/* # Aif X_WINDOW_RELEASE == X_WINDOW_RELEASE_R11_n */
/* # Eif X_WINDOW_RELEASE == X_WINDOW_RELEASE_R11_n */
/* */
/* les expressions 'X_WINDOW_RELEASE' et 'X_WINDOW_RELEASE_R11_n' n'etant pas constantes... */
/* */
/* La version 'X_WINDOW_RELEASE_R11_7' a ete introduite le 20160817092631... */
# ifdef SYSTEME_APC_LinuxDebian
# if ( (defined(CMAP29)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(CMAP29)))
# Eif ( (defined(CMAP29)))
# if ( (defined(LACT14)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT14)))
# Eif ( (defined(LACT14)))
# if ( (defined(LACT15)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT15)))
# Eif ( (defined(LACT15)))
# if ( (defined(LACT17)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT17)))
# Eif ( (defined(LACT17)))
# Aifdef SYSTEME_APC_LinuxDebian
# Eifdef SYSTEME_APC_LinuxDebian
# ifdef SYSTEME_APC_LinuxMandrake
# if ( (defined(CMAP28)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(CMAP28)))
# Eif ( (defined(CMAP28)))
# Aifdef SYSTEME_APC_LinuxMandrake
# Eifdef SYSTEME_APC_LinuxMandrake
# ifdef SYSTEME_APC_LinuxRedHat
# if ( (defined(CMAP27)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(CMAP27)))
# Eif ( (defined(CMAP27)))
# if ( (defined(CMAP28)))
/* La MACHINE '$CMAP28' a ete introduite ici le 20041028100228, apres son upgrade (passage */
/* de 'SYSTEME_APC_LinuxMandrake_GCC' a 'SYSTEME_APC_LinuxRedHat_GCC'). */
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(CMAP28)))
# Eif ( (defined(CMAP28)))
# if ( (defined(LACT16)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT16)))
# Eif ( (defined(LACT16)))
# Aifdef SYSTEME_APC_LinuxRedHat
# Eifdef SYSTEME_APC_LinuxRedHat
# ifdef SYSTEME_APC_LinuxUbuntu
# if ( (defined(CMAP28)))
/* Introduit le 20100518095128... */
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(CMAP28)))
# Eif ( (defined(CMAP28)))
# if ( (defined(LACT18)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT18)))
# Eif ( (defined(LACT18)))
# if ( (defined(LACT19)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT19)))
# Eif ( (defined(LACT19)))
# if ( (defined(LACT1B)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT1B)))
# Eif ( (defined(LACT1B)))
# Aifdef SYSTEME_APC_LinuxUbuntu
# Eifdef SYSTEME_APC_LinuxUbuntu
# ifdef SYSTEME_APC_LinuxUlmint
# if ( (defined(LACT1A)))
# define X_WINDOW_RELEASE_R11_7 \
ENUM(_X_WINDOW_RELEASE_R11_7)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_7 \
/* Version 11.7... */
# Aif ( (defined(LACT1A)))
# Eif ( (defined(LACT1A)))
# Aifdef SYSTEME_APC_LinuxUlmint
# Eifdef SYSTEME_APC_LinuxUlmint
# ifdef SYSTEME_CRAY2_UNICOS
# if ( (defined(CCVR21)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(CCVR21)))
# Eif ( (defined(CCVR21)))
# Aifdef SYSTEME_CRAY2_UNICOS
# Eifdef SYSTEME_CRAY2_UNICOS
# ifdef SYSTEME_CRAYC98_UNICOS
# if ( (defined(IDRI21)) \
)
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(IDRI21)) \
)
# Eif ( (defined(IDRI21)) \
)
# Aifdef SYSTEME_CRAYC98_UNICOS
# Eifdef SYSTEME_CRAYC98_UNICOS
# ifdef SYSTEME_CRAYC916_UNICOS
# Aifdef SYSTEME_CRAYC916_UNICOS
# Eifdef SYSTEME_CRAYC916_UNICOS
# ifdef SYSTEME_CRAYYMP1_UNICOS
# Aifdef SYSTEME_CRAYYMP1_UNICOS
# Eifdef SYSTEME_CRAYYMP1_UNICOS
# ifdef SYSTEME_CRAYYMP2_UNICOS
# Aifdef SYSTEME_CRAYYMP2_UNICOS
# Eifdef SYSTEME_CRAYYMP2_UNICOS
# ifdef SYSTEME_CRAYYMP4_UNICOS
# if ( (defined(EDFR22)) \
|| (defined(EDFR22h)) \
)
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(EDFR22)) \
|| (defined(EDFR22h)) \
)
# Eif ( (defined(EDFR22)) \
|| (defined(EDFR22h)) \
)
# Aifdef SYSTEME_CRAYYMP4_UNICOS
# Eifdef SYSTEME_CRAYYMP4_UNICOS
# ifdef SYSTEME_DECALPHA340_OSF1
# Aifdef SYSTEME_DECALPHA340_OSF1
# Eifdef SYSTEME_DECALPHA340_OSF1
# ifdef SYSTEME_DECALPHA350_OSF1
# if ( (defined(LINX12)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(LINX12)))
# Eif ( (defined(LINX12)))
# Aifdef SYSTEME_DECALPHA350_OSF1
# Eifdef SYSTEME_DECALPHA350_OSF1
# ifdef SYSTEME_DECALPHA464_OSF1
# if ( (defined(INFO26)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(INFO26)))
# Eif ( (defined(INFO26)))
# Aifdef SYSTEME_DECALPHA464_OSF1
# Eifdef SYSTEME_DECALPHA464_OSF1
# ifdef SYSTEME_DPX2000_SPIX
# if ( (defined(INFO11)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(INFO11)))
# Eif ( (defined(INFO11)))
# if ( (defined(INFO21)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(INFO21)))
# Eif ( (defined(INFO21)))
# Aifdef SYSTEME_DPX2000_SPIX
# Eifdef SYSTEME_DPX2000_SPIX
# ifdef SYSTEME_DPX5000_SPIX
# if ( (defined(LACT11)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(LACT11)))
# Eif ( (defined(LACT11)))
# Aifdef SYSTEME_DPX5000_SPIX
# Eifdef SYSTEME_DPX5000_SPIX
# ifdef SYSTEME_ES9000_AIX
# if ( (defined(INFO24)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(INFO24)))
# Eif ( (defined(INFO24)))
# Aifdef SYSTEME_ES9000_AIX
# Eifdef SYSTEME_ES9000_AIX
# ifdef SYSTEME_FX2800_CONCENTRIX
# if ( (defined(CMAP22)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(CMAP22)))
# Eif ( (defined(CMAP22)))
# Aifdef SYSTEME_FX2800_CONCENTRIX
# Eifdef SYSTEME_FX2800_CONCENTRIX
# ifdef SYSTEME_FX40_CONCENTRIX
# if ( (defined(CMAP21)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(CMAP21)))
# Eif ( (defined(CMAP21)))
# Aifdef SYSTEME_FX40_CONCENTRIX
# Eifdef SYSTEME_FX40_CONCENTRIX
# ifdef SYSTEME_HP705_HPUX
# Aifdef SYSTEME_HP705_HPUX
# Eifdef SYSTEME_HP705_HPUX
# ifdef SYSTEME_HP710_HPUX
# Aifdef SYSTEME_HP710_HPUX
# Eifdef SYSTEME_HP710_HPUX
# ifdef SYSTEME_HP720_HPUX
# Aifdef SYSTEME_HP720_HPUX
# Eifdef SYSTEME_HP720_HPUX
# ifdef SYSTEME_HP750_HPUX
# Aifdef SYSTEME_HP750_HPUX
# Eifdef SYSTEME_HP750_HPUX
# ifdef SYSTEME_HP755_HPUX
# if ( (defined(CMAP23)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(CMAP23)))
# Eif ( (defined(CMAP23)))
# if ( (defined(CMAP24)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(CMAP24)))
# Eif ( (defined(CMAP24)))
# Aifdef SYSTEME_HP755_HPUX
# Eifdef SYSTEME_HP755_HPUX
# ifdef SYSTEME_HP819_HPUX
# if ( (defined(CMAP26)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(CMAP26)))
# Eif ( (defined(CMAP26)))
# Aifdef SYSTEME_HP819_HPUX
# Eifdef SYSTEME_HP819_HPUX
# ifdef SYSTEME_NWS3000_NEWSOS
# if ( (defined(LACT23)) \
|| (defined(EDFR11)) \
|| (defined(HOME11)) \
)
/* Nota : rappelons que les noms '$LACT23', '$EDFR11' et '$HOME11' sont synonymes et */
/* designent la station UNIX "portable" en fonction de sa situation geographique... */
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT23)) \
|| (defined(EDFR11)) \
|| (defined(HOME11)) \
)
# Eif ( (defined(LACT23)) \
|| (defined(EDFR11)) \
|| (defined(HOME11)) \
)
# Aifdef SYSTEME_NWS3000_NEWSOS
# Eifdef SYSTEME_NWS3000_NEWSOS
# ifdef SYSTEME_RS6000_AIX
# if ( (defined(EDFR15)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(EDFR15)))
# Eif ( (defined(EDFR15)))
# if ( (defined(CCVR13)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(CCVR13)))
# Eif ( (defined(CCVR13)))
# if ( (defined(IDRI11)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(IDRI11)))
# Eif ( (defined(IDRI11)))
# if ( (defined(CCVR14)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(CCVR14)))
# Eif ( (defined(CCVR14)))
# if ( (defined(INFO25)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(INFO25)))
# Eif ( (defined(INFO25)))
# Aifdef SYSTEME_RS6000_AIX
# Eifdef SYSTEME_RS6000_AIX
# ifdef SYSTEME_SG4D20G_IRIX
# if ( (defined(LACT21)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT21)))
# Eif ( (defined(LACT21)))
# Aifdef SYSTEME_SG4D20G_IRIX
# Eifdef SYSTEME_SG4D20G_IRIX
# ifdef SYSTEME_SG4D25TG_IRIX
# if ( (defined(LACT22)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT22)))
# Eif ( (defined(LACT22)))
# Aifdef SYSTEME_SG4D25TG_IRIX
# Eifdef SYSTEME_SG4D25TG_IRIX
# ifdef SYSTEME_SG4D310VGX_IRIX
# if ( (defined(LHYX11)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LHYX11)))
# Eif ( (defined(LHYX11)))
# Aifdef SYSTEME_SG4D310VGX_IRIX
# Eifdef SYSTEME_SG4D310VGX_IRIX
# ifdef SYSTEME_SG4D35TG_IRIX
# if ( (defined(LACT22)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT22)))
# Eif ( (defined(LACT22)))
# Aifdef SYSTEME_SG4D35TG_IRIX
# Eifdef SYSTEME_SG4D35TG_IRIX
# ifdef SYSTEME_SG4D85GT_IRIX
# if ( (defined(EDFR14)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(EDFR14)))
# Eif ( (defined(EDFR14)))
# Aifdef SYSTEME_SG4D85GT_IRIX
# Eifdef SYSTEME_SG4D85GT_IRIX
# ifdef SYSTEME_SGIND308_IRIX
# Aifdef SYSTEME_SGIND308_IRIX
# Eifdef SYSTEME_SGIND308_IRIX
# ifdef SYSTEME_SGIND324_IRIX
# if ( (defined(LACT12)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT12)))
# Eif ( (defined(LACT12)))
# Aifdef SYSTEME_SGIND324_IRIX
# Eifdef SYSTEME_SGIND324_IRIX
# ifdef SYSTEME_SGIND3GA_IRIX
# Aifdef SYSTEME_SGIND3GA_IRIX
# Eifdef SYSTEME_SGIND3GA_IRIX
# ifdef SYSTEME_SGIND408_IRIX
# Aifdef SYSTEME_SGIND408_IRIX
# Eifdef SYSTEME_SGIND408_IRIX
# ifdef SYSTEME_SGIND424_IRIX
# if ( (defined(LACT12)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT12)))
# Eif ( (defined(LACT12)))
# Aifdef SYSTEME_SGIND424_IRIX
# Eifdef SYSTEME_SGIND424_IRIX
# ifdef SYSTEME_SGIND4GA_IRIX
# if ( (defined(LACT12)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT12)))
# Eif ( (defined(LACT12)))
# Aifdef SYSTEME_SGIND4GA_IRIX
# Eifdef SYSTEME_SGIND4GA_IRIX
# ifdef SYSTEME_SGIND508_IRIX
# Aifdef SYSTEME_SGIND508_IRIX
# Eifdef SYSTEME_SGIND508_IRIX
# ifdef SYSTEME_SGIND524_IRIX
# if ( (defined(LACT27)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT27)))
# Eif ( (defined(LACT27)))
# Aifdef SYSTEME_SGIND524_IRIX
# Eifdef SYSTEME_SGIND524_IRIX
# ifdef SYSTEME_SGIND5GA_IRIX
# Aifdef SYSTEME_SGIND5GA_IRIX
# Eifdef SYSTEME_SGIND5GA_IRIX
# ifdef SYSTEME_SGIND808_IRIX
# Aifdef SYSTEME_SGIND808_IRIX
# Eifdef SYSTEME_SGIND808_IRIX
# ifdef SYSTEME_SGIND824_IRIX
# if ( (defined(LACT27)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT27)))
# Eif ( (defined(LACT27)))
# Aifdef SYSTEME_SGIND824_IRIX
# Eifdef SYSTEME_SGIND824_IRIX
# ifdef SYSTEME_SGIND8GA_IRIX
# Aifdef SYSTEME_SGIND8GA_IRIX
# Eifdef SYSTEME_SGIND8GA_IRIX
# ifdef SYSTEME_SGINDA08_IRIX
# Aifdef SYSTEME_SGINDA08_IRIX
# Eifdef SYSTEME_SGINDA08_IRIX
# ifdef SYSTEME_SGINDA24_IRIX
# if ( (defined(LACT27)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT27)))
# Eif ( (defined(LACT27)))
# Aifdef SYSTEME_SGINDA24_IRIX
# Eifdef SYSTEME_SGINDA24_IRIX
# ifdef SYSTEME_SGINDAGA_IRIX
# Aifdef SYSTEME_SGINDAGA_IRIX
# Eifdef SYSTEME_SGINDAGA_IRIX
# ifdef SYSTEME_SGO200A1_IRIX
# if ( (defined(LACT29)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT29)))
# Eif ( (defined(LACT29)))
# Aifdef SYSTEME_SGO200A1_IRIX
# Eifdef SYSTEME_SGO200A1_IRIX
# ifdef SYSTEME_SGO200A2_IRIX
# if ( (defined(LACT29)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT29)))
# Eif ( (defined(LACT29)))
# Aifdef SYSTEME_SGO200A2_IRIX
# Eifdef SYSTEME_SGO200A2_IRIX
# ifdef SYSTEME_SGO200A4_IRIX
# if ( (defined(LACT29)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT29)))
# Eif ( (defined(LACT29)))
# Aifdef SYSTEME_SGO200A4_IRIX
# Eifdef SYSTEME_SGO200A4_IRIX
# ifdef SYSTEME_SGO25224_IRIX
# Aifdef SYSTEME_SGO25224_IRIX
# Eifdef SYSTEME_SGO25224_IRIX
# ifdef SYSTEME_SGO252VA_IRIX
# if ( (defined(LACT71)))
# define X_WINDOW_RELEASE_R11_4 \
ENUM(_X_WINDOW_RELEASE_R11_4)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_4 \
/* Version 11.4... */
# Aif ( (defined(LACT71)))
# Eif ( (defined(LACT71)))
# Aifdef SYSTEME_SGO252VA_IRIX
# Eifdef SYSTEME_SGO252VA_IRIX
# ifdef SYSTEME_SGO252VN_IRIX
# Aifdef SYSTEME_SGO252VN_IRIX
# Eifdef SYSTEME_SGO252VN_IRIX
# ifdef SYSTEME_SGPCM801_IRIX
# if ( (defined(LACT28)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT28)))
# Eif ( (defined(LACT28)))
# Aifdef SYSTEME_SGPCM801_IRIX
# Eifdef SYSTEME_SGPCM801_IRIX
# ifdef SYSTEME_SGPCMA01_IRIX
# if ( (defined(LACT28)))
# define X_WINDOW_RELEASE_R11_6 \
ENUM(_X_WINDOW_RELEASE_R11_6)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_6 \
/* Version 11.6... */
# Aif ( (defined(LACT28)))
# Eif ( (defined(LACT28)))
# Aifdef SYSTEME_SGPCMA01_IRIX
# Eifdef SYSTEME_SGPCMA01_IRIX
# ifdef SYSTEME_SUN3_SUNOS
# Aifdef SYSTEME_SUN3_SUNOS
# Eifdef SYSTEME_SUN3_SUNOS
# ifdef SYSTEME_SUN4_SUNOS
# if ( (defined(EDFR13)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(EDFR13)))
# Eif ( (defined(EDFR13)))
# if ( (defined(CCVR11)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(CCVR11)))
# Eif ( (defined(CCVR11)))
# if ( (defined(CCVR12)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(CCVR12)))
# Eif ( (defined(CCVR12)))
# if ( (defined(LINX11)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(LINX11)))
# Eif ( (defined(LINX11)))
# Aifdef SYSTEME_SUN4_SUNOS
# Eifdef SYSTEME_SUN4_SUNOS
# ifdef SYSTEME_SUN4NCUBE2S_SUNOS_CC
# if ( (defined(CMAP25)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(CMAP25)))
# Eif ( (defined(CMAP25)))
# Aifdef SYSTEME_SUN4NCUBE2S_SUNOS_CC
# Eifdef SYSTEME_SUN4NCUBE2S_SUNOS_CC
# ifdef SYSTEME_SUN4NCUBE2S_SUNOS_NCC
# if ( (defined(CMAP25)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(CMAP25)))
# Eif ( (defined(CMAP25)))
# Aifdef SYSTEME_SUN4NCUBE2S_SUNOS_NCC
# Eifdef SYSTEME_SUN4NCUBE2S_SUNOS_NCC
# ifdef SYSTEME_VAX8600_ULTRIX
# if ( (defined(INFO22)))
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aif ( (defined(INFO22)))
# Eif ( (defined(INFO22)))
# Aifdef SYSTEME_VAX8600_ULTRIX
# Eifdef SYSTEME_VAX8600_ULTRIX
# ifdef SYSTEME_VAX9000_ULTRIX
# if ( (defined(INFO23)))
# define X_WINDOW_RELEASE_R11_5 \
ENUM(_X_WINDOW_RELEASE_R11_5)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_5 \
/* Version 11.5... */
# Aif ( (defined(INFO23)))
# Eif ( (defined(INFO23)))
# Aifdef SYSTEME_VAX9000_ULTRIX
# Eifdef SYSTEME_VAX9000_ULTRIX
# ifndef X_WINDOW_RELEASE
# message "ATTENTION : aucune release de 'X-Window' n'est definie..."
# message "ATTENTION : la release 11.3 est donc forcee..."
# define X_WINDOW_RELEASE_R11_3 \
ENUM(_X_WINDOW_RELEASE_R11_3)
# define X_WINDOW_RELEASE \
X_WINDOW_RELEASE_R11_3 \
/* Version 11.3... */
# Aifdef X_WINDOW_RELEASE
# Eifdef X_WINDOW_RELEASE
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I N C L U D E S S P E C I F I Q U E S D E ' X - W I N D O W S ' : */
/* */
/*************************************************************************************************************************************/
@ include <X11/X.h>
/* Dans ce fichier se trouvent la plupart des definitions de type '#define'. ATTENTION, */
/* cet include etait autefois dans '$xiidX/fonct$vv$FON' (ce qui est plus logique), mais */
/* depuis que l'on trouve dans '$xiidX/fonct$vv$FON' : */
/* */
/* DEFV(Common,DEFV(X_Window,X11_____fenetre_courante)); */
/* */
/* sur toute machine sur laquelle on compile 'X-Window' cette directive se retrouve donc */
/* dans '$xiidX/fonct$vv$EXT', et demande donc que le type 'Window' soit defini avant, ce */
/* qui est fait dans cet include... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* T E S T D U S E R V E U R U T I L I S E : */
/* */
/*************************************************************************************************************************************/
# define gLE_SERVEUR_X_WINDOW_EST_CELUI_DE(nom_du_serveur_et_de_l_ecran,nom_presume_du_serveur_et_de_l_ecran) \
IFEQ_chaine(nom_du_serveur_et_de_l_ecran,Gvar(nom_presume_du_serveur_et_de_l_ecran)) \
/* Fonction generale testant le serveur physique 'X-Window' utilise. */
# define LE_SERVEUR_X_WINDOW_EST_CELUI_DE(nom_presume_du_serveur_et_de_l_ecran) \
gLE_SERVEUR_X_WINDOW_EST_CELUI_DE(X11_____nom_du_serveur_et_de_l_ecran,nom_presume_du_serveur_et_de_l_ecran) \
/* Fonction testant le serveur physique 'X-Window' utilise. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C H O I X D E L A F A C O N D ' A C C E D E R A U X P A L E T T E S D E C O U L E U R S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C H O I X D E L A F A C O N D ' A L L O U E R L E S C O U L E U R S D E S P A L E T T E S : */
/* */
/*************************************************************************************************************************************/
# nodefine ALLOCATION_DES_COULEURS_VERSION_01
# define ALLOCATION_DES_COULEURS_VERSION_02
/* Ces variables sont conservees uniquement pour assurer la compatibilite avec les commandes */
/* qui les utilisaient (mais rappelons que cette version correspond effectivement a la */
/* variable 'ALLOCATION_DES_COULEURS_VERSION_02'...), et par exemple '$xci/display$K'. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* " A N I M A T I O N " D E S P A L E T T E S : */
/* */
/*************************************************************************************************************************************/
/* ATTENTION, 'LE_NOIR_EST_TRANSLATABLE' et 'LE_NOIR_N_EST_PAS_TRANSLATABLE' ne sont plus */
/* definies ici depuis l'introduction de 'ROTATION_NIVEAU(...)' dans '$xiiD/definit.2$DEF'. */
/* */
/* Ces definitions, n'avaient alors de sens que pour 'ALLOCATION_DES_COULEURS_VERSION_02', */
/* mais l'argument 'translater_le_NOIR' de la fonction 'IXpalette(...)' etant toujours */
/* present, les deux definitions ci-dessus ne peuvent etre conditionnelles... */
/* */
/* Les deux parametres 'INCREMENT_DES_NIVEAUX_PAR_DEFAUT_DE_IXdisplay' et */
/* 'TRANSLATER_LE_NOIR_PAR_DEFAUT_DE_IXdisplay' ont ete introduits le 20030102000354. */
# define INCREMENT_DES_NIVEAUX_PAR_DEFAUT_DE_IXdisplay \
ZERO \
/* Valeur par defaut de l'argument 'increment_des_niveaux' de 'IXdisplay(...)'. */
# define TRANSLATER_LE_NOIR_PAR_DEFAUT_DE_IXdisplay \
LE_NOIR_N_EST_PAS_TRANSLATABLE \
/* Valeur par defaut de l'argument 'translater_le_NOIR' de 'IXdisplay(...)'. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* B U G S D E S B I B L I O T H E Q U E S G R A P H I Q U E S : */
/* */
/*************************************************************************************************************************************/
/* Le bug 'BUG_SYSTEME_X_WINDOW_IMAGE_1' a disparu en passant de '$xiidX/fonct.vA$DEF' a */
/* '$xiidX/fonct$vv$DEF'. En effet, il n'a pu de raison d'etre, et d'autre part le */
/* passage par un bit-map intermediaire est utilise pour acceder a 'SYSTEME_NWS3000_NEWSOS' */
/* en Noir & Blanc... */
# TestADef BUG_SYSTEME_X_WINDOW_IMAGE_2 \
/* L'axe 'OY' de 'X-Window' descend au lieu de monter... */
# nTestADef BUG_SYSTEME_X_WINDOW_IMAGE_3 \
/* L'option 'backingstore' des attributs de fenetre ne peut prendre la valeur 'WhenMapped', */ \
/* car elle provoque un abort du serveur 'X-Window' ; la valeur 'NotUseful' est donc */ \
/* provisoirement obligatoire... */
# TestADef BUG_SYSTEME_X_WINDOW_STRUCTURES_1 \
/* Un certain nombre de structures de 'X-Window' sont cachees a l'utilisateur (c'est-a-dire */ \
/* qu'elles ne sont definies que dans le source des fonctions), mais malheureusement sont */ \
/* referencees sous forme de pointeurs sur elles-memes dans les fichiers d'includes de */ \
/* base. On trouve en particulier : */ \
/* */ \
/* STRUCTURE : INCLUDE : REFERENCES : */ \
/* */ \
/* '_XRegion' */ \
/* <X11/Xutil.h> "typedef struct _XRegion *Region;" */ \
/* */ \
/* '_XrmHashBucketRec' */ \
/* <X11/Xlib.h> "struct _XrmHashBucketRec *db;" */ \
/* <X11/Xresource.h> "typedef struct _XrmHashBucketRec *XrmHashBucket;" */ \
/* "typedef struct _XrmHashBucketRec *XrmDatabase;" */ \
/* */ \
/* 'XKeytrans' */ \
/* <X11/Xlib.h> "struct XKeytrans *key_bindings;" */ \
/* */
# TestADef BUG_SYSTEME_X_WINDOW_EVENEMENTS_1 \
/* Malgre toute ma bonne volonte, je n'arrive pas a recuperer l'evenement de nom */ \
/* 'CreateNotify' qui doit apparaitre apres la fonction 'XCreateWindow()'... */
# TestADef BUG_SYSTEME_X_WINDOW_EVENEMENTS_2 \
/* Il serait tout a fait logique de recuperer l'evenement 'ColormapNotify' apres avoir */ \
/* execute la fonction 'XSetWindowColormap()', mais voila ca ne marche pas lorsqu'il */ \
/* s'agit de la palette 'DefaultColormap(...)'... */
# TestADef BUG_SYSTEME_X_WINDOW_EVENEMENTS_3 \
/* Il serait tout a fait logique de recuperer l'evenement 'ColormapNotify' apres avoir */ \
/* execute la fonction 'XChangeWindowAttributes()' avec l'attribut 'colormap', mais voila, */ \
/* on ne le recoit pas... */
# TestADef BUG_SYSTEME_SG_X_WINDOW_BORDER_1 \
/* Sur 'SYSTEME_SG...', un bug tout a fait etonnant est apparu. Lors des appels a */ \
/* 'XPutImage(...)', l'image est visualisee decoupee en environ quatre bandes separees */ \
/* par une bande noire de largeur proportionnelle a 'EPAISSEUR_DU_BORD_DES_FENETRES'. */ \
/* La solution est donc de faire que la bordure des fenetres soit de largeur nulle. Mais */ \
/* ATTENTION : etant donne que l'on peut, par exemple, faire executer un programme sur */ \
/* 'SYSTEME_DPX5000_SPIX' tout en utilisant le serveur 'X-Window' de la machine */ \
/* 'SYSTEME_SG...', 'BUG_SYSTEME_SG...' ne peut etre conditionnel et soumis a : */ \
/* */ \
/* # ifdef SYSTEME_SG... */ \
/* # Aifdef SYSTEME_SG... */ \
/* # Eifdef SYSTEME_SG... */ \
/* */ \
/* puisqu'en toute generalite, on ne connait pas le SYSTEME du serveur utilise au moment */ \
/* de la compilation... */
# ifdef SYSTEME_APC_LinuxRedHat
# if ( (defined(CMAP28)))
# if (nSYSTEM_RELEASE >= 700000000)
/* Introduit le 20170621125141... */
# if (DATE > 20170609)
/* Je note le 20170621092442 qu'il serait peut-etre preferable de tester ici la valeur */
/* de '$nSYSTEM_RELEASE' qui a cette date vaut : */
/* */
/* europe.polytechnique.fr 70316110000 */
/* -- */
/* /\ */
/* || */
/* || */
/* ('v $xE/.directories$D/RELEASE$vv$Y 20170621122103') */
/* */
/* porte-brancion.polytechnique.fr 605000000 */
/* vaugirard.polytechnique.fr 505000000 */
/* */
/* avec quelque chose du type : */
/* */
/* if (nSYSTEM_RELEASE > 700000000) */
/* (...) */
/* Aif (nSYSTEM_RELEASE > 700000000) */
/* (...) */
/* Eif (nSYSTEM_RELEASE > 700000000) */
/* */
/* en remplacant "70316110000" par "703161100"... */
/* */
/* Mais malheureusement, la compilation de 'v $xbidX/fonction$K' peut se faire sur n'importe */
/* quelle MACHINE de nom '$CMAP28'. Si cette compilation a lieu, par exemple sur une */
/* "vieille" ('vaugirard.polytechnique.fr' par exemple), alors la librairie generee ne */
/* sera pas compatible avec les autres MACHINEs et cela provoquera evidemment des : */
/* */
/* Segmentation fault */
/* */
/* Donc, a cette date, l'utilisation de '$DATE' parait preferable... */
/* */
/* D'ou la solution du 20170621125141... */
# TestADef BUG_SYSTEME_APC_LinuxRedHat_X_WINDOW_XCreateImage_1
# TestADef BUG_SYSTEME_APC_LinuxRedHat_X_WINDOW_XCreateImage_2
/* Introduits le 20170619162326... */
/* */
/* On notera qu'a cette date, les SYSTEMEs suivants sont sur les MACHINEs suivantes : */
/* */
/* europe.polytechnique.fr CENTOS 5 (RedHat) avant le 20170609144340 */
/* europe.polytechnique.fr CENTOS 7 (RedHat) apres le 20170609144340 */
/* */
/* porte-brancion.polytechnique.fr CENTOS 6 (RedHat) */
/* vaugirard.polytechnique.fr CENTOS 5 (RedHat) */
/* */
/* C'est donc le passage de 'CENTOS 5' a des versions plus recentes qui a provoque ces */
/* deux bugs... */
# Aif (DATE > 20170609)
# Eif (DATE > 20170609)
# Aif (nSYSTEM_RELEASE >= 700000000)
# TestADef BUG_SYSTEME_APC_LinuxRedHat_X_WINDOW_XCreateImage_1
# TestADef BUG_SYSTEME_APC_LinuxRedHat_X_WINDOW_XCreateImage_2
/* Introduit le 20170717101538... */
# Eif (nSYSTEM_RELEASE >= 700000000)
# Aif ( (defined(CMAP28)))
# Eif ( (defined(CMAP28)))
# Aifdef SYSTEME_APC_LinuxRedHat
# Eifdef SYSTEME_APC_LinuxRedHat
# ifdef SYSTEME_APC_LinuxUbuntu
# if ( (defined(LACT18)))
# TestADef BUG_SYSTEME_APC_LinuxUbuntu_X_WINDOW_XCreateImage_1 \
/* Introduit le 20071127112404. En effet, sur ce SYSTEME, le dernier argument de la fonction */ \
/* 'XCreateImage(...)' (soit "bytes_per_line") ne signifie pas exactement ce que je crois. */ \
/* Il est donc suggere de lui donner une valeur nulle, ce qui permettra son calcul correct */ \
/* a l'interieur de 'XCreateImage(...)'... */
# TestADef BUG_SYSTEME_APC_LinuxUbuntu_X_WINDOW_XCreateImage_2 \
/* Introduit le 20071127134734. En effet, sur ce SYSTEME, la fonction 'XPutPixel(...)' ne */ \
/* fonctionne pas bien en ce qui concerne la coordonnee 'Y'. A titre d'exemple, lors de */ \
/* l'affichage d'une image 'Std', il manque le quart inferieur. Cela semble venir de */ \
/* l'allocation memoire (le 20071128114334)... */
# Aif ( (defined(LACT18)))
# Eif ( (defined(LACT18)))
# if ( (defined(LACT19)))
# TestADef BUG_SYSTEME_APC_LinuxUbuntu_X_WINDOW_XCreateImage_1 \
/* Introduit le 20111027110719. En effet, sur ce SYSTEME, le dernier argument de la fonction */ \
/* 'XCreateImage(...)' (soit "bytes_per_line") ne signifie pas exactement ce que je crois. */ \
/* Il est donc suggere de lui donner une valeur nulle, ce qui permettra son calcul correct */ \
/* a l'interieur de 'XCreateImage(...)'... */
# TestADef BUG_SYSTEME_APC_LinuxUbuntu_X_WINDOW_XCreateImage_2 \
/* Introduit le 20111027110719. En effet, sur ce SYSTEME, la fonction 'XPutPixel(...)' ne */ \
/* fonctionne pas bien en ce qui concerne la coordonnee 'Y'. A titre d'exemple, lors de */ \
/* l'affichage d'une image 'Std', il manque le quart inferieur. Cela semble venir de */ \
/* l'allocation memoire (le 20111027110719)... */
# TestADef BUG_SYSTEME_APC_LinuxUbuntu_X_WINDOW_XCreateImage_3 \
/* Introduit le 20120226081903 a cause du probleme suivant rencontre sur '$LACT19'. Lors */ \
/* de : */ \
/* */ \
/* Sud */ \
/* $xci/sequence$X A=... premiere=1 derniere=128 \ */ \
/* p=$xiP/masque \ */ \
/* D=-1 \ */ \
/* editer=VRAI \ */ \
/* $formatI */ \
/* */ \
/* les images {17,18,19,29,34,45,46,47,96,111} au lieu d'etre blanc sur fond noir etaient */ \
/* plutot jaune sur une fond melange de noir et de structures bleues. */ \
/* */ \
/* L'appel a une fonction quelconque (par exemple un simple 'fprintf(...)' faisait */ \
/* disparaitre le probleme... */
# Aif ( (defined(LACT19)))
# Eif ( (defined(LACT19)))
# if ( (defined(LACT1B)))
# TestADef BUG_SYSTEME_APC_LinuxUlmint_X_WINDOW_XCreateImage_1
# TestADef BUG_SYSTEME_APC_LinuxUlmint_X_WINDOW_XCreateImage_2
# TestADef BUG_SYSTEME_APC_LinuxUlmint_X_WINDOW_XCreateImage_3
# Aif ( (defined(LACT1B)))
# Eif ( (defined(LACT1B)))
# Aifdef SYSTEME_APC_LinuxUbuntu
# Eifdef SYSTEME_APC_LinuxUbuntu
# ifdef SYSTEME_APC_LinuxUlmint
# if ( (defined(LACT1A)))
# TestADef BUG_SYSTEME_APC_LinuxUlmint_X_WINDOW_XCreateImage_1
# TestADef BUG_SYSTEME_APC_LinuxUlmint_X_WINDOW_XCreateImage_2
# TestADef BUG_SYSTEME_APC_LinuxUlmint_X_WINDOW_XCreateImage_3
# Aif ( (defined(LACT1A)))
# Eif ( (defined(LACT1A)))
# Aifdef SYSTEME_APC_LinuxUlmint
# Eifdef SYSTEME_APC_LinuxUlmint
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* B U G S D E S S E R V E U R S : */
/* */
/*************************************************************************************************************************************/
# TestADef BUG_SYSTEME_SG_X_WINDOW_BACKINGSTORE_1 \
/* Sur les 'SYSTEME_SG...' l'option 'backingstore' ne semble pas marcher correctement (voir */ \
/* a ce propos le fichier 'v $Dbugs/SG4D20G$D/IRIX$D/$Fnota'). Enfin, etant donne qu'une */ \
/* machine peut utiliser le serveur d'une autre (a priori inconnue), les definitions */ \
/* ci-dessus ne peuvent etre conditionnees par des : */ \
/* */ \
/* # ifdef SYSTEME_SG... */ \
/* # Aifdef SYSTEME_SG... */ \
/* # Eifdef SYSTEME_SG... */ \
/* */ \
/* puisqu'en toute generalite, on ne connait pas le SYSTEME du serveur utilise au moment */ \
/* de la compilation... */ \
/* */ \
/* ATTENTION, ce bug est defini (parce qu'il existe reellement), mais n'est pas utilise... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S T Y P E S N E C E S S A I R E S E T E X T E R N E S : */
/* */
/*************************************************************************************************************************************/
TypedefP(X_Window,Window)
TypedefS(A___X_Window,X_Window)
TypedefS(E___X_Window,X_Window)
/* Structure definissant un identificateur de fenetre (voir <X11/X.h>). */
/* A cause de 'DECLARATIONS_DES_FONCTIONS_ET_DE_LEURS_ARGUMENTS_VERSION_02', il a ete */
/* necessaire le 20040617181023 de mettre ici les definitions des 'TypedefS(A___...)' */
/* car, en effet, avec cette nouvelle VERSION, les fichiers de type '$EXT' contiendront */
/* en general des 'Argument's et il est donc necessaire que les 'A___...' correspondant */
/* soient disponibles avant ces declarations 'Argument's... */
TypedefP(X_Bool,Bool)
TypedefS(A___X_Bool,X_Bool)
/* Structure definissant un "booleen" (introduit le 20170711165533)... */
TypedefS(X_Int,vrai_Int_de_base)
TypedefS(A___X_Int,X_Int)
/* Structure definissant un entier de base... */
TypedefP(X_UnsignedLongInt,KONC(_unsigned,KONC(_long,_int)))
TypedefS(A___X_UnsignedLongInt,X_UnsignedLongInt)
/* Structure definissant un "entier long non signe" (introduit le 20170711165533)... */
TypedefP(X_Display,Display)
TypedefS(A___X_Display,X_Display)
/* Structure definissant un "display" (voir <X11/lib.h>). */
TypedefP(X_XImage,XImage)
TypedefS(A___X_XImage,X_XImage)
/* Structure definissant le format descriptif d'une image raster (voir <X11/Xlib.h>). */
TypedefP(X_GC,GC)
TypedefS(A___X_GC,X_GC)
/* Structure definissant un contexte graphique (voir <X11/Xlib.h>). */
TypedefP(X_XSetWindowAttributes,XSetWindowAttributes)
TypedefS(A___X_XSetWindowAttributes,X_XSetWindowAttributes)
TypedefP(X_XWindowAttributes,XWindowAttributes)
/* Structure definissant les attributs d'une fenetre, et par exemple la gravite, ainsi */
/* que la palette de couleurs associee (voir <X11/Xlib.h>). */
TypedefP(X_Visual,Visual)
/* Structure definissant un visual, c'est-a-dire le nombre de couleurs disponibles, */
TypedefP(X_XVisualInfo,XVisualInfo)
TypedefS(A___X_XVisualInfo,X_XVisualInfo)
/* Structure definissant les parametres de recherche d'un "visual" correspondant */
/* a un type donne (voir <X11/Xutil.h>). */
TypedefP(X_Colormap,Colormap)
TypedefS(A___X_Colormap,X_Colormap)
/* Structure definissant un identificateur de palette de couleurs (voir <X11/X.h>). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* O U V E R T U R E D ' U N E F E N E T R E : */
/* */
/*************************************************************************************************************************************/
# define DEFINITION_DU_SERVEUR_X_WINDOW \
"DISPLAY" \
/* Definition de la variable shell utilisee pour transmettre le nom du serveur 'X-Window' */ \
/* ainsi que l'identite de l'ecran utilise. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D U P I X E L ' X - W I N D O W ' : */
/* */
/*************************************************************************************************************************************/
# define Xsize_p \
size_CHAR \
/* Definition de la taille necessaire a la representation des niveaux de gris sous */ \
/* 'X-Window'... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S F O N C T I O N S D E P A S S A G E D E S */
/* C O O R D O N N E E S A U X L O N G U E U R S E T I N V E R S E M E N T : */
/* */
/*************************************************************************************************************************************/
# define C11XR(abscisse) \
COOR(abscisse,Xmin11) \
/* Passage d'un 'X' a une longueur, */
# define C11YR(ordonnee) \
COOR(ordonnee,Ymin11) \
/* Passage d'un 'Y' a une longueur. */
# define C11XA(longueur) \
COOA(longueur,Xmin11) \
/* Passage d'une longueur a un 'X', */
# define C11YA(longueur) \
COOA(longueur,Ymin11) \
/* Passage d'une longueur a un 'Y', */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D U " P L A N D E T R A V A I L " 5 1 2 x 5 1 2 : */
/* */
/*************************************************************************************************************************************/
# if ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \
)
# define logXY11 \
logXY
# define logX11 \
logXY11 \
/* Logarithme de la dimension horizontale, */
# define logY11 \
logXY11 \
/* Logarithme de la dimension verticale. */
# define Xmin11 \
COORDONNEE_MINIMALE \
/* Abscisse minimale, */
# define Xmax11 \
COORDONNEE_MAXIMALE(logX11) \
/* Abscisse maximale. */
# define dimX11 \
DIMENSION(Xmin11,Xmax11) \
/* Dimension de l'axe horizontal. */
# define PasX11 \
PAS_COORDONNEE \
/* Pas horizontal. */
# define dimX112 \
MOIT(dimX11) \
/* Definition de la longueur de la moitie de l'axe horizontal. */
# define Xmin112 \
ADD2(Xmin11,dimX112) \
/* Definition de l'abscisse minimale de [Xmax11/2,Xmax11]. */
# define Xmax112 \
PRED(Xmin112) \
/* Definition de l'abscisse maximale de [Xmin11,Xmax11/2]. */
# define Xcentre11 \
Xmin112 \
/* Centre "approximatif" de [Xmin11,Xmax11]. */
# define Ymin11 \
COORDONNEE_MINIMALE \
/* Ordonnee minimale, */
# define Ymax11 \
COORDONNEE_MAXIMALE(logY11) \
/* Ordonnee maximale. */
# define dimY11 \
DIMENSION(Ymin11,Ymax11) \
/* Dimension de l'axe vertical. */
# define PasY11 \
PAS_COORDONNEE \
/* Pas vertical. */
# define dimY112 \
MOIT(dimY11) \
/* Definition de la longueur de la moitie de l'axe vertical. */
# define Ymin112 \
ADD2(Ymin11,dimY112) \
/* Definition de l'ordonnee minimale de [Ymax11/2,Ymax11]. */
# define Ymax112 \
PRED(Ymin112) \
/* Definition de l'ordonnee maximale de [Ymin11,Ymax11/2]. */
# define Ycentre11 \
Ymin112 \
/* Centre "approximatif" de [Ymin11,Ymax11]. */
# Aif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \
)
# Eif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_01)) \
)
# if ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \
|| (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \
)
# define Xmin11 \
COXR(Xmin) \
/* Abscisse minimale (le 'COXR(...)' a ete introduit le 20010222184911 pour "faciliter" */ \
/* la visualisation d'images de {{Xmin,Xmax},{Ymin,Ymax}} quelconques), */
# define Xmax11 \
COXR(Xmax) \
/* Abscisse maximale (le 'COXR(...)' a ete introduit le 20010222184911 pour "faciliter" */ \
/* la visualisation d'images de {{Xmin,Xmax},{Ymin,Ymax}} quelconques). */
# define dimX11 \
dimX \
/* Dimension de l'axe horizontal. */
# define PasX11 \
PasX \
/* Pas horizontal. */
# define dimX112 \
dimX2 \
/* Definition de la longueur de la moitie de l'axe horizontal. */
# define Xmin112 \
Xmin2 \
/* Definition de l'abscisse minimale de [Xmax/2,Xmax]. */
# define Xmax112 \
Xmax2 \
/* Definition de l'abscisse maximale de [Xmin,Xmax/2]. */
# define Xcentre11 \
Xcentre \
/* Centre "approximatif" de [Xmin,Xmax]. */
# define Ymin11 \
COYR(Ymin) \
/* Ordonnee minimale (le 'COYR(...)' a ete introduit le 20010222184911 pour "faciliter" */ \
/* la visualisation d'images de {{Xmin,Xmax},{Ymin,Ymax}} quelconques), */
# define Ymax11 \
COYR(Ymax) \
/* Ordonnee maximale (le 'COYR(...)' a ete introduit le 20010222184911 pour "faciliter" */ \
/* la visualisation d'images de {{Xmin,Xmax},{Ymin,Ymax}} quelconques). */
# define dimY11 \
dimY \
/* Dimension de l'axe vertical. */
# define PasY11 \
PasY \
/* Pas vertical. */
# define dimY112 \
dimY2 \
/* Definition de la longueur de la moitie de l'axe vertical. */
# define Ymin112 \
Ymin2 \
/* Definition de l'ordonnee minimale de [Ymax/2,Ymax]. */
# define Ymax112 \
Ymax2 \
/* Definition de l'ordonnee maximale de [Ymin,Ymax/2]. */
# define Ycentre11 \
Ycentre \
/* Centre "approximatif" de [Ymin,Ymax]. */
# Aif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \
|| (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \
)
# Eif ( (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_02)) \
|| (defined(GESTION_DU_FORMAT_DES_IMAGES_VERSION_03)) \
)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E N O R M A L I S A T I O N D E S A X E S : */
/* */
/*************************************************************************************************************************************/
# define _cDENORMALISE_OX11(coordonnee) \
_cDENORMALISE_AXES(Xmin11,dimX11,coordonnee)
# define _lDENORMALISE_OX11(longueur) \
_lDENORMALISE_AXES(dimX11,longueur)
/* Normalisation d'une longueur sur l'axe OX ; l'unite represente [Xmin11,Xmax11]. */
# define _cDENORMALISE_OY11(coordonnee) \
_cDENORMALISE_AXES(Ymin11,dimY11,coordonnee)
# define _lDENORMALISE_OY11(longueur) \
_lDENORMALISE_AXES(dimY11,longueur)
/* Normalisation d'une longueur sur l'axe OY ; l'unite represente [Ymin11,Ymax11]. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O R M A L I S A T I O N D E S A X E S : */
/* */
/*************************************************************************************************************************************/
# define _____cNORMALISE_OX11(coordonnee) \
_____cNORMALISE_AXES(Xmin11,dimX11,coordonnee)
# define _____lNORMALISE_OX11(longueur) \
_____lNORMALISE_AXES(dimX11,longueur)
/* Denormalisation d'une longueur sur l'axe OX ; l'unite represente [Xmin11,Xmax11]. */
# define _____cNORMALISE_OY11(coordonnee) \
_____cNORMALISE_AXES(Ymin11,dimY11,coordonnee)
# define _____lNORMALISE_OY11(longueur) \
_____lNORMALISE_AXES(dimY11,longueur)
/* Denormalisation d'une longueur sur l'axe OY ; l'unite represente [Ymin11,Ymax11]. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* G E S T I O N T R E S S I M P L I F I E E D E S E V E N E M E N T S : */
/* */
/*************************************************************************************************************************************/
# define SIGNALER_LES_EVENEMENTS_INATTENDUS_DE_X_WINDOW \
VRAI
# define NE_PAS_SIGNALER_LES_EVENEMENTS_INATTENDUS_DE_X_WINDOW \
NOTL(SIGNALER_LES_EVENEMENTS_INATTENDUS_DE_X_WINDOW)
/* Valeurs necessaires au controle de l'edition des evenements inattendus. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S N E C E S S A I R E S : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* S T R U C T U R E S N E C E S S A I R E S : */
/* */
/*************************************************************************************************************************************/
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW