00001 // 00002 // Copyright (c) 2000 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 00016 #ifndef _HIO_UTILITY_GDIOUTPUT_H 00017 #define _HIO_UTILITY_GDIOUTPUT_H 00018 00019 #include "HTools.h" 00020 #include "HIOManager.h" 00021 00022 00027 #define HMFC_API 00028 // msw driver specific driver_option debug flags 00029 00037 #define DEBUG_FORCE_FULL_COLOR 0x00000010 00038 00043 #define DEBUG_NO_WINDOWS_HOOK 0x00000040 00044 00050 #define DEBUG_SFB_COPY_TO_CLIPBOARD 0x00004000 00051 00056 #define DEBUG_NO_RASTERS_IN_PRINTING 0x00020000 00057 00062 #define DEBUG_PRINTING_MODE 0x00040000 00063 00068 #define DEBUG_CLIPBOARD_MODE 0x00080000 00069 00070 00076 #define DEBUG_PRINT_NOT_FRAMEBUFFER_MODE 0x00020000 00077 00078 00083 #define DEBUG_PRINT_NOT_RASTER_REDUCTION 0x00200000 00084 00089 #define DEBUG_FORCE_SOFTWARE 0x01000000 00090 00096 #define DEBUG_NO_PAINTERS_PANELLING 0x00000008 00097 00098 00103 typedef struct GDIExportInformation { 00104 HDC deviceContext; 00105 HDC attribDC; 00106 bool rasterOutput; 00107 bool clipBoard; 00108 void* windowID; 00109 } GDIExportInformation; 00110 00111 00113 00126 class HMFC_API HIOUtilityGDIOutput: public HOutputHandler 00127 { 00128 00129 public: 00130 00131 HIOUtilityGDIOutput() { 00132 SetOutputOps(HOutputOpFileOutputByKey); 00133 }; 00134 virtual ~HIOUtilityGDIOutput() {;}; 00135 00137 void RegisterOutputHandlerTypes() { 00138 HIORegisterOutputType("emf", this); 00139 } 00140 00144 const char * GetOutputTypesString() {return "emf";}; 00145 00146 00147 const char * GetOutputName() { return "HIOUtilityGDIOutput"; } 00148 00152 HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;}; 00153 00163 HFileOutputResult FileOutputByKey(const char * FileName, HC_KEY key, HOutputHandlerOptions * options); 00164 00165 HFileOutputResult FileOutputByKey(const __wchar_t * FileName, HC_KEY key, HOutputHandlerOptions * options) 00166 { 00167 return FileOutputByKey(H_ASCII_TEXT(FileName), key, options); 00168 00169 } 00170 00171 00172 private: 00173 00174 }; 00175 00176 00177 00178 #endif 00179 00180 00181