/*************************************************************************************************************************************/ /* */ /* E D I T I O N D ' U N E M I R E E N B A S D ' U N E I M A G E : */ /* */ /* */ /* Author of '$xci/mire$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 1987??????????). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_BASE /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define GENERALE \ FAUX \ /* Faut-il utiliser la procedure 'MIRE_DE_BARRES_GENERALE(...)' ('VRAI') ou bien la */ \ /* procedure 'MIRE_DE_BARRES(...)' ('FAUX') ? */ #define HAUTEUR_ABSOLUE \ VRAI \ /* Lorsqu'on utilise 'MIRE_DE_BARRES_GENERALE(...)' (voir 'GENERALE'), la hauteur est-elle */ \ /* exprimee en nombre d'inter-points ('VRAI') ou bien relativement a 'dimY' ('FAUX') ? */ #define HAUTEUR \ QUATRE \ /* Hauteur par defaut de la mire de barres. */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* E D I T I O N D ' U N E M I R E E N B A S D ' U N E I M A G E : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE)); DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE)); DEFV(Logical,INIT(generale,GENERALE)); /* Faut-il utiliser la procedure 'MIRE_DE_BARRES_GENERALE(...)' ('VRAI') ou bien la */ /* procedure 'MIRE_DE_BARRES(...)' ('FAUX') ? */ DEFV(Logical,INIT(hauteur_absolue,HAUTEUR_ABSOLUE)); /* Lorsqu'on utilise 'MIRE_DE_BARRES_GENERALE(...)' (voir 'generale'), la hauteur est-elle */ /* exprimee en nombre d'inter-points ('VRAI') ou bien relativement a 'dimY' ('FAUX') ? */ DEFV(Float,INIT(hauteur,FLOT(HAUTEUR))); /* Hauteur par defaut de la mire de barres. */ DEFV(Positive,INIT(veritable_hauteur,UNDEF)); /* Hauteur veritablement utilisee... */ /*..............................................................................................................................*/ GET_ARGUMENTSg(nombre_d_arguments ,BLOC(GET_ARGUMENT_L("SX_SY_SZ_____compatibilite_20070416=""compatibilite_20070416=" ,SX_SY_SZ_____compatibilite_20070416 ); /* Parametre introduit le 20070416155051... */ GET_ARGUMENT_C("imageA=""A=",nom_imageA); GET_ARGUMENT_C("imageR=""R=",nom_imageR); GET_ARGUMENT_L("generale=",generale); GET_ARGUMENT_L("absolue=",hauteur_absolue); GET_ARGUMENT_F("hauteur=""h=",hauteur); GET_ARGUMENT_L("renormaliser_scale_globale=""renormaliser_K""rK=",vecteurs_____renormaliser_scale_globale); /* Parametre introduit le 20160527135934 (('v $xiii/vecteurs$DEF 20160527135104' afin de */ /* justifier cela...). */ ) ); EGAL(veritable_hauteur ,INTE(COND(IL_FAUT(hauteur_absolue) ,hauteur ,_lDENORMALISE_OY(hauteur) ) ) ); /* Hauteur veritablement utilisee... */ Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageG,nom_imageA)))) Bblock Test(IL_FAUT(generale)) Bblock MIRE_DE_BARRES_GENERALE(veritable_hauteur ,INTER_POINT ,BLOC(VIDE;) ,BLOC(VIDE;) ); /* Generation de la mire de barre generale (de hauteur absolument quelconque...). Sa */ /* hauteur reelle correspond alors exactement au parametre 'hauteur' (ce qui correspond */ /* au nombre d'inter-points), et le nombre de points de chaque barre verticale est donc */ /* 'hauteur+1' normalise ou pas (suivant 'hauteur_absolue') par rapport a 'dimY'... */ Eblock ATes Bblock MIRE_DE_BARRES(veritable_hauteur); /* Generation de la mire de barre standard permettant de faire des '$xci/reduction_??$X' */ /* ensuite... Sa hauteur reelle correspond alors au produit du parametre 'hauteur' par le */ /* coefficient 'MIRE_Y_MINIMAL'. */ Eblock ETes CALi(Iupdate_image(nom_imageR,ImageG)); Eblock ATes Bblock Test__CODE_ERREUR__ERREUR07; Eblock ETes RETU_Commande; Eblock ECommande