Index: xfa/src/fdp/src/tto/fde_textout.h |
diff --git a/xfa/src/fdp/src/tto/fde_textout.h b/xfa/src/fdp/src/tto/fde_textout.h |
index 7edd05b0e1f89d7a6580cfcb47b99e90a38729f7..97bf51756f876865ce268a69a3c35c860839b44a 100644 |
--- a/xfa/src/fdp/src/tto/fde_textout.h |
+++ b/xfa/src/fdp/src/tto/fde_textout.h |
@@ -1,167 +1,167 @@ |
-// Copyright 2014 PDFium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
- |
-#ifndef _FDE_TEXTOUT_IMP |
-#define _FDE_TEXTOUT_IMP |
-struct FDE_TTOPIECE { |
- public: |
- int32_t iStartChar; |
- int32_t iChars; |
- FX_DWORD dwCharStyles; |
- CFX_RectF rtPiece; |
-}; |
-typedef FDE_TTOPIECE* FDE_LPTTOPIECE; |
-typedef CFX_MassArrayTemplate<FDE_TTOPIECE> CFDE_TTOPieceArray; |
-class CFDE_TTOLine : public CFX_Target { |
- public: |
- CFDE_TTOLine(); |
- CFDE_TTOLine(const CFDE_TTOLine& ttoLine); |
- ~CFDE_TTOLine(); |
- int32_t AddPiece(int32_t index, const FDE_TTOPIECE& ttoPiece); |
- int32_t GetSize() const; |
- FDE_LPTTOPIECE GetPtrAt(int32_t index); |
- void RemoveLast(int32_t iCount); |
- void RemoveAll(FX_BOOL bLeaveMemory); |
- FX_BOOL m_bNewReload; |
- CFDE_TTOPieceArray m_pieces; |
- |
- protected: |
- int32_t m_iPieceCount; |
-}; |
-typedef CFX_ObjectMassArrayTemplate<CFDE_TTOLine> CFDE_TTOLineArray; |
-class CFDE_TextOut : public IFDE_TextOut, public CFX_Target { |
- public: |
- CFDE_TextOut(); |
- ~CFDE_TextOut(); |
- virtual void Release() { delete this; } |
- virtual void SetFont(IFX_Font* pFont); |
- virtual void SetFontSize(FX_FLOAT fFontSize); |
- virtual void SetTextColor(FX_ARGB color); |
- virtual void SetStyles(FX_DWORD dwStyles); |
- virtual void SetTabWidth(FX_FLOAT fTabWidth); |
- virtual void SetEllipsisString(const CFX_WideString& wsEllipsis); |
- virtual void SetParagraphBreakChar(FX_WCHAR wch); |
- virtual void SetAlignment(int32_t iAlignment); |
- virtual void SetLineSpace(FX_FLOAT fLineSpace); |
- virtual void SetDIBitmap(CFX_DIBitmap* pDIB); |
- virtual void SetRenderDevice(CFX_RenderDevice* pDevice); |
- virtual void SetClipRect(const CFX_Rect& rtClip); |
- virtual void SetClipRect(const CFX_RectF& rtClip); |
- virtual void SetMatrix(const CFX_Matrix& matrix); |
- virtual void SetLineBreakTolerance(FX_FLOAT fTolerance); |
- virtual void CalcSize(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- CFX_Size& size); |
- virtual void CalcSize(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- CFX_SizeF& size); |
- virtual void CalcSize(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- CFX_Rect& rect); |
- virtual void CalcSize(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- CFX_RectF& rect); |
- |
- virtual void DrawText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- int32_t x, |
- int32_t y); |
- virtual void DrawText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- FX_FLOAT x, |
- FX_FLOAT y); |
- virtual void DrawText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- const CFX_Rect& rect); |
- virtual void DrawText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- const CFX_RectF& rect); |
- |
- virtual void SetLogicClipRect(const CFX_RectF& rtClip); |
- virtual void CalcLogicSize(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- CFX_SizeF& size); |
- virtual void CalcLogicSize(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- CFX_RectF& rect); |
- virtual void DrawLogicText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- FX_FLOAT x, |
- FX_FLOAT y); |
- virtual void DrawLogicText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- const CFX_RectF& rect); |
- virtual int32_t GetTotalLines(); |
- |
- protected: |
- void CalcTextSize(const FX_WCHAR* pwsStr, int32_t iLength, CFX_RectF& rect); |
- FX_BOOL RetrieveLineWidth(FX_DWORD dwBreakStatus, |
- FX_FLOAT& fStartPos, |
- FX_FLOAT& fWidth, |
- FX_FLOAT& fHeight); |
- void SetLineWidth(CFX_RectF& rect); |
- void DrawText(const FX_WCHAR* pwsStr, |
- int32_t iLength, |
- const CFX_RectF& rect, |
- const CFX_RectF& rtClip); |
- void LoadText(const FX_WCHAR* pwsStr, int32_t iLength, const CFX_RectF& rect); |
- void LoadEllipsis(); |
- void ExpandBuffer(int32_t iSize, int32_t iType); |
- void RetrieveEllPieces(int32_t*& pCharWidths); |
- |
- void Reload(const CFX_RectF& rect); |
- void ReloadLinePiece(CFDE_TTOLine* pLine, const CFX_RectF& rect); |
- FX_BOOL RetriecePieces(FX_DWORD dwBreakStatus, |
- int32_t& iStartChar, |
- int32_t& iPieceWidths, |
- FX_BOOL bReload, |
- const CFX_RectF& rect); |
- void AppendPiece(const FDE_TTOPIECE& ttoPiece, |
- FX_BOOL bNeedReload, |
- FX_BOOL bEnd); |
- void ReplaceWidthEllipsis(); |
- void DoAlignment(const CFX_RectF& rect); |
- void OnDraw(const CFX_RectF& rtClip); |
- int32_t GetDisplayPos(FDE_LPTTOPIECE pPiece); |
- int32_t GetCharRects(FDE_LPTTOPIECE pPiece); |
- |
- void ToTextRun(const FDE_LPTTOPIECE pPiece, FX_TXTRUN& tr); |
- void DrawLine(const FDE_LPTTOPIECE pPiece, IFDE_Pen*& pPen); |
- |
- IFX_TxtBreak* m_pTxtBreak; |
- IFX_Font* m_pFont; |
- FX_FLOAT m_fFontSize; |
- FX_FLOAT m_fLineSpace; |
- FX_FLOAT m_fLinePos; |
- FX_FLOAT m_fTolerance; |
- int32_t m_iAlignment; |
- int32_t m_iTxtBkAlignment; |
- int32_t* m_pCharWidths; |
- int32_t m_iChars; |
- int32_t* m_pEllCharWidths; |
- int32_t m_iEllChars; |
- FX_WCHAR m_wParagraphBkChar; |
- FX_ARGB m_TxtColor; |
- FX_DWORD m_dwStyles; |
- FX_DWORD m_dwTxtBkStyles; |
- CFX_WideString m_wsEllipsis; |
- FX_BOOL m_bElliChanged; |
- int32_t m_iEllipsisWidth; |
- CFX_WideString m_wsText; |
- CFX_RectF m_rtClip; |
- CFX_RectF m_rtLogicClip; |
- CFX_Matrix m_Matrix; |
- CFDE_TTOLineArray m_ttoLines; |
- int32_t m_iCurLine; |
- int32_t m_iCurPiece; |
- int32_t m_iTotalLines; |
- FXTEXT_CHARPOS* m_pCharPos; |
- int32_t m_iCharPosSize; |
- IFDE_RenderDevice* m_pRenderDevice; |
- CFX_Int32Array m_hotKeys; |
- CFX_RectFArray m_rectArray; |
-}; |
-#endif |
+// Copyright 2014 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#ifndef _FDE_TEXTOUT_IMP |
+#define _FDE_TEXTOUT_IMP |
+struct FDE_TTOPIECE { |
+ public: |
+ int32_t iStartChar; |
+ int32_t iChars; |
+ FX_DWORD dwCharStyles; |
+ CFX_RectF rtPiece; |
+}; |
+typedef FDE_TTOPIECE* FDE_LPTTOPIECE; |
+typedef CFX_MassArrayTemplate<FDE_TTOPIECE> CFDE_TTOPieceArray; |
+class CFDE_TTOLine : public CFX_Target { |
+ public: |
+ CFDE_TTOLine(); |
+ CFDE_TTOLine(const CFDE_TTOLine& ttoLine); |
+ ~CFDE_TTOLine(); |
+ int32_t AddPiece(int32_t index, const FDE_TTOPIECE& ttoPiece); |
+ int32_t GetSize() const; |
+ FDE_LPTTOPIECE GetPtrAt(int32_t index); |
+ void RemoveLast(int32_t iCount); |
+ void RemoveAll(FX_BOOL bLeaveMemory); |
+ FX_BOOL m_bNewReload; |
+ CFDE_TTOPieceArray m_pieces; |
+ |
+ protected: |
+ int32_t m_iPieceCount; |
+}; |
+typedef CFX_ObjectMassArrayTemplate<CFDE_TTOLine> CFDE_TTOLineArray; |
+class CFDE_TextOut : public IFDE_TextOut, public CFX_Target { |
+ public: |
+ CFDE_TextOut(); |
+ ~CFDE_TextOut(); |
+ virtual void Release() { delete this; } |
+ virtual void SetFont(IFX_Font* pFont); |
+ virtual void SetFontSize(FX_FLOAT fFontSize); |
+ virtual void SetTextColor(FX_ARGB color); |
+ virtual void SetStyles(FX_DWORD dwStyles); |
+ virtual void SetTabWidth(FX_FLOAT fTabWidth); |
+ virtual void SetEllipsisString(const CFX_WideString& wsEllipsis); |
+ virtual void SetParagraphBreakChar(FX_WCHAR wch); |
+ virtual void SetAlignment(int32_t iAlignment); |
+ virtual void SetLineSpace(FX_FLOAT fLineSpace); |
+ virtual void SetDIBitmap(CFX_DIBitmap* pDIB); |
+ virtual void SetRenderDevice(CFX_RenderDevice* pDevice); |
+ virtual void SetClipRect(const CFX_Rect& rtClip); |
+ virtual void SetClipRect(const CFX_RectF& rtClip); |
+ virtual void SetMatrix(const CFX_Matrix& matrix); |
+ virtual void SetLineBreakTolerance(FX_FLOAT fTolerance); |
+ virtual void CalcSize(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ CFX_Size& size); |
+ virtual void CalcSize(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ CFX_SizeF& size); |
+ virtual void CalcSize(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ CFX_Rect& rect); |
+ virtual void CalcSize(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ CFX_RectF& rect); |
+ |
+ virtual void DrawText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ int32_t x, |
+ int32_t y); |
+ virtual void DrawText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ FX_FLOAT x, |
+ FX_FLOAT y); |
+ virtual void DrawText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ const CFX_Rect& rect); |
+ virtual void DrawText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ const CFX_RectF& rect); |
+ |
+ virtual void SetLogicClipRect(const CFX_RectF& rtClip); |
+ virtual void CalcLogicSize(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ CFX_SizeF& size); |
+ virtual void CalcLogicSize(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ CFX_RectF& rect); |
+ virtual void DrawLogicText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ FX_FLOAT x, |
+ FX_FLOAT y); |
+ virtual void DrawLogicText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ const CFX_RectF& rect); |
+ virtual int32_t GetTotalLines(); |
+ |
+ protected: |
+ void CalcTextSize(const FX_WCHAR* pwsStr, int32_t iLength, CFX_RectF& rect); |
+ FX_BOOL RetrieveLineWidth(FX_DWORD dwBreakStatus, |
+ FX_FLOAT& fStartPos, |
+ FX_FLOAT& fWidth, |
+ FX_FLOAT& fHeight); |
+ void SetLineWidth(CFX_RectF& rect); |
+ void DrawText(const FX_WCHAR* pwsStr, |
+ int32_t iLength, |
+ const CFX_RectF& rect, |
+ const CFX_RectF& rtClip); |
+ void LoadText(const FX_WCHAR* pwsStr, int32_t iLength, const CFX_RectF& rect); |
+ void LoadEllipsis(); |
+ void ExpandBuffer(int32_t iSize, int32_t iType); |
+ void RetrieveEllPieces(int32_t*& pCharWidths); |
+ |
+ void Reload(const CFX_RectF& rect); |
+ void ReloadLinePiece(CFDE_TTOLine* pLine, const CFX_RectF& rect); |
+ FX_BOOL RetriecePieces(FX_DWORD dwBreakStatus, |
+ int32_t& iStartChar, |
+ int32_t& iPieceWidths, |
+ FX_BOOL bReload, |
+ const CFX_RectF& rect); |
+ void AppendPiece(const FDE_TTOPIECE& ttoPiece, |
+ FX_BOOL bNeedReload, |
+ FX_BOOL bEnd); |
+ void ReplaceWidthEllipsis(); |
+ void DoAlignment(const CFX_RectF& rect); |
+ void OnDraw(const CFX_RectF& rtClip); |
+ int32_t GetDisplayPos(FDE_LPTTOPIECE pPiece); |
+ int32_t GetCharRects(FDE_LPTTOPIECE pPiece); |
+ |
+ void ToTextRun(const FDE_LPTTOPIECE pPiece, FX_TXTRUN& tr); |
+ void DrawLine(const FDE_LPTTOPIECE pPiece, IFDE_Pen*& pPen); |
+ |
+ IFX_TxtBreak* m_pTxtBreak; |
+ IFX_Font* m_pFont; |
+ FX_FLOAT m_fFontSize; |
+ FX_FLOAT m_fLineSpace; |
+ FX_FLOAT m_fLinePos; |
+ FX_FLOAT m_fTolerance; |
+ int32_t m_iAlignment; |
+ int32_t m_iTxtBkAlignment; |
+ int32_t* m_pCharWidths; |
+ int32_t m_iChars; |
+ int32_t* m_pEllCharWidths; |
+ int32_t m_iEllChars; |
+ FX_WCHAR m_wParagraphBkChar; |
+ FX_ARGB m_TxtColor; |
+ FX_DWORD m_dwStyles; |
+ FX_DWORD m_dwTxtBkStyles; |
+ CFX_WideString m_wsEllipsis; |
+ FX_BOOL m_bElliChanged; |
+ int32_t m_iEllipsisWidth; |
+ CFX_WideString m_wsText; |
+ CFX_RectF m_rtClip; |
+ CFX_RectF m_rtLogicClip; |
+ CFX_Matrix m_Matrix; |
+ CFDE_TTOLineArray m_ttoLines; |
+ int32_t m_iCurLine; |
+ int32_t m_iCurPiece; |
+ int32_t m_iTotalLines; |
+ FXTEXT_CHARPOS* m_pCharPos; |
+ int32_t m_iCharPosSize; |
+ IFDE_RenderDevice* m_pRenderDevice; |
+ CFX_Int32Array m_hotKeys; |
+ CFX_RectFArray m_rectArray; |
+}; |
+#endif |