9 #ifndef MsiChart_TextObject_h 10 #define MsiChart_TextObject_h 1 169 std::vector<MBase::String> mVecStr;
170 std::vector<Int32> mInitVecPartition;
171 std::vector<Int32> mVecPartition;
172 std::vector<TextExtent> mVecSize;
175 double mMaxWordWidth;
193 bool iClientDrag =
false);
208 virtual void Draw()
const;
430 virtual void hGetFormatFromParent();
432 void hAdjustRect()
const;
double width
Definition: TextObject.h:70
Definition: TextObject.h:39
Int32 mTextWidthLimit
Definition: TextObject.h:416
Int32 mWidthEdgeMargin
Definition: TextObject.h:410
Int32 GetMaxWidth() const
void SetTextWidthLimit(Int32 iWidthLimit, bool iIsStringent=true)
Int32 GetLineCount() const
#define _ASSERT(x)
Definition: Asserte.h:34
bool mIsTruncated
If it is truncated.
Definition: TextObject.h:421
double x_advance
Definition: TextObject.h:72
Int32 GetStringLength() const
Definition: TextObject.h:458
double GetOneLineWidth(Int32 iLineIndex) const
void SetBorderStyleAndColor(EnumTextBorderStyle iStyle, Int32 iColor, Int32 iDirection)
Definition: TextObject.h:468
void EnableLargerTruncationLimit(bool iUseLargerTruncationLimit)
Definition: TextObject.h:475
bool mIsLineCountEnforced
Line count is set and should not be changed.
Definition: TextObject.h:420
Int32 mDoubleLineMargin
Definition: TextObject.h:413
TextObject(const TripleId &irTripleId, GraphObjectManager *ipManager, Rect2D iRect, GraphCollectionObject *ipParentObject=NULL, bool iClientDrag=false)
void GetBoundingRectNoRotation(Rect2D &orBoundingRect) const
bool mIsRectCalculated
Definition: TextObject.h:415
void SetLineCount(Int32 iLineCount)
Definition: TextObject.h:32
Int32 mTextLineSpace
Definition: TextObject.h:412
MBase::String mFullText
The untouched content.
Definition: TextObject.h:403
void ParseText(const MBase::String &irText, const wchar_t iSeparator, Int32 iWordLengthLimit=-1)
void SetLineCountEnforced(bool iIsEnforeced=false)
Definition: TextObject.h:38
const Int32 XOffset
Offset used for explode the rectangle area.
Definition: TextObject.h:17
Definition: GraphCollectionObject.h:19
Int32 mFontHeight
Definition: TextObject.h:414
const Int32 YOffset
Offset used for explode the rectangle area.
Definition: TextObject.h:18
void SetRect(const Rect2D &irRect)
bool mUseLargerTruncationLimit
Default is true.
Definition: TextObject.h:418
Definition: TextObject.h:36
bool mClientDrag
Definition: TextObject.h:407
int mBorderColor[4]
Definition: TextObject.h:423
double hGetRadian() const
double x_bearing
Definition: TextObject.h:71
Definition: TextObject.h:52
Definition: ReturnString.h:85
Int32 mHeightEdgeMargin
Definition: TextObject.h:411
bool IsTooCloseTo(TextObject *ipTextObject, double iDistance, Int32 iAnchorStyle)
virtual void DrawOutLine()
virtual void GetClockwisePolygon(std::vector< Point2D > &orPolygon) const
bool HasOverlapForSameRotation(TextObject *ipTextObject, Int32 iLabelSpan=0, REC_EXP_DIRECTION iSpanDirection=REC_EXP_INVALID) const
Definition: ShapeObject.h:20
Int32 GetOneLineHeight() const
void hFormatSingleLineText(Point2D &irStartPoint, Int32 iLineIndex) const
FormatFont::Ptr GetFormatFont()
void hFillTextFrame(const Rect2D &irTextFrameRect) const
Definition: TextObject.h:49
void hGetDevicePolygon(std::vector< Point2D > &orDevicePolygon) const
Definition: TextObject.h:25
Definition: TextObject.h:24
void SetIsShown(bool iIsShown)
Definition: TextObject.h:442
MBase::ReturnWString GetOneLineString(Int32 iLineIndex) const
void MoveTo(Int32 iDestX, Int32 iDestY, Int32 iAnchor=TOP_LEFT)
Int32 width
Width of current rectangle.
Definition: Rect2D.h:124
Int32 GetLineCount() const
#define Int32
Definition: BasicTypes.h:20
bool GetIsShown()
Definition: TextObject.h:447
Int32 GetSpaceWidth() const
bool MaybeTruncated() const
Definition: TextObject.h:34
Definition: TextObject.h:181
virtual void GenerateImageMap(ImageMap &iorImageMap)
Definition: TextObject.h:35
FormatFont::Ptr mFormatFontPtr
Stores the font info of the text object.
Definition: TextObject.h:401
double GetOneLineXBearing(Int32 iLineIndex) const
Definition: TextObject.h:37
bool IsTruncated() const
Definition: TextObject.h:480
void SetLineCount(Int32 iLineCount)
Definition: TextObject.h:23
EnumTextBorderStyle mBorderStyle[4]
Definition: TextObject.h:422
int x
X-coordinate of left edge.
Definition: Rect2D.h:122
MSynch::SmartPtr< TextObject > Ptr
Definition: TextObject.h:184
Definition: TextObject.h:48
TextExtent()
Definition: TextObject.h:64
REC_EXP_DIRECTION
Definition: Rect2D.h:16
Definition: TextObject.h:40
virtual void GetBoundingRect(Rect2D &orBoundingRect) const
void SetText(const MBase::String &irText, Int32 iWordLengthLimit=-1)
void GetText(MBase::String &orText, bool iIsOriginalText=false)
bool mIsShown
Definition: TextObject.h:408
Definition: ChartContext.h:542
void ApplyUnderlineorStrikeThroughFormat() const
SubTextHolder mSubTextHolder
To handle word wrapping.
Definition: TextObject.h:406
virtual void GetOptions(Int32 iPropertyId, CComVariant *opValue) const
std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > String
Definition: BaseString.h:26
TextObject::Ptr Clone() const
virtual void Draw() const
MBase::ReturnWString TruncateWord(const MBase::String &irString, Int32 iWordLengthLimit) const
EnumVerticalAlign
Vertical Alignment.
Definition: TextObject.h:21
Int32 height
Height of current rectangle.
Definition: Rect2D.h:125
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
void GetTransformedRect(Rect2D &orRect) const
Definition: TextObject.h:47
Definition: TextObject.h:46
void MoveToCenter(float iDestX, float iDestY)
Definition: TextObject.h:452
void PartitionBy(Int32 iDestWidth, bool iIsStrigent=true)
virtual bool PointInObject(const Point2D &irPoint)
void GetPartitionRange(std::vector< Int32 > &orVecIndex) const
Int32 mLineCount
Definition: TextObject.h:419
Definition: Msi_ccomvariant.h:24
Int32 GetWidthHeightMargin(bool iIsWidth)
Definition: TextObject.h:485
virtual bool ObjectInRectangle(const Rect2D &irRect)
Definition: TextObject.h:33
void RestoreWidthAndHeight()
Rect2D mRect
The rectangle area enclosing the text.
Definition: TextObject.h:405
EnumTextBorderStyle
Definition: TextObject.h:43
void GetRect(Rect2D &orRect) const
Definition: TextObject.h:463
MBase::String mText
The text content.
Definition: TextObject.h:402
int y
Y-coordinate of left edge.
Definition: Rect2D.h:123
Definition: TextObject.h:45
#define NULL
Definition: Null.h:10
Definition: GraphObjectManager.h:37
void UpdateText(ChartContext::Ptr iChartContextPtr, FormatFont *ipDeviceFont)
void CalculateDeviceRect() const
TextExtent(float iWidth)
Definition: TextObject.h:59
bool mIsStringent
Definition: TextObject.h:417
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
Definition: TextObject.h:79
EnumAnchorPoint
Anchor point of 8 angle points and 1 center point of one rectangle area.
Definition: TextObject.h:30
void hTruncate(Int32 iLineIndex, MBase::String &orStr, double &orTextWidth, double &orTextXBearing) const
Definition: TextObject.h:26