Herd Software Development
DaVinci Graphics Library
DaVinci Documentation
The ipExportInd function exports a DIB, metafile or enhanced metafile used internally with DaVinci in one the supported output formats.
IPERROR FAR PASCAL ipExportInd(
LPDAVPARAMS lpDavParams);
lpDavParams LPDAVPARAMS Pointer to a DAVPARAMS structure containing the specifications of the image to be exported.
Returns 0 on success; otherwise returns an error corresponding to one of the IPE_xxxx error codes.
Applications using this function must fill in the appropriate members of the DAVPARAMS structur before calling ipExportInd.
Applications only need to fill in DAVPARAMS members required for the actual conversion. All other fields should be set to 0.
The following members must be assigned appropriate values prior to executing ipExportInd:
The ipExportInd function does not free the handles transfered. The application is responsible for freeing the memory allocated by the handles by calling GlobalFree, DeleteMetaFile and DeleteEnhMetaFile respectively.
/* FrameCMFileSave * * Save a graphic file in another format */ void static FrameCMFileSave(HWND hWnd) { METARESOLUTION mr; HDIB hDIB = (HDIB) SendMessage(hwClient, IMM_GETDIB , 0, 0L); HMETAFILE hMetaFile = (HMETAFILE) SendMessage(hwClient, IMM_GETMETAFILE, 0, (LPARAM)(LPSTR)&mr); # ifdef __WIN32__ HENHMETAFILE hEnhMetaFile= (HENHMETAFILE)SendMessage(hwClient, IMM_GETENHMETAFILE, 0, 0); # endif DAVPARAMS DavParams; # ifdef __WIN32__ if (hDIB || hMetaFile || hEnhMetaFile) # else if (hDIB || hMetaFile) # endif { memset(&DavParams, 0, sizeof(DavParams)); DavParams.dwStructSize = sizeof(DAVPARAMS); DavParams.dwFlags = IPF_DIB | IPF_META | IPF_MSGBOX | IPF_COMPRESS | IPF_FILEDIALOG; // Ask for filename, display error messages, all data firmats, compress if possible DavParams.lpszFileName = NULL; // Ask for filename from user DavParams.dwFileType = IPT_SELECT; // Ask user for file type DavParams.hDIB = hDIB; // Metafile handle DavParams.hMetaFile = hMetaFile; // metafile handle DavParams.MetaResolution= mr; // Metric size definition # ifdef __WIN32__ DavParams.hEnhMetaFile = hEnhMetaFile; // enhanced metafile handle # endif ipExportInd(&DavParams); } } // FrameCMFileSave