Alphabetical Class Index   File Members   Compound Members   File List  

HIOUtilityGDIOutput.h
Go to the documentation of this file.
1 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
13 #ifndef _HIO_UTILITY_GDIOUTPUT_H
14 #define _HIO_UTILITY_GDIOUTPUT_H
15 
16 #include "HTools.h"
17 #include "HIOManager.h"
18 #include "HMFCGlobals.h"
19 #include "utf_utils.h"
20 
21 // msw driver specific driver_option debug flags
22 
30 #define DEBUG_FORCE_FULL_COLOR 0x00000010
31 
36 #define DEBUG_NO_WINDOWS_HOOK 0x00000040
37 
43 #define DEBUG_SFB_COPY_TO_CLIPBOARD 0x00004000
44 
49 #define DEBUG_NO_RASTERS_IN_PRINTING 0x00020000
50 
55 #define DEBUG_PRINTING_MODE 0x00040000
56 
62 #define DEBUG_PRINT_NOT_FRAMEBUFFER_MODE 0x00020000
63 
64 
69 #define DEBUG_PRINT_NOT_RASTER_REDUCTION 0x00200000
70 
75 #define DEBUG_FORCE_SOFTWARE 0x01000000
76 
82 #define DEBUG_NO_PAINTERS_PANELLING 0x00000008
83 
89 public:
90 
91  /* Initialize the references in this structure to refer to the matching field
92  * in the parent class. This is for supporting legacy code prior to v15. */
101  {
102  clipBoard = false;
103  rasterOutput = false;
104  windowID = 0;
105  deviceContext = attribDC = 0;
106  }
107 
109  HDC attribDC;
111  bool clipBoard;
112  void* windowID;
113 
117  float & Height;
118  float & Width;
119  int & image_dpi;
120 };
121 
123 
125 
145 #ifdef SWIG
146 class MVO_API HIOUtilityGDIOutput : public HOutputHandler
147 #else
148 class HMFC_API HIOUtilityGDIOutput : public HOutputHandler
149 #endif
150 {
151 
152 public:
153 
155  SetOutputOps(HOutputOpFileOutputByKey);
156  };
157  virtual ~HIOUtilityGDIOutput() {;}
158 
161  HIORegisterOutputType("emf", this);
162  }
163 
164  const char * GetOutputName() { return "HIOUtilityGDIOutput"; }
165 
169  const char * GetOutputTypesString() {return "emf";}
170 
177  HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;}
178 
188  HFileOutputResult FileOutputByKey(const char * FileName, HC_KEY key, HOutputHandlerOptions * options){
189  return FileOutputByKey(H_WCS(FileName).encodedText(), key, options);
190  }
191  HFileOutputResult FileOutputByKey(unsigned short const * FileName, HC_KEY key, HOutputHandlerOptions * options){
192  H_UTF16 utf16;
193  utf16.encodedText((utf16_char const*) FileName);
194  return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
195  }
196  HFileOutputResult FileOutputByKey(const __wchar_t * FileName, HC_KEY key, HOutputHandlerOptions * options);
197 
207  HFileOutputResult DoClipBoard(const wchar_t * FileName, HC_KEY key, GDIExportInformation * options);
208 
218  HFileOutputResult DoPrinter(const wchar_t * FileName, HC_KEY key, GDIExportInformation * options);
219 
221  HFileOutputResult FileOutputFromImageKey(const char * FileName, HC_KEY key, HOutputHandlerOptions * options){
222  UNREFERENCED(FileName);
223  UNREFERENCED(key);
224  UNREFERENCED(options);
225  return OutputNotHandled;
226  }
227  HFileOutputResult FileOutputFromImageKey(unsigned short const * FileName, HC_KEY key, HOutputHandlerOptions * options){
228  UNREFERENCED(FileName);
229  UNREFERENCED(key);
230  UNREFERENCED(options);
231  return OutputNotHandled;
232  }
233  HFileOutputResult FileOutputFromImageKey(const __wchar_t * FileName, HC_KEY key, HOutputHandlerOptions * options){
234  UNREFERENCED(FileName);
235  UNREFERENCED(key);
236  UNREFERENCED(options);
237  return OutputNotHandled;
238  }
239 
240 private:
241 
242 };
243 
244 
245 
246 #endif
247 
248 
249 
HFileOutputResult FileOutputByKey(const char *FileName, HC_KEY key, HOutputHandlerOptions *options)
Definition: HIOUtilityGDIOutput.h:188
#define HOutputOpFileOutputByKey
float & Width
Legacy code! Please do not use this. See HOutputHandlerOptions.
Definition: HIOUtilityGDIOutput.h:118
bool rasterOutput
True if raster output is supported by device context.
Definition: HIOUtilityGDIOutput.h:110
bool & bUseWindowColor
Legacy code! Please do not use this. See HOutputHandlerOptions.
Definition: HIOUtilityGDIOutput.h:116
HFileOutputResult DoClipBoard(const wchar_t *FileName, HC_KEY key, GDIExportInformation *options)
HOutputHandlerStyle
HDC deviceContext
Windows Device Context.
Definition: HIOUtilityGDIOutput.h:108
Definition: HIOUtilityGDIOutput.h:88
void RegisterOutputHandlerTypes()
registers the 'emf' output type
Definition: HIOUtilityGDIOutput.h:160
HOutputHandlerStyle GetOutputStyle()
Definition: HIOUtilityGDIOutput.h:177
The HIOUtilityGDIOutput class should be used for exporting data to a Windows Printer or Clipboard Dev...
Definition: HIOUtilityGDIOutput.h:148
bool & bConserveMemory
Legacy code! Please do not use this. See HOutputHandlerOptions.
Definition: HIOUtilityGDIOutput.h:115
void * windowID
ID of window.
Definition: HIOUtilityGDIOutput.h:112
#define HIORegisterOutputType(type, output_object)
bool & bForceGrayscale
Legacy code! Please do not use this. See HOutputHandlerOptions.
Definition: HIOUtilityGDIOutput.h:114
HFileOutputResult FileOutputFromImageKey(const char *FileName, HC_KEY key, HOutputHandlerOptions *options)
Definition: HIOUtilityGDIOutput.h:221
const char * GetOutputTypesString()
Definition: HIOUtilityGDIOutput.h:169
HFileOutputResult DoPrinter(const wchar_t *FileName, HC_KEY key, GDIExportInformation *options)
int & image_dpi
Legacy code! Please do not use this. See HOutputHandlerOptions.
Definition: HIOUtilityGDIOutput.h:119
bool clipBoard
True if device context is a clipboard.
Definition: HIOUtilityGDIOutput.h:111
HDC attribDC
The attribute device context for the CDC object.
Definition: HIOUtilityGDIOutput.h:109
float & Height
Legacy code! Please do not use this. See HOutputHandlerOptions.
Definition: HIOUtilityGDIOutput.h:117