00001
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 #ifndef INC_RVC_THEMEPRM_H
00069 #define INC_RVC_THEMEPRM_H
00070
00071 #ifndef INC_RVC_SIMPLE_H
00072 #include <rvc/simple.h>
00073 #endif
00074
00075 #ifndef INC_MI32_COLOR_H
00076 #include <mi32/color.h>
00077 #endif
00078
00079 namespace RVC {
00080
00081 class THEMEPARM : public RVC::SIMPLE {
00082 public:
00083
00084 struct DATA {
00085 enum DISTRIB {
00086 DISTRIB_UserDefined = 0,
00087 DISTRIB_EqualCount,
00088 DISTRIB_EqualInterval,
00089 DISTRIB_Normalize,
00090 DISTRIB_GOVF
00091 };
00092
00093 enum ATTRIBCOUNT {
00094 ATTRIBCOUNT_ByReference = 0,
00095 ATTRIBCOUNT_ElemSizes,
00096 ATTRIBCOUNT_AllRecords
00097 };
00098
00099 enum ROUNDMODE {
00100 ROUNDMODE_None = 0,
00101 ROUNDMODE_Closest,
00102 ROUNDMODE_Down,
00103 ROUNDMODE_Up
00104 };
00105
00106 enum COLORPATH {
00107 COLORPATH_Auto = 0,
00108 COLORPATH_RGB,
00109 COLORPATH_HISCW,
00110 COLORPATH_HISCCW,
00111 COLORPATH_HBSCW,
00112 COLORPATH_HBSCCW,
00113 COLORPATH_MaxAuto = COLORPATH_HBSCCW
00114 };
00115
00116 struct STATSVIEW {
00117 UINT8 ScaleLog;
00118 UINT8 Envelope;
00119 UINT8 ScaleLogH;
00120 };
00121
00122 struct SPREAD {
00123 INT16 MinClass;
00124 INT16 MaxClass;
00125 UINT8 AllClasses;
00126 UINT8 DoColor;
00127 UINT8 ColorPath;
00128 UINT8 PointByStyle;
00129 UINT8 LineByStyle;
00130 UINT8 PolyByStyle;
00131 UINT8 DoPointSize;
00132 UINT8 DoLineWidth;
00133 UINT8 PointSizeUnits;
00134 UINT8 LineWidthUnits;
00135 UINT32 PointStyleFlags;
00136 UINT32 LineStyleFlags;
00137 UINT32 PolyStyleFlags;
00138 COLOR StartColor;
00139 COLOR EndColor;
00140 double PointSizeStart;
00141 double PointSizeEnd;
00142 double PointSizeScale;
00143 double LineWidthStart;
00144 double LineWidthEnd;
00145 double LineWidthScale;
00146 };
00147
00148 INT16 NumClasses;
00149 UINT8 DistribMode;
00150 UINT8 CountMode;
00151 UINT8 RoundMode;
00152 UINT8 ExcludeFirstClass;
00153 UINT8 ExcludeLastClass;
00154 UINT8 ShowStats;
00155 UINT8 ShowStyleParm;
00156 UINT8 LimitToDataRange;
00157 double RoundTo;
00158 double lastmaxval;
00159 STATSVIEW StatsView;
00160 SPREAD Spread;
00161
00162 DATA () { memset(this, 0, sizeof(*this)); }
00163 };
00164
00166 THEMEPARM (
00167 );
00168
00170 THEMEPARM (
00171 const RVC::THEMEPARM& rhs
00172 );
00173
00175 virtual ~THEMEPARM (
00176 );
00177
00179 RVC::THEMEPARM& operator= (
00180 const RVC::THEMEPARM& rhs
00181 );
00182
00183 const DATA& GetThemeData (
00184 ) const {return (m_ThemeData);}
00185
00186 void SetThemeData (
00187 const DATA& ThemeData
00188 ) {m_ThemeData = ThemeData;}
00189
00190 private:
00191 #ifndef GENERATING_DOXYGEN_OUTPUT
00192
00193 DATA m_ThemeData;
00194
00196 virtual OBJTYPE v_GetDftObjectType () const;
00197
00199 virtual ERRVALUE v_GetDftNameDesc (const OBJECT& parent, DESCRIPTOR& Descriptor);
00200 virtual ERRVALUE v_MakeData (RVC::OBJMAKEPARMS& ObjMakeParms);
00201 virtual ERRVALUE v_ReadData (RVC::OBJOPENPARMS& ObjOpenParms);
00202 virtual ERRVALUE v_WriteData (RVC::OBJOPENPARMS& ObjOpenParms);
00203
00204 #endif // GENERATING_DOXYGEN_OUTPUT
00205
00206 };
00207
00208 }
00209
00210 #endif