8 #ifndef MsiChart_ChartContext_h 9 #define MsiChart_ChartContext_h 14 #include "../Common.h" 17 #include "../Dataset.h" 21 #include "PDCHeader/PDCfstream" 22 #include "PDCHeader/PDCmap" 36 #define DPI 96 // Usually 96DPI on Windows 39 #define POINTSOFONEINCH 72 // 1pt = 1/72 inch 41 #define TDGVirtualXMIN (-16383) 42 #define TDGVirtualXMAX 16383 43 #define TDGVirtualYMIN (-16383) 44 #define TDGVirtualYMAX 16383 439 double ToRatio(
double iVal,
bool iIsUseZeroAsBoundaryValue =
false);
440 double ToRatioEX(
double iVal,
bool iIsUseAbsValue =
false);
451 static double ToRatio(
double iVal,
double iMax,
double iMin,
bool iIsUseZeroAsBoundaryValue);
901 void Scale(
const double iX,
const double iY);
954 void DrawArc(
const FPoint2D& irCenter,
const float iRadius,
const float iStartAngle,
const float iEndAngle,
bool iNewPath =
true);
962 void DrawArcNegative(
const FPoint2D& irCenter,
const float iRadius,
const float iEndAngle,
const float iStartAngle,
bool iNewPath =
true);
971 void DrawSector(
const FPoint2D& irCenter,
const float iRadius,
const float iStartAngle,
const float iEndAngle);
976 void DrawSectorStroke(
const FPoint2D& irCenter,
const float iRadius,
const float iStartAngle,
const float iEndAngle);
985 void DrawRingSector(
const FPoint2D& irCenter,
const float iOutRadius,
const float iInRadius,
const float iStartAngle,
const float iEndAngle);
995 void DrawCylinder(
const FPoint2D& irCenter,
const float iRadius,
const float iStartAngle,
const float iEndAngle,
const float iDepth);
1024 void DrawGaugeMarker(
FPoint2D* iBasePoint,
Int32& iMarkerSize,
Int32& iMarkerShape,
float iAngle,
short iSize);
1030 void DrawDashedLine(
const Point<T>& irStartPoint,
const Point<T>& irEndPoint, std::vector<double>& ipLinePattern);
1053 void MoveTo(
double iX,
double iY,
bool iIsCurveAnimation =
false,
FPoint2D* iBasePoint =
NULL);
1059 void LineTo(
double iX,
double iY,
bool iIsCurveAnimation =
false,
FPoint2D* iBasePoint =
NULL);
1070 void BezierCurveTo(
double iCP1X,
double iCP1Y,
double iCP2X,
double iCP2Y,
double iX,
double iY);
1077 void SetRGBAFill(
float iRed,
float iGreen,
float iBlue,
float iAlpha);
1084 void SetRGBAStroke(
float iRed,
float iGreen,
float iBlue,
float iAlpha);
1156 bool SaveSurfaceToString(std::string& orGraphDesc);
1157 bool SaveSurfaceToVEObjects(std::vector<MVE::VEFormatList>& ioFormatList, std::vector<MVE::VEUnitList>& ioUnitList);
1188 double Square(
double iNumber)
const;
1697 void AddNeedle(
char iNeedleStyle,
Point2D iBasePoint,
short iAngle,
float iSize);
1698 void FillSimple(
const FormatFill* ipFill,
float iDarkerFactor,
RGBColor* iColor =
NULL,
bool iHasExtraPara =
false);
1700 void FillGradient(
const FormatFill* ipFill,
const Rect2D& irBoundingRect,
float iDarkerFactor);
1701 void FillEdgeType(
const FormatFill* ipFill,
const std::vector<Point2D>& irPolygon);
1702 void FillDonutOrSphere(
const FormatFill* ipFill,
const Rect2D& irBoundingRect,
bool iIsCircularShape);
1703 void FillBorderMetallic(
const FormatFill* ipFill,
short iBorderUse,
double iCPX,
double iCPY,
double iRadius,
double iThickness);
1704 void FillRadientGradient(
const FormatFill* ipFill,
EnumRadientGradientUsage iRGUsage,
double iCPX,
double iCPY,
double iInnerRadius,
double iOuterRadius,
bool iHasExtraPara =
false,
int iExtraDepth = 0,
int iExtraIntensity = 0);
1705 void MakeDarker(
const FormatFill* ipFill,
float iFactor);
1707 void ApplyLineFormat(
const FormatLine* ipLine);
1708 void AddFormatedText(
const FormatFont* ipFont,
const Point2D& irStartPoint,
const std::string& irString);
1709 void BeginFirstFrame();
1710 void BeginLastFrame();
1774 bool IsSubView(
void* ipChildView,
void* ipBaseView,
bool iIsRecursive);
1938 void hApplyEnhancedSeriesEffect(
FormatFill* iopFormatFill,
Int32 iCollectionType)
const;
1945 void hMoveTo(
double iX,
double iY,
bool iIsLinePath,
bool iIsCurveAnimation =
false,
FPoint2D* iBasePoint =
NULL);
1951 void hLineTo(
double iX,
double iY,
bool iIsLinePath,
bool iIsCurveAnimation =
false,
FPoint2D* iBasePoint =
NULL);
1954 void hReleaseStreamBuffer();
1956 void hParseValueContent(std::wfstream& irFile,
const CComVariant& irValue);
1958 void hParseParrayContent(std::wfstream& irFile,
const CComVariant& irValue);
1960 void hFinalizeVectorGraphSurface();
1964 CGContext* mpPrivateCGContext;
1973 std::vector<TripleId> mHighLightedObjectList;
1975 std::map<TripleId, bool> mTripleIdHoverMap;
2032 if (mGraphFrame.
height == -1 && mGraphFrame.
width == -1) {
2033 mGraphFrame.
x = mGraphFrame.
y = 0;
2034 mGraphFrame.
height = iGraphHeight;
2035 mGraphFrame.
width = iGraphWidth;
2081 return iNumber * iNumber;
2115 Int32 lNumberOfPoints = (
Int32)irPoints.size();
2116 if(lNumberOfPoints < 3)
2122 std::vector<FPoint2D> lAdjustedPoints;
2123 for(
Int32 i = 0; i < lNumberOfPoints; ++i)
2125 lAdjustedPoints.push_back(irPoints[i]);
2128 Int32 lPreviousIndex = lNumberOfPoints - 1;
2129 for(
Int32 i = 0; i < lNumberOfPoints; ++i)
2131 Int32 lNextIndex = (i + 1 == lNumberOfPoints) ? 0 : i + 1;
2132 if (irPoints[i].x == irPoints[lPreviousIndex].x || irPoints[i].x == irPoints[lNextIndex].x)
2134 lAdjustedPoints[i].x += 0.5f;
2136 if (irPoints[i].y == irPoints[lPreviousIndex].y || irPoints[i].y == irPoints[lNextIndex].y)
2138 lAdjustedPoints[i].y += 0.5f;
2142 DrawPolyLine(lAdjustedPoints,
false, iIsCurveAnimation, iBasePoint, iLineStyle);
2146 DrawPolyLine(irPoints,
false, iIsCurveAnimation, iBasePoint, iLineStyle);
2155 hMoveTo(irStartPoint.
x, irStartPoint.
y,
true);
2156 hLineTo(irEndPoint.
x, irEndPoint.
y,
true);
2162 Int32 lNumberOfPoints = (
Int32)irPoints.size();
2163 if(lNumberOfPoints<=0)
2166 hMoveTo(irPoints[0].x, irPoints[0].y, iIsLinePath, iIsCurveAnimation, iBasePoint);
2167 Int32 lPreviousIndex = 0;
2168 for(
Int32 i = 1; i < lNumberOfPoints; ++i)
2172 if ((i + 1 == lNumberOfPoints) || irPoints[i].IsOnVerOrHorSegment(irPoints[lPreviousIndex], irPoints[i + 1]) ==
false)
2174 hLineTo(irPoints[i].x, irPoints[i].y, iIsLinePath, iIsCurveAnimation, iBasePoint);
2181 if(irPoints[0].IsOnVerOrHorSegment(irPoints[lPreviousIndex], irPoints[1]) ==
false)
2183 hLineTo(irPoints[0].x, irPoints[0].y, iIsLinePath, iIsCurveAnimation, iBasePoint);
2193 double lCX = irCenter.
x;
2194 double lCY = irCenter.
y;
2196 double lMiddleRadius = iInnerRadius + (1.0 - (1.0 - iFormatFillPtr->mFillBevel.mDepth * 0.01)) * (iOuterRadius - iInnerRadius);
2201 const short lMargin = 1;
2204 FillRadientGradient(iFormatFillPtr.
Get(),
RG_RING, lCX, lCY, iInnerRadius > lMargin ? iInnerRadius - lMargin : 0, lMiddleRadius);
2205 FillRadientGradient(iFormatFillPtr.
Get(),
RG_RING, lCX, lCY, iOuterRadius + lMargin, lMiddleRadius);
2209 FillRadientGradient(iFormatFillPtr.
Get(),
RG_BORDERRING, lCX, lCY, iInnerRadius > lMargin ? iInnerRadius - lMargin : 0, iOuterRadius + lMargin, iHasExtraPara, iExtraDepth, iExtraIntensity);
2215 CGColorSpaceRef lColorspace = CGColorSpaceCreateDeviceRGB();
2216 double lMiddleRadius = iInnerRadius + (1.0 - (1.0 - iFormatFillPtr->mFillBevel.mDepth * 0.01)) * (iOuterRadius - iInnerRadius);
2218 size_t lNumOfLocations = 2;
2219 CGFloat lLocations[2] = { 0.0, 1.0 };
2220 float lTransparency = iFormatFillPtr->mFillBevel.mIntensity * 0.01f * iFormatFillPtr->mAlpha / 255.0f;
2221 CGFloat lComponents[8] = { 0.0, 0.0, 0.0, lTransparency,
2222 1.0, 1.0, 1.0, lTransparency
2224 CGGradientRef lGradient = CGGradientCreateWithColorComponents (lColorspace, lComponents, lLocations, lNumOfLocations);
2226 CGPoint lCenter = CGPointMake(irCenter.
x, irCenter.
y);
2232 const Int32 lMargin = 1;
2233 CGContextDrawRadialGradient(
mpCGContext, lGradient, lCenter,
2234 iInnerRadius > lMargin ? iInnerRadius - lMargin : 0,
2235 lCenter, lMiddleRadius, 0);
2236 CGContextDrawRadialGradient(
mpCGContext, lGradient, lCenter,
2237 iOuterRadius + lMargin,
2238 lCenter, lMiddleRadius, 0);
2241 CGGradientRelease(lGradient);
2242 CGColorSpaceRelease(lColorspace);
2446 CGContextSetLineJoin(
mpCGContext, kCGLineJoinMiter);
2449 CGContextSetLineJoin(
mpCGContext, kCGLineJoinBevel);
2452 CGContextSetLineJoin(
mpCGContext, kCGLineJoinRound);
2488 mHighLightedObjectList.clear();
2491 mHighLightedObjectList = *ipInputList;
2496 iorCurrentList = mHighLightedObjectList;
double GetZoomScale(bool iIsHonest=true)
void LineTo(double iX, double iY, bool iIsCurveAnimation=false, FPoint2D *iBasePoint=NULL)
Definition: ChartContext.h:169
void SetCurrentAngleIndex(Int32 iAngleIndex)
double mAxisAdjustedValue
Definition: ChartContext.h:368
bool mIsColorbyDropzoneHasTemplateMetric
Definition: ChartContext.h:399
bool IsAnimationPossible(double iZoomScale)
Whether animation is possible.
Definition: Vector2D.h:21
EnumGraphMatrixMarkerInChartType
Definition: ChartContext.h:108
void AnimationDidFinished()
Definition: ChartContext.h:162
void SetImageFormat(Int32 iFormat)
Definition: ChartContext.h:2249
EnumDssGraphMatrixSizeMode
Definition: Common.h:83
FormatManager::Ptr GetFormatManager() const
Definition: ChartContext.h:2333
Int32 mPieGroupSectionCount
Definition: ChartContext.h:409
void * mpChartManager
Definition: ChartContext.h:1738
EnumLineJoinType mLineJoinType
Definition: ChartContext.h:1928
RGBColor GetSeriesColorFromPalette(Int32 iSeriesId) const
EnumGraphMatrixLayoutType mLayoutMode
Layout mode.
Definition: ChartContext.h:360
EnumWidgetType GetWidgetType()
Int32 mCondenseMode
The condense mode.
Definition: ChartContext.h:379
Int32 mBubbleBourndaryPadding
The padding between bubble and chart boundary.
Definition: ChartContext.h:347
Definition: ChartContext.h:131
CGContext * GetPrivateCGContext()
double hGetMaxRadiusRatio(Int32 chartType)
Definition: LayerObject.h:21
Definition: DSSIPhoneEnums.h:2530
std::vector< Int32 > mColColorByUnits
Definition: ChartContext.h:375
bool HasCurvePolygon() const
Definition: ChartContext.h:2481
void SetApplyMetricFormatting(bool iApplyMetricFormatting)
Definition: ChartContext.h:2516
bool GetPushGroup() const
Definition: ChartContext.h:2261
double mO1InitLogicalMin
Definition: ChartContext.h:255
bool mIsSizebyCustomMinMaxEnabled
Definition: ChartContext.h:372
Int32 MapObject(Int32 iObjectId) const
bool IsVerticalBar() const
bool mIsY1RangeBeforeZoomReady
Definition: ChartContext.h:238
EnumGraphMatrixMajorGraphType
Definition: ChartContext.h:134
bool mIsVIDocument
Definition: ChartContext.h:1889
Definition: ChartContext.h:138
bool mIsO1SwipedOutOfZoom
Indicates whether the range of O1 axis has been swiped;.
Definition: ChartContext.h:237
bool IsAnimationDisabledForZoom()
Definition: ChartContext.h:2287
void DVFontSize(Int32 &iorSize) const
void SetTemplateNodeKey(const std::string &irKey)
Int32 mTopMargin
Definition: ChartContext.h:244
Definition: ChartContext.h:143
bool mIsGrayoutMode
specify whether the graph is in gray out mode
Definition: ChartContext.h:1901
void SetAbsoluteFontLineSize(bool iAbsolute)
Definition: ChartContext.h:2069
bool mIsO1RangeBeforeZoomReady
Definition: ChartContext.h:239
bool mIsEmptyXAxisDropZone
Definition: ChartContext.h:406
Int32 mObjectId
Definition: ChartContext.h:176
bool mIsVoiceOver
Indicates whether currenct chart is in voice over mode.
Definition: ChartContext.h:1892
bool mIsYValid
Definition: ChartContext.h:304
void SetCanvas(ChartCanvas *ipCanvas)
Definition: ChartContext.h:2532
UniformAxisContext * mpUniformAxisContext
Definition: ChartContext.h:1906
CGContext * mpCGContext
Definition: ChartContext.h:1719
Definition: ChartContext.h:155
void SetIntegrity(Int32 iIntegrity)
Definition: ChartContext.h:2338
void RestoreZoomState(Dataset *ipDataset)
bool mIsEmptyYAxisDropZone
Definition: ChartContext.h:407
void SetFontAntiAlias(bool iFontAntiAlias)
bool IsUADataAreaOutput()
void DrawPolygon(const std::vector< Point< T > > &irPoints, bool iIsLinePath=true, bool iIsCurveAnimation=false, FPoint2D *iBasePoint=NULL, unsigned char iLineStyle=LS_SOLID)
Definition: ChartContext.h:2113
EnumWidgetType
Definition: CEModuleMain.h:38
LayerObject * mpTopRendererLayer
Maintains the address of top rendering layer.
Definition: ChartContext.h:1727
void DrawCylinder(const FPoint2D &irCenter, const float iRadius, const float iStartAngle, const float iEndAngle, const float iDepth)
GraphMatrixContext * GetGraphMatrixContext()
bool IsBulletChart() const
Point2D VDPoint(const Point2D &irVirtualPoint) const
bool IsIsolatedDotInLine(const TripleId &irId)
bool IsBackgroundBright(bool iIsRecursive=true) const
double GetFontScale() const
Definition: ChartContext.h:2469
Int32 mSwipeOffsetOutOfZoom
Definition: ChartContext.h:246
void UpdateFormatFont(const TripleId &irTripleId, FormatFont *iopFormatFont) const
Definition: ChartContext.h:137
float mGMWidthScaseRatio
Definition: ChartContext.h:1743
Definition: ChartContext.h:70
bool mIsDataLabelEnabled
Definition: ChartContext.h:369
bool mIsYDropZoneEmpty
Definition: ChartContext.h:356
std::set< Int32 > mCondesedMetricsSet
The metrics which will condese the value labels whose number is under it.
Definition: ChartContext.h:378
const Int32 gVirtualCoordinateWidth
Definition: Common.h:227
FormatFill::Ptr GetBaseGradientFillForGM(unsigned char iAlpha=255)
Definition: ChartContext.h:154
bool CheckRiserCountLimit(const TripleId &irTripleId) const
Int32 GetIntegrity()
Definition: ChartContext.h:2342
std::vector< std::pair< double, double > > mBubbleSizeRangeSet
Definition: ChartContext.h:423
double min(double x, double y)
Definition: ReportServiceCore/Classes/CalculationEngine/statistic.h:29
Point2D DVPoint(const Point2D &irImagePoint) const
double mY2MinValue
Indicates the minimum value in Y2 axis.
Definition: ChartContext.h:290
bool mIsSliceDropzoneHasTemplateMetric
Definition: ChartContext.h:398
DatasetState * mpDatasetState
Definition: ChartContext.h:1905
Definition: ChartContext.h:156
void ExitGrayoutMode()
Definition: ChartContext.h:2304
Int32 mCurrentPieSliceIndex
Definition: ChartContext.h:411
Int32 GetGraphHeight() const
Definition: ChartContext.h:2044
Definition: ChartContext.h:120
void EnableMicroChart(bool iIsMicroChart)
Definition: ChartContext.h:2360
Rect2D DVRect(const Rect2D &irImageRect) const
bool mUseManualGroupRange
Definition: ChartContext.h:240
void SetRGBAStroke(float iRed, float iGreen, float iBlue, float iAlpha)
void SetIsCategoryXAxisForPartialRendering(bool isForPartialRendering)
Definition: ChartContext.h:118
Definition: ChartContext.h:158
Definition: ChartContext.h:126
double ToRatio(double iVal, bool iIsUseZeroAsBoundaryValue=false)
void SetFormatManager(FormatManager::Ptr iFormatManagerPtr)
Definition: ChartContext.h:2329
double mO1LogicalMaxBeforeZoom
Indicates the maximum logical coordinate of O1 axis before zooming.
Definition: ChartContext.h:254
Definition: ChartContext.h:160
bool IsValueAxisShown() const
Definition: ChartContext.h:2269
Int32 mChartYOffset
Definition: ChartContext.h:1911
bool IsColorValid()
Definition: ChartContext.h:427
bool IsVoiceOver() const
Definition: ChartContext.h:2374
Definition: ChartContext.h:149
cairo_surface_t * CreateSVGSurfaceForStream()
Definition: FormatLine.h:28
Int32 GetChartYOffset() const
ChartContext * Ptr
Definition: ChartContext.h:547
Int32 mDataGroup
Definition: ChartContext.h:317
Definition: ChartContext.h:150
Int32 mSecondaryDataAreaRightMargin
Indicates the margin at right of data area.
Definition: ChartContext.h:296
bool IsGrayoutMode() const
Definition: ChartContext.h:2308
Int32 mDataAreaBottomMargin
Indicates the margin between X axis line and X axis labels.
Definition: ChartContext.h:271
bool mHasChartWithOnlyDataMarkers
Definition: ChartContext.h:363
Int32 mPieSeriesSectionCount
Definition: ChartContext.h:410
bool IsDataLabels(const TripleId &irId) const
Definition: ChartContext.h:153
std::map< int, bool > * mHasAreaBarInAxis
Definition: ChartContext.h:421
void DrawSectorStroke(const FPoint2D &irCenter, const float iRadius, const float iStartAngle, const float iEndAngle)
bool mShouldHideAxisElements
Whether axis elements should be hidden.
Definition: ChartContext.h:1898
const TripleId gNullTripleId
Point2D GetPointByAngleRadiusCenter(double iAngle, double iRadius, const Point2D &irCenter) const
ChartContext * mpChartContext
The parental chart context.
Definition: ChartContext.h:383
void DisableAnimationForZoom(bool iDisableAnimation)
Definition: ChartContext.h:2279
void RestoreDataset(Dataset *ipDataset)
bool mIsSliceEnabled
Definition: ChartContext.h:225
void SetHasCurvePolygon(bool iHasCurvePolygon)
471270 When there's curve polygon, need to draw legend and category labels on top layer...
Definition: ChartContext.h:2477
std::vector< Int32 > mRowColorByUnits
Definition: ChartContext.h:374
double mX2MinValue
Indicates the minimum value in X2 axis.
Definition: ChartContext.h:292
bool IsIsolatedDot(const TripleId &irId)
bool IsCategoryPie() const
bool IsIsolatedDot(const TripleId &irId)
RGBColor * GetDefaultContrastColor(Int32 iColorUsage=-1) const
Definition: ChartContext.h:77
void SetFontScale(double iRatio=1.0)
Definition: ChartContext.h:2464
Int32 mSeriesId
Definition: ChartContext.h:202
void TDGToMSTRHeight(Int32 iTDGHeight, Int32 &orMSTRHeight) const
bool mApplyMetricFormatting
Indicates whether to apply FormatFill from Metric definition or not.
Definition: ChartContext.h:1899
Int32 DVHeight(Int32 iImageHeight) const
Definition: ChartContext.h:2007
Only used in time series chart.
Definition: ChartContext.h:222
bool mIsTimeSeriesChart
Indicates whether current chart is a time series chart or not.
Definition: ChartContext.h:1884
Int32 GetImageFormat() const
Definition: ChartContext.h:2253
#define _ASSERTE(x)
Definition: Asserte.h:40
double mY1LogicalMaxBeforeZoom
Indicates the maximum logical coordinate of Y1 axis before zooming.
Definition: ChartContext.h:252
Int32 mCurrentPieAngleIndex
Definition: ChartContext.h:412
virtual void PutChartEngine(Chart *ipChart)
void ExitDuplicateMode()
Definition: ChartContext.h:2316
double mZMaxValue
Indicates the maximum value in X axis for Bubble chart.
Definition: ChartContext.h:279
EnumChartComponent
Definition: ChartContext.h:87
void GetHighLightObjectList(std::vector< TripleId > &iorCurrentList)
Definition: ChartContext.h:2494
void EnterGrayoutMode()
Definition: ChartContext.h:2300
void DrawStraightLine(const Point< T > &irStartPoint, const Point< T > &irEndPoint)
Definition: ChartContext.h:2152
Int32 mPropertyId
Definition: ChartContext.h:175
const Rect2D gDefaultSubtitlePosition
bool mIsLineWidthOdd
Definition: ChartContext.h:1872
void SetLineDash(double *ipLinePattern, Int32 iDashNumber)
void MoveTo(double iX, double iY, bool iIsCurveAnimation=false, FPoint2D *iBasePoint=NULL)
bool NeedAdjustedLinePath() const
Definition: ChartContext.h:2016
bool mIsNeedRotateDataLabel
Definition: ChartContext.h:366
std::vector< Int32 > mScrollViewLabelIds
Definition: ChartContext.h:258
Definition: ChartContext.h:66
void HideAxisElements(bool iHide)
Definition: ChartContext.h:2508
void SetPushGroup(bool iPushGroupFlag)
Definition: ChartContext.h:2257
Int32 GetValueAxisPadding(bool iIsXAxis, bool iIsHighPadding, Int32 iRequiredPadding=0, Int32 iPaddingIndex=0)
void DrawRectangle(const Rect2D &irRect, bool iIsLinePath)
bool mIsFontAntiAlias
Definition: ChartContext.h:1880
Definition: ChartContext.h:173
double ToRatioEX(double iVal, bool iIsUseAbsValue=false)
Int32 mSecondaryDataAreaBottomMargin
Indicates the margin between X axis line and X axis labels.
Definition: ChartContext.h:298
bool IsDuplicateMode() const
Definition: ChartContext.h:2320
Definition: ChartContext.h:112
bool mIsO1InZoomState
Indicates whether O1 axis is in zoom state;.
Definition: ChartContext.h:236
void ResetHighlightObjectList(std::vector< TripleId > *ipInputList)
Definition: ChartContext.h:2486
void DrawArcNegative(const FPoint2D &irCenter, const float iRadius, const float iEndAngle, const float iStartAngle, bool iNewPath=true)
EnumShapeType
Definition: ChartContext.h:147
virtual bool GetProperty(Int32 iPropertyId, const TripleId &irTripleId, CComVariant *opValue) const
double GetAnimationDuration() const
Definition: ChartContext.h:2296
Int32 mYMetrixIndex
Definition: ChartContext.h:284
Int32 mX2MetrixIndex
Definition: ChartContext.h:287
double Square(double iNumber) const
Definition: ChartContext.h:2079
EnumLineJoinType
Definition: ChartCanvas.h:22
Definition: ChartContext.h:200
void SetDataset(Dataset::Ptr iDatasetPtr)
Definition: ChartContext.h:2092
Definition: ChartContext.h:76
LayerObject * mpBaseLayerObject
Definition: ChartContext.h:1725
std::string GetTemplateNodeKey() const
Definition: ChartContext.h:2324
bool IsAbsoluteFontLineSize() const
Definition: ChartContext.h:2074
Definition: ChartContext.h:125
Definition: ValueAxis.h:85
void SetRecalculateFrame(bool iRecalculate)
Definition: ChartContext.h:2059
double mO1InitLogicalMax
Definition: ChartContext.h:256
Definition: Dataset.h:198
Transformer * mpTransformer
Definition: ChartContext.h:1731
FormatFill::Ptr UpdateStepGradientEffectForGM(const TripleId &irLineId, FormatFill::Ptr iFillPtr, Dataset::Ptr iDataset, Int32 iGroupInterval, unsigned char iAlpha=255)
void SetProjectionArea(const Rect2D &irProjectionArea)
void SetCurrentPieSlice(Int32 iPieSliceIndex)
virtual FormatLine::Ptr GetFormatLine(const TripleId &irTripleId, Int32 iCollectionType, EnumShapeType iShape=_GENERIC) const =0
void SetGraphSize(Int32 iGraphWidth, Int32 iGraphHeight)
Definition: ChartContext.h:2026
Definition: ChartContext.h:119
Definition: ChartContext.h:167
Int32 GetGraphType() const
Definition: ChartContext.h:2083
Definition: ChartContext.h:170
Int32 VDHeight(Int32 iVirtualHeight) const
Definition: ChartContext.h:1991
double VectorToAngle(const DVector2D &irVector) const
bool mIsNeedColorColOffset
Definition: ChartContext.h:1897
std::vector< Int32 > mVecYValueAxisLowPaddingSet
Definition: ChartContext.h:351
Definition: ChartContext.h:142
Int32 mSecondaryDataAreaLeftMargin
Indicates the margin between Y axis line and Y axis labels.
Definition: ChartContext.h:295
bool IsUseAnimation() const
Definition: ChartContext.h:2283
Definition: ChartContext.h:71
bool mIsCombinationGraph
Definition: ChartContext.h:389
T y
Y-coordinate of current point.
Definition: Point2D.h:175
void VDFontSize(Int32 &iorSize) const
bool mIsValueAxisShown
Indicates whether to show value axis part or not.
Definition: ChartContext.h:1879
bool mUseAnimationForZoom
Indicates whether animation should be supported for the charts genrated due to zoom.
Definition: ChartContext.h:1882
Definition: ChartContext.h:148
bool mIsTextAsShape
Definition: ChartContext.h:1744
double mX2MaxValue
Indicates the maximum value in X2 axis.
Definition: ChartContext.h:293
void TDGToMSTRPoint(Int32 iX, Int32 iY, Point2D &orPoint) const
ThresholdCache mThresholdCache
Definition: ChartContext.h:1920
Definition: ChartContext.h:103
void SetLineWidth(Int32 iLineWidth)
bool IsParetoChart() const
Definition: ChartContext.h:2245
void DrawRingSector(const FPoint2D &irCenter, const float iOutRadius, const float iInRadius, const float iStartAngle, const float iEndAngle)
Do not share format.
Definition: ChartContext.h:81
void UpdateLineColorWithThreshold(const TripleId &irTripleId, FormatLine *iopFormatLine, Int32 iCollectionType)
Int32 PixelSizeToPtSize(Int32 iPixelSize) const
Int32 mUniformAxisLeftMargin
only used by uniform axis. Indicates the margin between Y axis line and Y axis labels.
Definition: ChartContext.h:1857
Int32 DialogSizeToPixelSize(Int32 iDialogSize) const
Definition: ChartContext.h:2088
bool SaveSurfaceToMemory(Int32 iFormat, char *&oprMemory, unsigned Int32 &orSize)
bool mIsCategoryXAxisNeedPartialRendering
Definition: ChartContext.h:1729
bool GetCurrentGraphFrame(Rect2D &iorRect) const
Int32 mImageFormat
Keeps the current image format.
Definition: ChartContext.h:1856
bool mIsNeedAdjustAxis
Definition: ChartContext.h:367
void SetNeedColorColOffset(bool iIsNeedColorColOffset)
Definition: ChartContext.h:2399
Definition: ChartContext.h:151
Definition: ChartContext.h:74
FormatManager::Ptr mFormatManagerPtr
Definition: ChartContext.h:1926
Int32 mLastGroupID
Indicates the last group ID which is shown in current graph.
Definition: ChartContext.h:241
Int32 mValueAxisAreaWidth
Definition: ChartContext.h:242
void * mpGMCEContext
Definition: ChartContext.h:1740
bool mManualLayoutMode
Indicates whether the layout is manual or automatic.
Definition: ChartContext.h:1876
double mEstGraphHeight
Definition: ChartContext.h:330
void SetAdvancedChartTypeSupport(bool iAdvancedChartTypeSupport)
Definition: ChartContext.h:2432
bool mPushGroupFlag
Indicates whether cairo_push_group() has been called or not.
Definition: ChartContext.h:1878
bool mIsXDropzoneHasTemplateMetric
Definition: ChartContext.h:400
Definition: ChartCanvas.h:24
ChartCanvas * GetCanvas()
Definition: ChartContext.h:2541
EnumDssGraphMatrixElementSizeMode mMinElementSizeMode
Definition: ChartContext.h:325
EnumDssGraphMatrixMetricCategory
Definition: Common.h:123
Int32 mXMetrixIndex
Definition: ChartContext.h:283
Int32 mMarkerShape
Definition: ChartContext.h:342
EnumAxis
Definition: ChartContext.h:166
std::vector< Int32 > mVecYValueAxisHighPaddingSet
Definition: ChartContext.h:352
cairo_surface_t * CreatePDFSurfaceForStream()
double mO1LogicalMinBeforeZoom
Indicates the minimum logical coordinate of O1 axis before zooming.
Definition: ChartContext.h:253
void EnableVIDocument(bool iIsVIDocument)
Definition: ChartContext.h:2389
Int32 width
Width of current rectangle.
Definition: Rect2D.h:124
double mMinSizeVal
Definition: ChartContext.h:321
void PutLocation(Int32 iPropertyId, Int32 iTop, Int32 iLeft, Int32 iBottom, Int32 iRight)
Int32 mTickSizeInFD
Tick shape size in the fixed dimension.
Definition: ChartContext.h:348
void SetChartComponent(EnumChartComponent iChartComponent)
Definition: ChartContext.h:2102
void UpdateFormatFill(const TripleId &irTripleId, FormatFill *iopFormatFill, Int32 iCollectionType) const
void SetValueAxisShown(bool iIsValueAxisShown)
Definition: ChartContext.h:2265
bool IsVectorGraph() const
Definition: ChartContext.h:2021
Rect2D VDRect(const Rect2D &irVirtualRect) const
bool mIsPieMetricSliced
Definition: ChartContext.h:397
bool mIsDuplicated
specify whether last selected data point is duplicated
Definition: ChartContext.h:1902
bool mIsDualAxisGraph
Definition: ChartContext.h:391
virtual float GetMemoryUsageEstimation() const
CGPath * mpCGPath
Maintains the current path.
Definition: ChartContext.h:1722
bool IsReverseSeriesOrder(ValueAxis *ipValueAxis, bool iIsVertical, Int32 iDepthDirection) const
bool mIsPieSliced
Definition: ChartContext.h:396
#define Int32
Definition: BasicTypes.h:20
double mXMaxValue
Indicates the maximum value in X axis for Scatter/Bubble chart.
Definition: ChartContext.h:277
double mFontScaleRatio
Specify the font scale ratio, default is one.
Definition: ChartContext.h:1895
bool mHasCurvePolygon
Indicates whether there's curve polygon in current graph.
Definition: ChartContext.h:1891
Int32 mZMetrixIndex
Definition: ChartContext.h:285
bool mRecalculateFrame
Indicates whether the frame need to be recalculate or not.
Definition: ChartContext.h:1877
Definition: ChartContext.h:91
ThemeType GetGraphThemes() const
Get the information about the graph themes.
const Int32 gVirtualMarkerSize
Definition: ChartContext.h:54
bool mIsEmptyYAxisDropWithTemplateMetric
Definition: ChartContext.h:405
bool mIsY1InZoomState
Indicates whether Y1 axis is in zoom state;.
Definition: ChartContext.h:235
Definition: ChartContext.h:111
double mMaxSizeVal
Definition: ChartContext.h:320
Definition: ChartContext.h:140
Definition: ChartContext.h:144
bool mIsGraphMatrix
Indicates whether current chart is a graph matrix or not.
Definition: ChartContext.h:1888
T x
X-coordinate of current point.
Definition: Point2D.h:174
bool IsPercentChart() const
bool IsManualLayout() const
Definition: ChartContext.h:2054
Definition: ChartContext.h:78
void UpdateValueAxisPadding(bool iIsXAxis, bool iIsHighPadding, Int32 iPaddingValue)
double mEstGraphWidth
Definition: ChartContext.h:329
Definition: ChartContext.h:128
Definition: ChartContext.h:110
std::set< TripleId > mIsolaetdDotsInNormalLineChart
Definition: ChartContext.h:424
void TDGToMSTRRect(Int32 iTop, Int32 iLeft, Int32 iBottom, Int32 iRight, Rect2D &orRect) const
bool IsFontAntiAlias() const
Definition: ChartContext.h:2428
std::set< double > mShownValueTickSet[2]
The shown ticks for uniform x-axis, y-axis.
Definition: ChartContext.h:377
Definition: ChartContext.h:127
bool mIsSliced
Definition: ChartContext.h:224
std::map< Int32, double > mValueAxisZoomScales
The value axis id to its zoom scale.
Definition: ChartContext.h:425
void SetChartOffset(Int32 iXOffset, Int32 iYOffset)
bool mIsYDropzoneHasTemplateMetric
Definition: ChartContext.h:401
DatasetState mInitDatasetState
Definition: ChartContext.h:260
std::map< std::vector< Int32 >, ChartAdvFormat * > mGMAxisAutoNumberFormatSet
Maintains the automatic number format of value axis in graph matrix.
Definition: ChartContext.h:1917
double mMaxColorVal
Definition: ChartContext.h:337
void * mpGridGraphViewer
Maintains a pointer to GridGraphViewer. Need to cast it to UIView* before using it.
Definition: ChartContext.h:1733
void DrawPolyLine(const std::vector< Point< T > > &irPoints, bool iIsLinePath=true, bool iIsCurveAnimation=false, FPoint2D *iBasePoint=NULL, unsigned char iLineStyle=LS_SOLID)
Definition: ChartContext.h:2160
EnumChartComponent GetChartComponent() const
Definition: ChartContext.h:2107
Int32 GetImageUsage() const
Definition: ChartContext.h:2408
bool IsReverseGroupOrder(bool iIsVertical, Int32 iDepthDirection) const
Int32 mY2MetrixIndex
Definition: ChartContext.h:288
double mLineSizeInput
The inputed line width by user.
Definition: ChartContext.h:345
bool GetHover(const TripleId &iTripleId) const
only used by uniform axis in graph matrix.
Definition: ChartContext.h:266
Int32 mGroupId
Definition: ChartContext.h:203
void EnableUniformAxis(bool iUseUniformAxis)
Definition: ChartContext.h:2412
void RefreshGraphMatrixContext()
bool mIsAxisTitleAndLabelRequired
Indicate whether axis title and labels are required.
Definition: ChartContext.h:273
bool mIsXValid
Definition: ChartContext.h:303
bool mUseAnimation
Indicates whether animation is needed or not.
Definition: ChartContext.h:1881
Int32 GetChartXOffset() const
void SetEntireness(bool iIsEntireChart)
Definition: ChartContext.h:2420
Definition: ChartContext.h:105
double mMaxValue
Indicates the maximum value in value axis.
Definition: ChartContext.h:275
Int32 mGraphType
Graph type.
Definition: ChartContext.h:1864
void DrawArc(const FPoint2D &irCenter, const float iRadius, const float iStartAngle, const float iEndAngle, bool iNewPath=true)
std::string mTemplateNodeKey
Definition: ChartContext.h:1924
void GetAxisAutoNumberFormat(ChartAdvFormat &orFormat)
int x
X-coordinate of left edge.
Definition: Rect2D.h:122
void SetRGBAFill(float iRed, float iGreen, float iBlue, float iAlpha)
Int32 GetCurrentAngleIndex()
Definition: GraphObject.h:38
double mY2MaxValue
Indicates the maximum value in Y2 axis.
Definition: ChartContext.h:291
Int32 mChartXOffset
Definition: ChartContext.h:1910
Definition: ChartContext.h:116
double mY1LogicalMinBeforeZoom
Indicates the minimum logical coordinate of Y1 axis before zooming.
Definition: ChartContext.h:251
GraphMatrixContext * mpGraphMatrixContext
Definition: ChartContext.h:1907
Int32 GetMaxMarkerSize(EnumGraphMatrixMarkerInChartType iChartType, bool iIsVertical, Int32 iUnitCount, bool iIsBubbleChart=false)
std::vector< Int32 > mBubbleSizeByIndexSet
Definition: ChartContext.h:376
Definition: ChartContext.h:113
double mXMinValue
Indicates the minimum value in X axis for Scatter/Bubble chart.
Definition: ChartContext.h:276
void SetCurrentGraphFrame(Int32 iX, Int32 iY, Int32 iWidth, Int32 iHeight)
bool HasAdvancedChartTypeSupport() const
Definition: ChartContext.h:2436
bool IsTimeSeriesChart() const
Definition: ChartContext.h:2355
Int32 GetGraphWidth() const
Definition: ChartContext.h:2039
void SetLineJoin(EnumLineJoinType iLineJoinType)
Definition: ChartContext.h:2441
Int32 mDataAreaRightMargin
Indicates the margin at right of data area.
Definition: ChartContext.h:269
double mY1LogicalMin
Indicates the minimum logical coordinate of Y1 axis. Used in zoom state.
Definition: ChartContext.h:247
void VDLineWidth(Int32 &iorSize) const
void Rotate(const Point2D &irAnchor, double iRadian)
bool mIsBackgroundOpaque
Indicates whether the background of current chart is opaque.
Definition: ChartContext.h:1893
void EnableAnimation(bool iUseAnimation)
Definition: ChartContext.h:2274
Int32 mColorArity
Definition: ChartContext.h:336
Int32 mGraphHeight
Indicates an estimated graph height for font size calculation.
Definition: ChartContext.h:272
Definition: ChartContextHelper.h:10
double DoubleToFixedPointNumber(double iValue) const
Definition: ChartContext.h:542
Definition: ChartCanvas.h:25
bool mIsEmptyXAxisDropWithTemplateMetric
Definition: ChartContext.h:404
double GetScaledSize(double iDataVal, double iMaxSize)
double mZMinValue
Indicates the minimum value in X axis for Bubble chart.
Definition: ChartContext.h:278
Int32 mLabelWidthLimitY
Indicates the maximum allowed lenght for the Y axis labels(only for category axis).
Definition: ChartContext.h:280
EnumDssGraphMatrixSizeMode mSizeMode
Definition: ChartContext.h:319
void CalculateDepthOffset(Int32 iDepth, Int32 iAngle, Int32 &orOffsetX, Int32 &orOffsetY, bool iAbsoluteDepth=false) const
Int32 mUniformAxisTopMargin
only used by uniform axis. Indicates the margin at top of data area.
Definition: ChartContext.h:1858
T Get() const
Definition: SmartBase.h:25
bool mUseThreshold
Definition: ChartContext.h:204
bool GetLocation(Int32 iPropertyId, Int32 *opTop, Int32 *opLeft, Int32 *opBottom, Int32 *opRight)
std::vector< std::pair< Int32, Int32 > > * mColorByKeyUnitsPair
Definition: ChartContext.h:419
double mY1LogicalMax
Indicates the maximum logical coordinate of Y1 axis. Used in zoom state.
Definition: ChartContext.h:248
bool IsLegendByGroup() const
std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > String
Definition: BaseString.h:26
Int32 mBeginGroup
Definition: ChartContext.h:226
bool IsIsolatedDotInLine(const TripleId &irId)
const Int32 gDefaultUniformAxisMargin
Definition: ChartContext.h:52
void EnterDuplicateMode()
Definition: ChartContext.h:2312
bool mIsY2Valid
Definition: ChartContext.h:307
void EnableGraphMatrix(bool iIsGraphMatrix)
Definition: ChartContext.h:2379
void MSTRToTDGPoint(const Point2D &irPoint, Int32 &orX, Int32 &orY) const
void UpdateZoomScale(void *ipView)
Update zoom scale.
virtual FormatFill::Ptr GetMetricFormatFill(const TripleId &irTripleId)
bool IsMicroChart() const
Definition: ChartContext.h:2364
bool IsEntireChart() const
Definition: ChartContext.h:2424
bool IsBackgroundOpaque() const
Definition: ChartContext.h:2503
std::vector< Int32 > mColors
Definition: ChartContext.h:339
void UpdateHighScaleFactorToViews()
void SetBackgroundOpaque(bool iBackgroundOpaque)
Definition: ChartContext.h:2499
Definition: ChartContext.h:129
bool mMarkerShown
Definition: ChartContext.h:408
void AddToIsolatedDotList(const TripleId &irTripleId)
Int32 mCondenseLimit
lower bound for label condense.
Definition: ChartContext.h:380
Int32 DVWidth(Int32 iImageWidth) const
Definition: ChartContext.h:2002
Int32 height
Height of current rectangle.
Definition: Rect2D.h:125
Definition: ChartContext.h:168
Int32 mLabelStaggerEnd
Definition: ChartContext.h:386
std::vector< MBase::String > mScrollViewLabels
Definition: ChartContext.h:257
Dataset::Ptr GetDataset()
Definition: ChartContext.h:2096
EnumDssGraphMatrixElementSizeMode mMaxElementSizeMode
Definition: ChartContext.h:324
virtual void PutProperty(Int32 iPropertyId, const TripleId &irTripleId, CComVariant *ipValue)
bool IsVIDocument() const
Definition: ChartContext.h:2394
const Rect2D gDefaultFootnotePosition
EnumDssGraphMatrixElementSizeMode
Definition: Common.h:89
EnumDssGraphMatrixColorMode mColorMode
Definition: ChartContext.h:335
Transformer * GetTransformer()
EnumDssGraphMatrixColorMode
Definition: Common.h:68
EnumGraphMatrixAxisLayoutType mAxisLayout
How the axis is assigned.
Definition: ChartContext.h:382
Definition: ChartContext.h:141
Int32 GetAdjustThicknessValue(Int32 iOriginValue)
Definition: ChartContext.h:159
bool IsAnimationEnabled() const
Int32 NormalDirection(const TVector2D< Int32 > &iSideDirection, Int32 iDepthDirection)
EnumDssGraphMatrixXAxisLabelRotation mXAxisLabelRotation
Definition: ChartContext.h:393
bool mHasAnimatedObject
Definition: ChartContext.h:1883
Definition: ChartContext.h:130
FormatFill::Ptr mFormatFillPtr
Definition: ChartContext.h:205
bool GetApplyMetricFormatting() const
Definition: ChartContext.h:2520
bool mIsX2Valid
Definition: ChartContext.h:306
bool IsSubView(void *ipChildView, void *ipBaseView, bool iIsRecursive)
Is view A sub view to B.
Int32 mLabelWidthLimitX
Indicates the maximum allowed lenght for the X axis labels(only for category axis).
Definition: ChartContext.h:281
void RemoveZeroEdgeInPolygon(std::vector< Point2D > &iorPolygon) const
Only used in time series chart.
Definition: ChartContext.h:233
bool GetIsCategoryXAxisForPartialRendering()
std::vector< Int32 > mExtraPaddings
Definition: ChartContext.h:353
EnumDssGraphMatrixXAxisLabelRotation
Definition: Common.h:77
Definition: Msi_variant.h:147
const Int32 gNullObjectId
Definition: Common.h:229
EnumDssGraphMatrixMetricCategory mAddedMetricToTooltip
which metric should be added to tooltip
Definition: ChartContext.h:359
Definition: ChartContext.h:152
Rect2D GetGraphFrame()
Definition: ChartContext.h:1982
Int32 PtSizeToPixelSize(Int32 iPtSize) const
bool IsAxesStateNULL() const
Definition: ChartContext.h:2524
UniformAxisContext * GetUniformAxisContext()
Int32 mSeriesId
Definition: ChartContext.h:177
AxesState * mpAxesState
Definition: ChartContext.h:1904
Dataset::Ptr mDatasetPtr
Points to a Dataset object.
Definition: ChartContext.h:1866
std::map< std::string, Int32 > * mColorByMap
Definition: ChartContext.h:420
void SetManualLayout(bool iManualLayout)
Definition: ChartContext.h:2049
void SetHover(const TripleId &iTripleId, bool iIsHover)
bool RectangleIntersection(const Rect2D &irRectA, const Rect2D &irRectB, Rect2D &orRect) const
void SetLineWidthOdd(bool iIsLineWidthOdd)
Definition: ChartContext.h:2012
double GetScaledSizeWithRatio(double iRatio, double iMaxSize)
void * mpOldChartManager
Maintains a pointer to old ChartManager for animation support.
Definition: ChartContext.h:1736
std::map< TripleId, ChartAdvFormat * > mAxisAutoNumberFormatSet
Definition: ChartContext.h:1918
Definition: ChartContext.h:161
Definition: ChartContext.h:90
FormatFill::Ptr UpdateGradientEffectForGM(const TripleId &irLineId, FormatFill::Ptr iFillPtr, Dataset::Ptr iDataset, double iAngle, unsigned char iAlpha=255)
Definition: ChartContext.h:75
void SetImageUsage(Int32 iImageUsage)
Definition: ChartContext.h:2404
Int32 mDataAreaTopMargin
Indicates the margin at top of data area.
Definition: ChartContext.h:270
bool NoAdjustOfLineWidth(const TripleId &irTripleId) const
Definition: DSSIPhoneEnums.h:2531
double mMinColorVal
Definition: ChartContext.h:338
Definition: ChartContext.h:163
ChartContext(Dataset::Ptr iDatasetPtr)
Int32 VDRadius(Int32 iVirtualRadius) const
std::vector< Int32 > mVecXValueAxisHighPaddingSet
The highPadding for y axis.
Definition: ChartContext.h:350
Definition: ChartContext.h:117
void RectangleUnion(const Rect2D &irRectA, const Rect2D &irRectB, Rect2D &orRect) const
void SetAnimationDuration(double iSeconds)
Definition: ChartContext.h:2292
const Int32 gNullSeriesId
Definition: Common.h:230
Int32 mLabelStaggerStart
Definition: ChartContext.h:385
static const Int32 sVisualElementBound
Definition: ChartContext.h:315
EnumRadientGradientUsage
Enumeration for radient gradient usage.
Definition: FormatFill.h:34
EnumCollectionType
Definition: ChartContext.h:64
Int32 GetCurrentPieSlice()
std::vector< Rect2D > mScrollViewLabelRects
Definition: ChartContext.h:259
bool IsStackedChart() const
bool mShouldXAxisLabelRotate
Definition: ChartContext.h:358
bool SaveSurfaceToFile(Int32 iFormat, FILE *ipOutFile)
Definition: Msi_ccomvariant.h:24
RGBColor GetColorById(const TripleId &irTripleId, float &orAlpha) const
void SetHighlightSelectedObjects(LayerObjectPtr iHighlightLayerObjectPtr)
bool mIsRowOrColDropzoneHasTemplateMetric
Definition: ChartContext.h:403
Int32 mFixMarkerSizeFromWidget
Definition: ChartContext.h:333
void Scale(const double iX, const double iY)
Definition: ChartCanvas.h:39
Int32 mGraphHeight
Graph height.
Definition: ChartContext.h:1855
virtual FormatFont::Ptr GetFormatFont(const TripleId &irTripleId) const =0
bool mIsSeriesUniformInColor
Is the each section of the line chart shares the same color.
Definition: ChartContext.h:357
Int32 VDWidth(Int32 iVirtualWidth) const
Definition: ChartContext.h:1986
Int32 mO1LabelLevel
Definition: ChartContext.h:245
std::vector< MetricFormatFillCache > mMetricFormatFillCache
Metric index -> MetricFormatFillCache.
Definition: ChartContext.h:1922
bool IsAdvancedChartType() const
Int32 mMaxAutoBarWidth
Indicates the maximum bar width, used in "Automatic" mode.
Definition: ChartContext.h:343
double mO1LogicalMax
Indicates the maximum logical coordinate of O1 axis. Used in zoom state.
Definition: ChartContext.h:250
Int32 mUniformAxisBottomMargin
only used by uniform axis. Indicates the margin between X axis line and X axis labels.
Definition: ChartContext.h:1859
double mAnimationDuration
Specifies the duration of animation in seconds;.
Definition: ChartContext.h:1894
Int32 mCategoryAxisLableInteval
Definition: ChartContext.h:430
double mMinElementSize
Definition: ChartContext.h:327
Int32 GetMaxElementSizeInLineChart(bool iIsVertical, Int32 iGroupCount, bool iIsIsolatedDotInLine=false, bool iIsLineShapeInCombinationChart=false)
bool mIsEntireChart
Indicates whether entire chart is needed.
Definition: ChartContext.h:1887
bool NoAdjustOfFontSize(const TripleId &irTripleId) const
Definition: ChartContext.h:157
Definition: ChartContext.h:115
virtual bool IsGenericContext() const =0
void ApplyBeveledFrameToRectangle(const Rect2D &irRect, double iRotationAngle, Int32 iBevelDepth, const RGBColor &irLTColor, Int32 iLTAlpha, const RGBColor &irRBColor, Int32 iRBAlpha)
void ApplyDonutToRing(const Point< T > &irCenter, T iOuterRadius, T iInnerRadius, const FormatFill::Ptr iFormatFillPtr, EnumRadientGradientUsage iUsage=RG_RING, bool iHasExtraPara=false, int iExtraDepth=0, int iExtraIntensity=0)
Definition: ChartContext.h:2190
bool mIsZValid
Definition: ChartContext.h:305
std::map< PropertyKey, CComVariant > mPropertyMap
Definition: ChartContext.h:1844
const Int32 gVirtualCoordinateHeight
Definition: Common.h:228
double mMinValue
Indicates the minimum value in value axis.
Definition: ChartContext.h:274
double mMaxElementSize
Definition: ChartContext.h:326
bool IsGraphMatrix() const
Definition: ChartContext.h:2384
EnumGraphMatrixLayoutType
Definition: ChartContext.h:101
Int32 mImageUsage
Indicates the usage of current chart.
Definition: ChartContext.h:1865
Definition: ChartContext.h:114
enum _ThemeType ThemeType
MSynch::SmartPtr< LayerObject > LayerObjectPtr
Definition: ChartContext.h:533
void UpdateFormatLine(const TripleId &irTripleId, FormatLine *iopFormatLine) const
Int32 hGetLogicalId(Int32 iInputId)
bool mIsMinElementSizeAsRatioToMax
Definition: ChartContext.h:328
bool mIsMicroChart
Indicates whether current chart is a micro chart or not.
Definition: ChartContext.h:1885
float mGMHeightScaleRatio
Definition: ChartContext.h:1742
FormatFill::Ptr GetThresholdFillColor(Int32 iSeriesId, Int32 iGroupId)
Int32 mCachedMaxElementSize
Definition: ChartContext.h:361
Int32 mColorIndex
Definition: ChartContext.h:340
Definition: RGBColor.h:21
bool mIsZ2Valid
Definition: ChartContext.h:308
int y
Y-coordinate of left edge.
Definition: Rect2D.h:123
double GetValueAxisZoomScale(Int32 iValueAxisId)
Int32 mEndGroup
Definition: ChartContext.h:227
Definition: ChartContext.h:313
#define NULL
Definition: Null.h:10
bool mIsXDropZoneEmpty
Definition: ChartContext.h:355
Definition: ChartContext.h:69
bool IsRecalculateFrame() const
Definition: ChartContext.h:2064
const Rect2D gDefaultTitlePosition
ChartCanvas * mpCanvas
Definition: ChartContext.h:1930
Int32 mSizeIndex
Definition: ChartContext.h:322
bool mIsUniformAxisMode
Indicates whether uniform axis is enabled.
Definition: ChartContext.h:1886
void SetFontSize(Int32 iFontSize)
AxesState * GetAxesState()
double GetSizebyPieRadius(double iVal, double iMax, double iMin, double maxRadius)
Definition: ChartContext.h:89
void SaveDatasetState(Dataset *ipDataset)
std::vector< Int32 > mVecXValueAxisLowPaddingSet
The lowPadding for x axis.
Definition: ChartContext.h:349
bool operator<(const PropertyKey &iKey) const
Definition: ChartContext.h:184
void MSTRToTDGRect(const Rect2D &irRect, Int32 &orTop, Int32 &orLeft, Int32 &orBottom, Int32 &orRight) const
std::vector< Int32 > mAxisHostMetricSet[4]
Hosted metric on X1/X2/Y1/Y2 axis.
Definition: ChartContext.h:300
PropertyKey(Int32 iPropertyId=-1, Int32 iObjectId=gNullObjectId, Int32 iSeriesId=gNullSeriesId)
Definition: ChartContext.h:179
EnumGraphMatrixMajorGraphType GetGraphMatrixGraphMajorType() const
void ParseValueToFormat(VARIANT &irValue, ChartAdvFormat &orFormat)
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
void GetHighLightSelectedObjects(LayerObjectPtr &orHighlightLayerObjectPtr)
Int32 mDataAreaLeftMargin
Indicates the margin between Y axis line and Y axis labels.
Definition: ChartContext.h:268
Definition: DSSIPhoneEnums.h:2462
const Int32 gMaxTextLength
Definition: ChartContext.h:51
Definition: FormatFill.h:37
EnumGraphMatrixAxisLayoutType
Definition: ChartContext.h:123
bool mAbsoluteFontLineSize
Definition: ChartContext.h:1875
void SetTimeSeriesChart(bool iIsTimeSeries)
Definition: ChartContext.h:2347
Int32 mGraphWidth
Graph width.
Definition: ChartContext.h:1854
bool IsUniformAxisMode() const
Definition: ChartContext.h:2416
bool isBarAreaInAxis(const TripleId &irId)
Int32 mSecondaryDataAreaTopMargin
Indicates the margin at top of data area.
Definition: ChartContext.h:297
Int32 GetCondensedTextLimit(Int32 iFormatType)
Definition: ChartContext.h:104
Int32 GetGraphMajorType() const
void DrawSector(const FPoint2D &irCenter, const float iRadius, const float iStartAngle, const float iEndAngle)
Definition: FormatFill.h:38
bool mAdvancedChartTypeSupport
Definition: ChartContext.h:1890
ChartAdvFormat * mpAxisAutoNumberFormat
Maintains the automatic number format of value axis.
Definition: ChartContext.h:1916
EnumLineJoinType GetLineJoin()
Definition: ChartContext.h:2460
Int32 mChartIntegrity
Definition: ChartContext.h:1914
Int32 mSuggestedDataAreaStartX
Definition: ChartContext.h:243
Int32 GetSizeByIndex(Int32 iIndex, bool iIsBubbleChart=false)
void SplitRect(const Rect2D &irRect, bool iIsVertical, Int32 iPercentage, Rect2D &orRectTopRight, Rect2D &orRectBottomLeft) const
Definition: ChartCanvas.h:26
virtual FormatFill::Ptr GetFormatFill(const TripleId &irTripleId, Int32 iCollectionType, EnumShapeType iShape=_GENERIC) const =0
bool mIsBreakbyDropzoneHasTemplateMetric
Definition: ChartContext.h:402
Definition: ChartContext.h:139
bool IsHidingAxisElements() const
Definition: ChartContext.h:2512
EnumChartComponent mChartComponent
Definition: ChartContext.h:1862
void EnableVoiceOver(bool iIsVoiceOverMode)
Definition: ChartContext.h:2369
double mO1LogicalMin
Indicates the minimum logical coordinate of O1 axis. Used in zoom state.
Definition: ChartContext.h:249
double mRatioToMaxRadius
Indicates the ratio in the bubble max radius computation.
Definition: ChartContext.h:344
void SetCGContext(CGContext *ipCGContext)
Definition: ChartContext.h:136