Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6render.h
Go to the documentation of this file.
1 
9 #ifndef P6IRENDER_H__
10 #define P6IRENDER_H__ 1
11 
12 #include "p6com.h"
13 
14 #ifdef __cplusplus
15 namespace P6R {
16 extern "C" {
17 #endif
18 
20  static const P6RENDERFLAGS P6RF_NOFLAGS = 0x00000000;
21  static const P6RENDERFLAGS P6RF_OUTPUTFRAGMENT = 0x00000001;
22  static const P6RENDERFLAGS P6RF_NOCOLHDRSFTRS = 0x00000002;
25  static const P6RENDERCOLFLAGS P6RCF_NOFLAGS = 0x00000000;
26  static const P6RENDERCOLFLAGS P6RCF_ALIGNHDRCENTER = 0x00000001;
27  static const P6RENDERCOLFLAGS P6RCF_ALIGNHDRLEFT = 0x00000002;
28  static const P6RENDERCOLFLAGS P6RCF_ALIGNDATACENTER = 0x00000004;
29  static const P6RENDERCOLFLAGS P6RCF_ALIGNDATALEFT = 0x00000008;
30  static const P6RENDERCOLFLAGS P6RCF_TOTAL = 0x00000010;
31  static const P6RENDERCOLFLAGS P6RCF_TOTALKBMB = 0x00000020;
34  typedef struct {
37  P6RENDERCOLFLAGS m_fFlags;
39 
54  #undef INTERFACE
55  #define INTERFACE p6IRender
57  {
59 
90  P6DECLCOMMETHOD(initialize)(P6THIS_ const P6WCHAR *pszMimeType,P6RENDERCOLDEF *pColDefArray,P6SIZE cColDefArray,p6IDataStream *pOutStream,P6RENDERFLAGS fFlags) P6PURE;
91  P6DECLCOMMETHOD(setProlog)(P6THIS_ const P6WCHAR *pszText) P6PURE;
92  P6DECLCOMMETHOD(setEvenRowDecoration)(P6THIS_ const P6WCHAR *pszBeginRow,const P6WCHAR *pszEndRow) P6PURE;
93  P6DECLCOMMETHOD(setOddRowDecoration)(P6THIS_ const P6WCHAR *pszBeginRow,const P6WCHAR *pszEndRow) P6PURE;
94  P6DECLCOMMETHOD(setHdrColDecoration)(P6THIS_ const P6R::P6WCHAR *pszBeginHdrCol,const P6R::P6WCHAR *pszEndHdrCol) P6PURE;
95  P6DECLCOMMETHOD(setColDecoration)(P6THIS_ const P6WCHAR *pszBeginCol,const P6WCHAR *pszEndCol) P6PURE;
96  P6DECLCOMMETHOD(setColSeparator)(P6THIS_ const P6WCHAR chColSeparator) P6PURE;
97  P6DECLCOMMETHOD(setEpilog)(P6THIS_ const P6WCHAR *pszText) P6PURE;
99  P6DECLCOMMETHOD(setData)(P6THIS_ P6SIZE nColumnIndex,P6ARG *pArg) P6PURE;
100  P6DECLCOMMETHOD(render)(P6THIS) P6PURE;
102  P6DECLCOMMETHOD(getRowCount)(P6THIS_ P6SIZE *pRowCount) P6PURE;
103  P6DECLCOMMETHOD(getMimeType)(P6THIS_ P6WCHAR *pBuffer,P6SIZE cBuffer) P6PURE;
104  };
105  /* {20796A9D-6847-4549-A148-130ADDF73B5B} */
106  #define IF_p6IRender {0x20796A9D,0x6847,0x4549,{0xA1,0x48,0x13,0x0A,0xDD,0xF7,0x3B,0x5B}}
107 
108  /* {E0110D48-3E87-4AF9-F3B4-9F6D16D2AABC} */
109  #define COMP_p6Render {0xE0110D48,0x3E87,0x4AF9,{0xF3,0xB4,0x9F,0x6D,0x16,0xD2,0xAA,0xBC}}
110 
111 
112  #undef INTERFACE
113  #define INTERFACE p6IRenderEngine
115  {
117 
118  P6DECLCOMMETHOD(initialize)(P6THIS_ const P6RENDERCOLDEF *pColDefArray,P6SIZE cColDefArray,P6R::p6IDataStream *pOutStream,P6R::P6RENDERFLAGS fFlags) P6PURE;
119  P6DECLCOMMETHOD(matchMimeType)(P6THIS_ const P6WCHAR *pszMimeType) P6PURE;
120  P6DECLCOMMETHOD(setProlog)(P6THIS_ const P6WCHAR *pszText) P6PURE;
121  P6DECLCOMMETHOD(setEvenRowDecoration)(P6THIS_ const P6WCHAR *pszBeginRow,const P6WCHAR *pszEndRow) P6PURE;
122  P6DECLCOMMETHOD(setOddRowDecoration)(P6THIS_ const P6WCHAR *pszBeginRow,const P6WCHAR *pszEndRow) P6PURE;
123  P6DECLCOMMETHOD(setHdrColDecoration)(P6THIS_ const P6R::P6WCHAR *pszBeginHdrCol,const P6R::P6WCHAR *pszEndHdrCol) P6PURE;
124  P6DECLCOMMETHOD(setColDecoration)(P6THIS_ const P6WCHAR *pszBeginCol,const P6WCHAR *pszEndCol) P6PURE;
125  P6DECLCOMMETHOD(setColSeparator)(P6THIS_ const P6WCHAR chColSeparator) P6PURE;
126  P6DECLCOMMETHOD(setEpilog)(P6THIS_ const P6WCHAR *pszText) P6PURE;
127  P6DECLCOMMETHOD(begin)(P6THIS) P6PURE;
128  P6DECLCOMMETHOD(setData)(P6THIS_ P6SIZE nColumnIndex,P6ARG *pArg) P6PURE;
129  P6DECLCOMMETHOD(render)(P6THIS) P6PURE;
131  P6DECLCOMMETHOD(getRowCount)(P6THIS_ P6SIZE *pRowCount) P6PURE;
132  };
133 
135  #define IF_p6IRenderEngine {0xF75A2B5A,0x247A,0x42B6,{0x97,0x4A,0x42,0x7D,0xEB,0xDC,0x30,0x38}}
136 
138  #define CAT_p6RenderEngines {0xF8B6194B,0x5CFA,0x424B,{0x85,0x39,0xF1,0x00,0xA5,0x74,0x71,0x00}}
139 
140 #ifdef __cplusplus
141 } // extern "C"
142 } //namespace
143 #endif
144 
145 #endif
146 
147 
P6RENDERCOLFLAGS m_fFlags
Column control flags.
Definition: p6render.h:37
size_t P6SIZE
Definition: p6types.h:90
A columnar text mode rendering interface that allows data to be rendered in columns using one of seve...
Definition: p6render.h:56
uint32_t P6UINT32
Definition: p6types.h:77
#define P6DECLAREICOM
Definition: p6defs.h:191
#define P6PURE
Definition: p6defs.h:192
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:111
This interface is implmented by components that support receiving streamed data.
Definition: p6datastream.h:44
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
const P6WCHAR * m_pszHeaderText
The column header text to display for this column.
Definition: p6render.h:35
P6SIZE m_cWidth
For tex/plain only, the width of this column in characters.
Definition: p6render.h:36
P6UINT32 P6RENDERFLAGS
Definition: p6render.h:19
P6UINT32 P6RENDERCOLFLAGS
Definition: p6render.h:24
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:189
#define P6THIS_
Definition: p6defs.h:193
P6COM definitions and interfaces.
#define P6THIS
Definition: p6defs.h:194
Argument definition.
Definition: p6types.h:591
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:188