/* * VRO_CPYFM (C) Digital Design 1991 * * COPY RASTER, OPAQUE * * Diese Funktion kopiert das Quellraster nicht an einen anderen * Speicherplatz, sondern verknpft es logisch mit einem anderen * Speicherbereich, dem Zielraster. * Falls die beiden Raster unterschiedliche Gr”en aufweisen, wird in * der Gr”e des Quellrasters verknpft. Die M”glichkeit des Vergr”- * erns von Rastern wird mit der erweiterten Nachfrage-Funktion * İVQ_EXTNDİ..\INQUIRE\VQ_EXTND.Cİ ermittelt. * Die Funktion arbeitet nur mit ger„tespezifischen Rasterformen. * Entsprechende Umwandlungen sind mit der TRANSFORM-FORM-Funktion * İVR_TRNFMİVR_TRNFM.Cİ m”glich. */ #include void vro_cpyfm( int handle, int vr_mode, int *pxyarray, MFDB *psrcMFDB, MFDB *pdesMFDB ) { *(MFDB far **)(contrl + 7) = psrcMFDB; /* Doppelwort-Adresse MFDB */ /* des Quellrasters */ *(MFDB far **)(contrl + 9) = pdesMFDB; /* Doppelwort-Adresse MFDB */ /* des Zielrasters */ intin[0] = vr_mode; /* Modus der logischen Verknpfung * * (q = Quellraster, z = Zielraster, r = * * resultierendes, abgespeichertes Zielraster): * * 0: r = 0 * * 1: r = q AND z * * 2: r = q AND (NOT z) * * 3: r = q (1:1 šbertragung) * * 4: r = (NOT q) AND z * * 5: r = z * * 6: r = q XOR z * * 7: r = q OR z * * 8: r = NOT (q OR z) * * 9: r = NOT (q XOR z) * * 10: r = NOT z * * 11: r = q OR (NOT z) * * 12: r = NOT q * * 13: r = (NOT q) OR z * * 14: r = NOT (q AND z) * * 15: r = 1 */ vdipb[2] = pxyarray; /* pxyarray[0] = x-Koordinate des Eckpunktes * * des Quellrasters * * pxyarray[1] = y-Koordinate des Eckpunktes * * des Quellrasters * * pxyarray[2] = x-Koordinate des diagonal * * gegenberliegenden Eckpunktes * * des Quellrasters * * pxyarray[3] = y-Koordinate des diagonal * * gegenberliegenden Eckpunktes * * des Quellrasters * * pxyarray[4] = x-Koordinate des Eckpunktes * * des Zielrasters * * pxyarray[5] = y-Koordinate des Eckpunktes * * des Zielrasters * * pxyarray[6] = x-Koordinate des diagonal * * gegenberliegenden Eckpunktes * * des Zielrasters * * pxyarray[7] = y-Koordinate des diagonal * * gegenberliegenden Eckpunktes * * des Zielrasters */ VDI( 109, 4, 1, handle ); vdipb[2] = ptsin; }