home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Houseplan Collection
/
HRCD2005.ISO
/
data1.cab
/
Zusatz
/
3DS
/
DATA2.Z
/
MakroUtil.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-11-02
|
2KB
|
58 lines
/*
* MakroUtilities - Hilfsfunktionen fⁿr ArCon Makros
*/
#ifndef MakroUtil_h
#define MakroUtil_h
struct IPicture;
#ifdef __cplusplus
extern "C" {
#endif
#define MAKROUTIL_LIBNAME TEXT("MakroUtil.dll")
/*
* Liefert die Version der MakroUtil DLL.
*/
BOOL WINAPI ArConUtilityVersion(
DWORD * versMajor, /* Hauptversion der DLL, derzeit 0 */
DWORD * versMinor); /* Unterversion der DLL, derzeit 1 */
/*
* Wandelt ein Bitmap-Handle in die ArCon-Makro interne Darstellung
* als VARIANT um. Der Aufrufer mu▀ das VARIANT nach Benutzung
* wieder aufrΣumen (mit Hilfe der Funktion "VariantClear").
*/
BOOL WINAPI ArConPictureFromBitmap(
HBITMAP hBmp, /* Handle des an ArCon zu ⁿbergebenden Bitmaps */
VARIANT * var); /* VARIANT, das das Bitmap in der ArCon internen Kodierung aufnimmt */
/*
* Das ArCon-interne Bildformat ist ein SafeArray aus BYTE's (Kennung: VT_ARRAY|VT_UI1).
* Es enthΣlt in den ersten vier Byte in Intel Byte-Order den 'Offset' als DWORD.
* Daran schlie▀t sich ein BITMAPINFO an, gefolgt von einer variablen Anzahl von Palletten-
* EintrΣgen. Bei 'Offset'+sizeof(DWORD) folgen dann die DIB Daten. Wenn 'data' ein Zeiger
* auf den Inhalt des SafeArrays ist (vom Typ LPBYTE), k÷nnen die Daten aus dem Array
* mit folgendem Aufruf entnommen werden:
*
* BITMAPINFO *bmInfo = (BITMAPINFO*)(data+sizeof(DWORD));
* SetDIBits(dc, bmp, 0, bmInfo->bmiHeader.biHeight, data+offset+sizeof(DWORD), bmInfo, DIB_RGB_COLORS);
*/
/*
* Wandelt ein Safe-Array in interner ArCon-Kodierung um und erzeugt daraus
* ein Bitmap-Handle. Der Aufrufer mu▀ das Bitmap-Handle spΣter wieder freigeben.
*/
HBITMAP WINAPI BitmapFromArConPicture(
const VARIANT * var); /* VARIANT, das das Bitmap in der ArCon internen Kodierung enthΣlt */
IPicture * WINAPI PictureFromArConPicture(
const VARIANT * var); /* VARIANT, das das Bitmap in der ArCon internen Kodierung enthΣlt */
#ifdef __cplusplus
}
#endif
#endif