|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
#define VOR 1 #define ZURUECK -1 #define MITTE 0 /********************************************************************/ /* Scannerstrukturen */ /********************************************************************/ typedef struct /* Übergabestruktur für Scanner */ { void *next; /* Zeiger auf den nächsten Treiber */ char kennung[4]; /* Magic GDPS als Treiberkennung */ int version; /* Versionsnummer, derzeit < 200 */ int typ; /* Treiberart, 0 für Scanner */ char *info; /* Zeiger auf Treiberinfo und die */ char *copyright; /* Copyrightmeldung */ int gerbesch; /* Gerätebeschreibungsflags */ int farben; /* Anzahl der Farben 0=SW */ int deep; /* mögliche Bittiefen */ int free; /* Flag ob Scanner frei ist */ int befehl; /* Kommando an Scanner */ void *command; /* Zeiger auf die Kommandostruktur */ } SCANHEADER; typedef struct /* Kommandostruktur für GDPI-Scanner */ { int result; /* Ergebnis das Treiber meldet */ int modi; /* Erlaubte Scanmodi */ int tiefe; /* Tiefe des Bildes in Bit/Pixel */ void *vspeicher; /* Dahin soll das Bild gehen */ long vmaxlen; /* verfügbarer Speicher */ int bytebreite; /* Breite einer Zeile in Bytes */ int hoehe; /* Hoehe des Bildes in Zeilen */ int mmbreite; /* Breite und Höhe in 1/10 Milli- */ int mmhoehe; /* metern */ int xdpi; /* Auflösung in x und y-Richtung */ int ydpi; int modulo; /* 2=>Bild wird Wordbündig */ int start_x; /* linke obere Ecke x in 1/10mm */ int start_y; /* linke obere Ecke y in 1/10mm */ long ser_nr; /* Seriennummer */ /**** der nun folgende Teil ist nur beim Aufruf des Scanners mit den Befehlen der 0x2XX Serie definiert ******/ int add_bits; /* Angabe, wieviele Bits zusätzlich*/ /* z.B. besitzt CRANACH Studio */ /* zu jedem Bild 2 Masken. Wird */ /* eine Bitmap gescant, so benötigt*/ /* das Programm nicht nur 1 BIT pro*/ /* Pixel, sonder drei Bit */ /* Analog dazu müßten bei einem */ /* Grautonbild 8 + 2 = 10 Pixel */ /* berechnet werden. Sollte dieser */ /* Wert nicht beachtet werden, so */ /* kann es nach dem Scannen passieren*/ /* daß CRANACH Studio das Fenster */ /* nicht öffnen kann, da zwar für */ /* das gescannte Bild Speicher vor-*/ /* handen ist, nicht aber für die */ /* notwendigen Masken. */ /* gebraucht werden, z.B. zwei */ /* zusätzliche Bits für die Maske */ void *Dchange_pointer; /* Zeiger auf diese Funktion */ void *Dupdate; /* Zeiger auf jene Funktion; */ int lesen; /* Lesebufferindex virtuell */ int schreiben; /* Schreibbufferindex virtuell */ int virt_flag; /* flag, ob virtuell gearbeitet wird */ } SCANCOM; SCANCOM scancom; void *Dchange_pointer( void *pointer, int v_handle, int richtung, long *max_vor, long *max_zurueck ); void Dupdate(int v_handle);
![]() |
English version not yet available. |