| Herd Software Entwicklung
|=
DaVinci Grafikbibliothek
|==
DaVinci Dokumentation Home Search Order


Struktur DAVPARAMS

Die Struktur DAVPARAMS wird zum Austausch von Daten zwischen dem Anwendungsprogramm und DaVinci während des Imports oder Exports von Grafiken verwendet.
typedef struct {
// Von der Applikation bereitgestellte Eingabewerte
DWORD	dwStructSize;
LPARAM	lParam;
IPCALLBACKPROC	fnCallbackProc;
DWORD	dwFlags;
HMMIO	hmmio;
UINT	uPageNumber;
LPSTR	lpszFileName;
DWORD	dwFileType;
LPSTR	lpszFltFileName;
int	iDxfRotAngle;
int	iDxfScale;
HWND	hwOwner;
POINT	ptMetaDIBResolution;

// Ausgabewerte von Import-Funktionen, Eingabewerte von Export-Funktionen
HDIB	hDIB;
HMETAFILE	hMetaFile;
#ifdef __WIN32__
HENHMETAFILE	hEnhMetaFile;
#endif
METARESOLUTION	MetaResolution;

// Zusatzinformationen
DWORD	dwDxfFlags;
DWORD	dwDIBFlags;
DWORD	dwTransparentColorIndex;
BYTE	abReserved[52];
} DAVPARAMS, FAR *LPDAVPARAMS, NEAR *NPDAVPARAMS;

Die DAVPARAMS-Struktur hat folgende Felder:

Feld Typ Beschreibung
dwStructSize DWORD Größe der Struktur DAVPARAMS in Bytes. Die Anwendung sollte die Größe dieser Struktur immer mit sizeof(DAVPARAMS) setzen, bevor sie eine DaVinci-Funktion aufruft,
lParam LPARAM anwendungsdefinierter 32-Bit-Wert zur Verwendung im Callback fnCallBackProc
fnCallBackProc IPCALLBACKPROC anwendungsdefinierte Callbackfunktion, die von DaVinci ab und zu während des Import/Exports aufgerufen wird und Benutzereingaben verarbeiten oder einen Fortschrittsbalken pflegen kann,
dwFlags DWORD IPF_xxxx Schalterwerte mit Logischem oder kombiniert,
hmmio HMMIO Handle einer mit dem Microsoft Windows Multimedia File API (MMSYSTEM) eröffneten Datei,
uPageNumber int Seitennummer (1...Seitenanzahl) beim Import einer Multi-Page-TIFF-Datei. Falls uPageNumber 0 ist und die zu importierende TIFF-Datei mehrere Seiten enthält, fragt DaVinci den Anwender im Dialog welche Seite zu importieren ist. Die Anwendung kann die Anzahl der Seiten in einer TIFF-Datei mit der Funktion ipTifPageCount erfragen.

Die Standard-Version importiert immer die erste Seite.

lpszFileName LPSTR Dateiname einer zu importierenden Datei,
dwFileType DWORD IPT_xxxx Dateityp, meist IPT_SELECT,
lpszFltFileName LPSTR Dateiname eines .FLT Importfilters wenn dwFileType = IPT_FLT.
iDxfRotAngle int Drehwinkel beim Import von DXF-Dateien,
iDxfScale int Skalierungsfaktor beim Import von DXF-Dateien,
hwOwner HWND Fensterhandle der aufrufenden Anwendung zur Zuordnung des Dateidialogs und des automatisch dargestellten Fortschrittsbalkens,
ptMetaDIBResolution POINT Größenangabe die beim Konvertieren von MetaFile-Daten in Bitmap-Daten benutzt wird um die Anzahl der Pixel der zu erstellenden Bitmap festzulegen. Die Angabe erfolgt in Pixel / Inch,
hDIB HDIB Handle der zu exportierenden DIB bzw. Handle der importierten DIB,
hMetaFile HMETAFILE Handle des zu exportierenden MetaFiles bzw. Handle des importierten MetaFiles,
hEnhMetaFile HENMETAFILE nur 32-Bit Version: Handle des zu exportierenden Enhanced MetaFiles bzw. Handle des importierten Enhanced MetaFiles,
MetaResolution METARESOLUTION Struktur mit metrischen Größenangaben als Zusatzangaben zu hMetaFile,
dwDxfFlags DWORD zusätzliche IPDXF_xxxx Flags für den DXF-Import,
dwDIBFlags DWORD zusätzliche IPDIBF_xxxx - Flags geben den typ der zu erstellenden DIB beim Import von Bitmap-Daten an (32-Bit, CMYK, RGBA etc.)
dwTransparentColorIndex DWORD Gibt bei GIF und PNG-Dateien den Index der transparenten Farbe in der Farbtabelle an. 0 bedeutet: Keine Transparenz. Ansonsten wird das Bit 31 gesetzt und die unteren 8 Bit geben die Nummer des Farbpaletteneintrags an. Beachten Sie, daß das PNG-Format Transparenz sowohl als RGBA-Transparenz als auch als indizierte Transparenz wie beim GIF-Format ermöglicht.
abReserved BYTE [52] 52 Bytes reserviert für zukünftige Erweiterungen

Anmerkungen

Die Funktionen ipImportInd und ipExportInderlauben die Angabe einer DAVPARAMS-Struktur als einfache Übergabeparameter zur Steuerung des Import/Exportvorgangs. Nur bei diesen Funktionen kann die Anwendung selbst einen Zeiger auf eine DAVPARAMS-Struktur vorgeben.

Andere DaVinci – Funktionen erfordern die Zuordnung eines Zeigers auf eine DAVPARAMS-Struktur mit der Funktion ipDavParamsAlloc, um Versionssicherheit mit zukünftigen DaVinci-Updates zu gewährleisten.

Von der Anwendung nicht benötigte Strukturelemente sollten mit 0 initialisiert werden. Das Feld dwStructSize ist grundsätzlich immer auszufüllen.

Beispiele

C-Beispiel

DAVPARAMS	par;
memset(&par, 0, sizeof(par));
par.dwStructSize = sizeof(par);

Pascal-Beispiel

var par	: DAVPARAMS;
begin
   FillChar(par, sizeof(par), 0);
   par.dwStructSize := sizeof(par);