home *** CD-ROM | disk | FTP | other *** search
/ The Houseplan Collection / HRCD2005.ISO / data1.cab / Zusatz / 3DS / DATA2.Z / MakroUtil.h < prev    next >
C/C++ Source or Header  |  1998-11-02  |  2KB  |  58 lines

  1. /*
  2.  * MakroUtilities - Hilfsfunktionen fⁿr ArCon Makros
  3.  */
  4.  
  5. #ifndef MakroUtil_h
  6. #define MakroUtil_h
  7.  
  8. struct IPicture;
  9.  
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13.  
  14. #define MAKROUTIL_LIBNAME   TEXT("MakroUtil.dll")
  15.  
  16. /*
  17.  * Liefert die Version der MakroUtil DLL.
  18.  */
  19. BOOL WINAPI ArConUtilityVersion(
  20.   DWORD * versMajor,    /* Hauptversion der DLL, derzeit 0 */
  21.   DWORD * versMinor);   /* Unterversion der DLL, derzeit 1 */
  22.  
  23. /*
  24.  * Wandelt ein Bitmap-Handle in die ArCon-Makro interne Darstellung
  25.  * als VARIANT um. Der Aufrufer mu▀ das VARIANT nach Benutzung 
  26.  * wieder aufrΣumen (mit Hilfe der Funktion "VariantClear").
  27.  */
  28. BOOL WINAPI ArConPictureFromBitmap(
  29.   HBITMAP hBmp,     /* Handle des an ArCon zu ⁿbergebenden Bitmaps */
  30.   VARIANT * var);   /* VARIANT, das das Bitmap in der ArCon internen Kodierung aufnimmt */
  31.  
  32. /*
  33.  * Das ArCon-interne Bildformat ist ein SafeArray aus BYTE's (Kennung: VT_ARRAY|VT_UI1).
  34.  * Es enthΣlt in den ersten vier Byte in Intel Byte-Order den 'Offset' als DWORD.
  35.  * Daran schlie▀t sich ein BITMAPINFO an, gefolgt von einer variablen Anzahl von Palletten-
  36.  * EintrΣgen. Bei 'Offset'+sizeof(DWORD) folgen dann die DIB Daten. Wenn 'data' ein Zeiger
  37.  * auf den Inhalt des SafeArrays ist (vom Typ LPBYTE), k÷nnen die Daten aus dem Array 
  38.  * mit folgendem Aufruf entnommen werden:
  39.  *
  40.  *  BITMAPINFO *bmInfo = (BITMAPINFO*)(data+sizeof(DWORD));
  41.  *  SetDIBits(dc, bmp, 0, bmInfo->bmiHeader.biHeight, data+offset+sizeof(DWORD), bmInfo, DIB_RGB_COLORS);
  42.  */
  43.  
  44. /*
  45.  * Wandelt ein Safe-Array in interner ArCon-Kodierung um und erzeugt daraus
  46.  * ein Bitmap-Handle. Der Aufrufer mu▀ das Bitmap-Handle spΣter wieder freigeben.
  47.  */
  48. HBITMAP WINAPI BitmapFromArConPicture(
  49.   const VARIANT * var); /* VARIANT, das das Bitmap in der ArCon internen Kodierung enthΣlt */
  50.  
  51. IPicture * WINAPI PictureFromArConPicture(
  52.   const VARIANT * var); /* VARIANT, das das Bitmap in der ArCon internen Kodierung enthΣlt */
  53.  
  54. #ifdef __cplusplus
  55. }
  56. #endif
  57.  
  58. #endif