00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00013 #ifndef _HIO_UTILITY_GDIOUTPUT_H 00014 #define _HIO_UTILITY_GDIOUTPUT_H 00015 00016 #include "HTools.h" 00017 #include "HIOManager.h" 00018 00019 00024 #define HMFC_API 00025 // msw driver specific driver_option debug flags 00026 00034 #define DEBUG_FORCE_FULL_COLOR 0x00000010 00035 00040 #define DEBUG_NO_WINDOWS_HOOK 0x00000040 00041 00047 #define DEBUG_SFB_COPY_TO_CLIPBOARD 0x00004000 00048 00053 #define DEBUG_NO_RASTERS_IN_PRINTING 0x00020000 00054 00059 #define DEBUG_PRINTING_MODE 0x00040000 00060 00065 #define DEBUG_CLIPBOARD_MODE 0x00080000 00066 00067 00073 #define DEBUG_PRINT_NOT_FRAMEBUFFER_MODE 0x00020000 00074 00075 00080 #define DEBUG_PRINT_NOT_RASTER_REDUCTION 0x00200000 00081 00086 #define DEBUG_FORCE_SOFTWARE 0x01000000 00087 00093 #define DEBUG_NO_PAINTERS_PANELLING 0x00000008 00094 00095 00100 typedef struct GDIExportInformation { 00101 HDC deviceContext; 00102 HDC attribDC; 00103 bool rasterOutput; 00104 bool clipBoard; 00105 void* windowID; 00106 } GDIExportInformation; 00107 00108 00110 00123 class HMFC_API HIOUtilityGDIOutput: public HOutputHandler 00124 { 00125 00126 public: 00127 00128 HIOUtilityGDIOutput() { 00129 SetOutputOps(HOutputOpFileOutputByKey); 00130 }; 00131 virtual ~HIOUtilityGDIOutput() {;}; 00132 00134 void RegisterOutputHandlerTypes() { 00135 HIORegisterOutputType("emf", this); 00136 } 00137 00141 const char * GetOutputTypesString() {return "emf";}; 00142 00143 00144 const char * GetOutputName() { return "HIOUtilityGDIOutput"; } 00145 00149 HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;}; 00150 00160 HFileOutputResult FileOutputByKey(const char * FileName, HC_KEY key, HOutputHandlerOptions * options); 00161 00162 HFileOutputResult FileOutputByKey(const __wchar_t * FileName, HC_KEY key, HOutputHandlerOptions * options) 00163 { 00164 return FileOutputByKey(H_ASCII_TEXT(FileName), key, options); 00165 00166 } 00167 00168 00170 HFileOutputResult FileOutputFromImageKey(const char * FileName, HC_KEY key, HOutputHandlerOptions * options){return OutputNotHandled;}; 00171 00172 private: 00173 00174 }; 00175 00176 00177 00178 #endif 00179 00180 00181