home *** CD-ROM | disk | FTP | other *** search
/ The Houseplan Collection / HRCD2005.ISO / data1.cab / Zusatz / 3DS / DATA2.Z / MakroUtil.pas < prev    next >
Pascal/Delphi Source File  |  1998-08-05  |  2KB  |  44 lines

  1. (*
  2.  * MakroUtilities - Hilfsfunktionen fⁿr ArCon Makros
  3.  *)
  4.  
  5. Unit MakroUtil;
  6.  
  7. interface uses Windows;
  8.  
  9. Function ArConUtilityVersion(
  10.   Var versMajor : DWORD;    (* Hauptversion der DLL, derzeit 0 *)
  11.   Var versMinor : DWORD     (* Unterversion der DLL, derzeit 0 *)
  12.   ): BOOL stdcall;
  13.  
  14.  
  15. (*
  16.  * Wandelt ein Bitmap-Handle in die ArCon-Makro interne Darstellung
  17.  * als VARIANT um. Der Aufrufer mu▀ das VARIANT nach Benutzung
  18.  * wieder aufrΣumen (mit Hilfe der Funktion "VariantClear").
  19.  *)
  20. Function ArConPictureFromBitmap(
  21.   hBmp : HBITMAP;     (* Handle des an ArCon zu ⁿbergebenden Bitmaps *)
  22.   Var v : VARIANT     (* VARIANT, das das Bitmap in der ArCon internen Kodierung aufnimmt *)
  23.   ): BOOL stdcall;
  24.  
  25. (*
  26.  * Das ArCon-interne Bildformat ist ein SafeArray aus BYTE's (Kennung: VT_ARRAY|VT_UI1).
  27.  * Es enthΣlt in den ersten vier Byte in Intel Byte-Order den 'Offset' als DWORD.
  28.  * Daran schlie▀t sich ein BITMAPINFO an, gefolgt von einer variablen Anzahl von Palletten-
  29.  * EintrΣgen. Bei 'Offset'+sizeof(DWORD) folgen dann die DIB Daten. Wenn 'data' ein Zeiger
  30.  * auf den Inhalt des SafeArrays ist (vom Typ LPBYTE), k÷nnen die Daten aus dem Array
  31.  * mit folgendem Aufruf entnommen werden:
  32.  *
  33.  *  BITMAPINFO *bmInfo = (BITMAPINFO * )(data+sizeof(DWORD));
  34.  *  SetDIBits(dc, bmp, 0, bmInfo->bmiHeader.biHeight, data+offset+sizeof(DWORD), bmInfo, DIB_RGB_COLORS);
  35.  *)
  36.  
  37. implementation
  38.  
  39. Function ArConUtilityVersion;    external 'MakroUtil.dll';
  40. Function ArConPictureFromBitmap; external 'MakroUtil.dll';
  41.  
  42.  
  43. End.
  44.