WmfModule.h
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:4k
源码类别:

图形图象

开发平台:

Visual C++

  1. /********************************************************************
  2. WmfModule.h - ISee图像浏览器—WMF图像读写模块声明文件
  3.           
  4.     版权所有(C) 2000 VCHelp-coPathway-ISee workgroup member - YZ
  5.     这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用公共许
  6. 可证条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根
  7. 据你的选择)用任何更新的版本。
  8.     发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
  9. 目地的隐含的担保。更详细的情况请参阅GNU通用公共许可证。
  10.     你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,
  11. 写信给:
  12.     The Free Software Foundation, Inc.,  675  Mass Ave,  Cambridge,
  13.     MA02139,  USA
  14. 如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
  15. 系:
  16. http://isee.126.com
  17. http://www.vchelp.net
  18. 或:
  19. iseesoft@china.com
  20. 编写人:YZ
  21. E-Mail:yzfree@sina.com 或 yzfree@yeah.net
  22. 文件版本:
  23. Beta 1.1
  24. Build 00622
  25. Date  2000-6-22
  26. ********************************************************************/
  27. #if !defined(AFX_WMFMODULE_H__1F7E1FC5_389C_11D4_8F4C_34E809C10000__INCLUDED_)
  28. #define AFX_WMFMODULE_H__1F7E1FC5_389C_11D4_8F4C_34E809C10000__INCLUDED_
  29. #if _MSC_VER >= 1000
  30. #pragma once
  31. #endif // _MSC_VER >= 1000
  32. #ifndef __AFXWIN_H__
  33. #error include 'stdafx.h' before including this file for PCH
  34. #endif
  35. #include "resource.h" // main symbols
  36. #include "..publicgol_isee.h"
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CWmfModuleApp
  39. // See WmfModule.cpp for the implementation of this class
  40. //
  41. class CWmfModuleApp : public CWinApp
  42. {
  43. public:
  44. CWmfModuleApp();
  45. // Overrides
  46. // ClassWizard generated virtual function overrides
  47. //{{AFX_VIRTUAL(CWmfModuleApp)
  48. //}}AFX_VIRTUAL
  49. //{{AFX_MSG(CWmfModuleApp)
  50. // NOTE - the ClassWizard will add and remove member functions here.
  51. //    DO NOT EDIT what you see in these blocks of generated code !
  52. //}}AFX_MSG
  53. DECLARE_MESSAGE_MAP()
  54. };
  55. #define WMF_MODULE_BUILDID 11
  56. #define METAFILE_VERSION 1
  57. #define ALDUSKEY 0x9AC6CDD7
  58. #define ALDUSMFHEADERSIZE 22
  59. #define DIBSCANLINE_WIDTHBYTES(bits)    (((bits)+31)/32*4)
  60. #define RWBLOCKSIZE 4096 // 读写操作的最小单位
  61. #define RWPROGRESSSIZE 100 // 总的进度条值,此值不能改动!
  62. // 可放置元文件数据定义
  63. typedef struct tagOLDRECT
  64. {
  65.     short left;
  66.     short top;
  67.     short right;
  68.     short bottom;
  69. } OLDRECT;
  70. // 可放置元文件头结构
  71. typedef struct 
  72. {
  73.     DWORD   key; // 必需等于ALDUSKEY
  74.     WORD hmf;
  75.     OLDRECT bbox;
  76.     WORD    inch;
  77.     DWORD   reserved;
  78.     WORD    checksum;
  79. } ALDUSMFHEADER;
  80. // WMF模块内部信息结构(存放于数据包中的pImgInfo中)
  81. // 如果客户程序想读取这些数据,可将该结构定义复制到客户程序的
  82. // 包含文件中,然后访问数据包中的pImgInfo(在读取图像数据命令
  83. // 之后才有效)。
  84. typedef struct
  85. {
  86. int format; // 具体的格式:0-老式的Windows元文件,1-可放置元文件
  87. int inchto; // 文件单位到英寸单位的转换因子
  88. int x1,y1,x2,y2;// 文件单位的图像尺寸(矩形坐标形式)
  89. // 注:如果format成员的值是0,则这四个变量是像素单位的。
  90. float whgene; // 宽高比因子
  91. } WMFADDINFO, *LPWMFADDINFO;
  92. // 接口函数声明 — 第一层,唯一与外界联系的接口
  93. int WINAPI AccessWMFModule(INFOSTR *pInfo);
  94. // 命令解释函数 — 第二层解释函数
  95. void _fnCMD_GETPROCTYPE(INFOSTR *pInfo);
  96. void _fnCMD_GETWRITERS(INFOSTR *pInfo);
  97. void _fnCMD_GETWRITERMESS(INFOSTR *pInfo);
  98. void _fnCMD_GETBUILDID(INFOSTR *pInfo);
  99. void _fnCMD_IS_VALID_FILE(INFOSTR *pInfo);
  100. void _fnCMD_GET_FILE_INFO(INFOSTR *pInfo);
  101. void _fnCMD_LOAD_FROM_FILE(INFOSTR *pInfo);
  102. void _fnCMD_SAVE_TO_FILE(INFOSTR *pInfo);
  103. void _fnCMD_IS_SUPPORT(INFOSTR *pInfo);
  104. void _fnCMD_RESIZE(INFOSTR *pInfo);
  105. // 内部执行函数 - 第三层.
  106. BOOL IsFileExist(char *lpFileName);
  107. BOOL Read(INFOSTR *pInfo, HENHMETAFILE *pHEnhMeta);
  108. /////////////////////////////////////////////////////////////////////////////
  109. //{{AFX_INSERT_LOCATION}}
  110. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  111. #endif // !defined(AFX_WMFMODULE_H__1F7E1FC5_389C_11D4_8F4C_34E809C10000__INCLUDED_)