|
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. |