/*************************************************************************************************************************************/ /* */ /* 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