diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-12-10 15:34:55 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-12-10 15:34:55 -0800 |
commit | 60d909e9d4444b2b8582275624ee97734d331a38 (patch) | |
tree | 6a884e5dd0c785c141919531033de7e2fc5b0e01 /core/src | |
parent | 33c8c7602f8981c32d37a9b2e25496401e914391 (diff) | |
download | pdfium-60d909e9d4444b2b8582275624ee97734d331a38.tar.xz |
Merge to XFA: Remove CFX_AffineMatrix/CPDF_Matrix
Review URL: https://codereview.chromium.org/1513363002 .
(cherry picked from commit f32c969bce6743fca1e7ff796b54a1692d26d7f0)
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1519693002 .
Diffstat (limited to 'core/src')
45 files changed, 435 insertions, 463 deletions
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp index 36dbb97a6c..4df841fb75 100644 --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_content.cpp @@ -9,7 +9,7 @@ #include "core/include/fpdfapi/fpdf_serial.h" #include "core/src/fpdfapi/fpdf_page/pageint.h" -CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& ar, CFX_AffineMatrix& matrix) { +CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& ar, CFX_Matrix& matrix) { ar << matrix.a << " " << matrix.b << " " << matrix.c << " " << matrix.d << " " << matrix.e << " " << matrix.f; return ar; diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp index d4c71085a1..1434c9d336 100644 --- a/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp +++ b/core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp @@ -1343,12 +1343,12 @@ void CPDF_CIDFont::GetCharBBox(FX_DWORD charcode, FX_RECT& rect, int level) { FX_WORD CID = CIDFromCharCode(charcode); const uint8_t* pTransform = GetCIDTransform(CID); if (pTransform && !bVert) { - CFX_AffineMatrix matrix(CIDTransformToFloat(pTransform[0]), - CIDTransformToFloat(pTransform[1]), - CIDTransformToFloat(pTransform[2]), - CIDTransformToFloat(pTransform[3]), - CIDTransformToFloat(pTransform[4]) * 1000, - CIDTransformToFloat(pTransform[5]) * 1000); + CFX_Matrix matrix(CIDTransformToFloat(pTransform[0]), + CIDTransformToFloat(pTransform[1]), + CIDTransformToFloat(pTransform[2]), + CIDTransformToFloat(pTransform[3]), + CIDTransformToFloat(pTransform[4]) * 1000, + CIDTransformToFloat(pTransform[5]) * 1000); CFX_FloatRect rect_f(rect); rect_f.Transform(&matrix); rect = rect_f.GetOutterRect(); diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp index 3777cd078c..45b796ce86 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp @@ -65,21 +65,21 @@ void CPDF_PageObject::RecalcBBox() { break; } } -void CPDF_PageObject::TransformClipPath(CFX_AffineMatrix& matrix) { +void CPDF_PageObject::TransformClipPath(CFX_Matrix& matrix) { if (m_ClipPath.IsNull()) { return; } m_ClipPath.GetModify(); m_ClipPath.Transform(matrix); } -void CPDF_PageObject::TransformGeneralState(CFX_AffineMatrix& matrix) { +void CPDF_PageObject::TransformGeneralState(CFX_Matrix& matrix) { if (m_GeneralState.IsNull()) { return; } CPDF_GeneralStateData* pGS = m_GeneralState.GetModify(); pGS->m_Matrix.Concat(matrix); } -FX_RECT CPDF_PageObject::GetBBox(const CFX_AffineMatrix* pMatrix) const { +FX_RECT CPDF_PageObject::GetBBox(const CFX_Matrix* pMatrix) const { CFX_FloatRect rect(m_Left, m_Bottom, m_Right, m_Top); if (pMatrix) { pMatrix->TransformRect(rect); @@ -209,7 +209,7 @@ void CPDF_TextObject::CopyData(const CPDF_PageObject* pSrc) { m_PosY = pSrcObj->m_PosY; } -void CPDF_TextObject::GetTextMatrix(CFX_AffineMatrix* pMatrix) const { +void CPDF_TextObject::GetTextMatrix(CFX_Matrix* pMatrix) const { FX_FLOAT* pTextMatrix = m_TextState.GetMatrix(); pMatrix->Set(pTextMatrix[0], pTextMatrix[2], pTextMatrix[1], pTextMatrix[3], m_PosX, m_PosY); @@ -509,7 +509,7 @@ void CPDF_TextObject::CalcPositionData(FX_FLOAT* pTextAdvanceX, min_y = min_y * fontsize / 1000; max_y = max_y * fontsize / 1000; } - CFX_AffineMatrix matrix; + CFX_Matrix matrix; GetTextMatrix(&matrix); m_Left = min_x; m_Right = max_x; @@ -553,9 +553,9 @@ void CPDF_TextObject::CalcCharPos(FX_FLOAT* pPosArray) const { } } -void CPDF_TextObject::Transform(const CFX_AffineMatrix& matrix) { +void CPDF_TextObject::Transform(const CFX_Matrix& matrix) { m_TextState.GetModify(); - CFX_AffineMatrix text_matrix; + CFX_Matrix text_matrix; GetTextMatrix(&text_matrix); text_matrix.Concat(matrix); FX_FLOAT* pTextMatrix = m_TextState.GetMatrix(); @@ -623,7 +623,7 @@ void CPDF_ShadingObject::CopyData(const CPDF_PageObject* pSrc) { } m_Matrix = pSrcObj->m_Matrix; } -void CPDF_ShadingObject::Transform(const CFX_AffineMatrix& matrix) { +void CPDF_ShadingObject::Transform(const CFX_Matrix& matrix) { if (!m_ClipPath.IsNull()) { m_ClipPath.GetModify(); m_ClipPath.Transform(matrix); @@ -648,7 +648,7 @@ void CPDF_ShadingObject::CalcBoundingBox() { CPDF_FormObject::~CPDF_FormObject() { delete m_pForm; } -void CPDF_FormObject::Transform(const CFX_AffineMatrix& matrix) { +void CPDF_FormObject::Transform(const CFX_Matrix& matrix) { m_FormMatrix.Concat(matrix); CalcBoundingBox(); } @@ -725,7 +725,7 @@ CPDF_PageObject* CPDF_PageObjects::GetObjectByIndex(int index) const { } return (CPDF_PageObject*)m_ObjectList.GetAt(pos); } -void CPDF_PageObjects::Transform(const CFX_AffineMatrix& matrix) { +void CPDF_PageObjects::Transform(const CFX_Matrix& matrix) { FX_POSITION pos = m_ObjectList.GetHeadPosition(); while (pos) { CPDF_PageObject* pObj = (CPDF_PageObject*)m_ObjectList.GetNext(pos); @@ -923,7 +923,7 @@ CPDF_Form::CPDF_Form(CPDF_Document* pDoc, } CPDF_Form::~CPDF_Form() {} void CPDF_Form::StartParse(CPDF_AllStates* pGraphicStates, - CFX_AffineMatrix* pParentMatrix, + CFX_Matrix* pParentMatrix, CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level) { @@ -936,7 +936,7 @@ void CPDF_Form::StartParse(CPDF_AllStates* pGraphicStates, m_ParseState = CONTENT_PARSING; } void CPDF_Form::ParseContent(CPDF_AllStates* pGraphicStates, - CFX_AffineMatrix* pParentMatrix, + CFX_Matrix* pParentMatrix, CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level) { @@ -953,7 +953,7 @@ CPDF_Form* CPDF_Form::Clone() const { } return pClone; } -void CPDF_Page::GetDisplayMatrix(CFX_AffineMatrix& matrix, +void CPDF_Page::GetDisplayMatrix(CFX_Matrix& matrix, int xPos, int yPos, int xSize, @@ -962,7 +962,7 @@ void CPDF_Page::GetDisplayMatrix(CFX_AffineMatrix& matrix, if (m_PageWidth == 0 || m_PageHeight == 0) { return; } - CFX_AffineMatrix display_matrix; + CFX_Matrix display_matrix; int x0, y0, x1, y1, x2, y2; iRotate %= 4; switch (iRotate) { diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp index 3ae04d7111..44d1dc47b6 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_doc.cpp @@ -91,7 +91,7 @@ CPDF_ColorSpace* CPDF_Document::LoadColorSpace(CPDF_Object* pCSObj, } CPDF_Pattern* CPDF_Document::LoadPattern(CPDF_Object* pPatternObj, FX_BOOL bShading, - const CFX_AffineMatrix* matrix) { + const CFX_Matrix* matrix) { return GetValidatePageData()->GetPattern(pPatternObj, bShading, matrix); } CPDF_IccProfile* CPDF_Document::LoadIccProfile(CPDF_Stream* pStream) { @@ -404,7 +404,7 @@ void CPDF_DocPageData::ReleaseColorSpace(CPDF_Object* pColorSpace) { CPDF_Pattern* CPDF_DocPageData::GetPattern(CPDF_Object* pPatternObj, FX_BOOL bShading, - const CFX_AffineMatrix* matrix) { + const CFX_Matrix* matrix) { if (!pPatternObj) return nullptr; diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp index 5c43b44e76..3852a4852a 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp @@ -190,7 +190,7 @@ void CPDF_ClipPath::AppendTexts(CPDF_TextObject** pTexts, int count) { pData->m_pTextList[pData->m_TextCount + count] = NULL; pData->m_TextCount += count + 1; } -void CPDF_ClipPath::Transform(const CPDF_Matrix& matrix) { +void CPDF_ClipPath::Transform(const CFX_Matrix& matrix) { CPDF_ClipPathData* pData = GetModify(); int i; for (i = 0; i < pData->m_PathCount; i++) { @@ -529,7 +529,7 @@ void CPDF_AllStates::ProcessExtGS(CPDF_Dictionary* pGS, if (ToDictionary(pObject)) { pGeneralState->m_pSoftMask = pObject; FXSYS_memcpy(pGeneralState->m_SMaskMatrix, - &pParser->GetCurStates()->m_CTM, sizeof(CPDF_Matrix)); + &pParser->GetCurStates()->m_CTM, sizeof(CFX_Matrix)); } else { pGeneralState->m_pSoftMask = NULL; } diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_image.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_image.cpp index 9c16173a6f..775bd91d16 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_image.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_image.cpp @@ -32,7 +32,7 @@ void CPDF_ImageObject::CopyData(const CPDF_PageObject* pSrc) { m_pImage = pSrcObj->m_pImage->Clone(); m_Matrix = pSrcObj->m_Matrix; } -void CPDF_ImageObject::Transform(const CFX_AffineMatrix& matrix) { +void CPDF_ImageObject::Transform(const CFX_Matrix& matrix) { m_Matrix.Concat(matrix); CalcBoundingBox(); } diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp index a2d4988f92..21fddead33 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp @@ -19,7 +19,7 @@ CPDF_StreamContentParser::CPDF_StreamContentParser( CPDF_Document* pDocument, CPDF_Dictionary* pPageResources, CPDF_Dictionary* pParentResources, - CFX_AffineMatrix* pmtContentToUser, + CFX_Matrix* pmtContentToUser, CPDF_PageObjects* pObjList, CPDF_Dictionary* pResources, CPDF_Rect* pBBox, @@ -620,7 +620,7 @@ void CPDF_StreamContentParser::Handle_ConcatMatrix() { FX_FLOAT a2 = GetNumber16(5), b2 = GetNumber16(4), c2 = GetNumber16(3), d2 = GetNumber16(2); FX_FLOAT e2 = GetNumber(1), f2 = GetNumber(0); - CFX_AffineMatrix new_matrix(a2, b2, c2, d2, e2, f2); + CFX_Matrix new_matrix(a2, b2, c2, d2, e2, f2); new_matrix.Concat(m_pCurStates->m_CTM); m_pCurStates->m_CTM = new_matrix; OnChangeTextMatrix(); @@ -721,8 +721,7 @@ void CPDF_StreamContentParser::AddForm(CPDF_Stream* pStream) { if (!m_Options.m_bSeparateForm) { CPDF_Dictionary* pResources = pStream->GetDict()->GetDict(FX_BSTRC("Resources")); - CFX_AffineMatrix form_matrix = - pStream->GetDict()->GetMatrix(FX_BSTRC("Matrix")); + CFX_Matrix form_matrix = pStream->GetDict()->GetMatrix(FX_BSTRC("Matrix")); form_matrix.Concat(m_pCurStates->m_CTM); CPDF_Array* pBBox = pStream->GetDict()->GetArray(FX_BSTRC("BBox")); CFX_FloatRect form_bbox; @@ -777,7 +776,7 @@ CPDF_ImageObject* CPDF_StreamContentParser::AddImage(CPDF_Stream* pStream, if (pStream == NULL && pImage == NULL) { return NULL; } - CFX_AffineMatrix ImageMatrix; + CFX_Matrix ImageMatrix; ImageMatrix.Copy(m_pCurStates->m_CTM); ImageMatrix.Concat(m_mtContentToUser); CPDF_ImageObject* pImageObj = new CPDF_ImageObject; @@ -1093,7 +1092,7 @@ void CPDF_StreamContentParser::Handle_SetColorPS_Stroke() { } CFX_FloatRect GetShadingBBox(CPDF_Stream* pStream, ShadingType type, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, CPDF_Function** pFuncs, int nFuncs, CPDF_ColorSpace* pCS); @@ -1387,8 +1386,8 @@ void CPDF_StreamContentParser::Handle_SetTextMatrix() { m_pCurStates->m_TextLineY = 0; } void CPDF_StreamContentParser::OnChangeTextMatrix() { - CFX_AffineMatrix text_matrix(m_pCurStates->m_TextHorzScale, 0.0f, 0.0f, 1.0f, - 0.0f, 0.0f); + CFX_Matrix text_matrix(m_pCurStates->m_TextHorzScale, 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f); text_matrix.Concat(m_pCurStates->m_TextMatrix); text_matrix.Concat(m_pCurStates->m_CTM); text_matrix.Concat(m_mtContentToUser); @@ -1511,7 +1510,7 @@ void CPDF_StreamContentParser::AddPathObject(int FillType, FX_BOOL bStroke) { pPathData->SetPointCount(PathPointCount); FXSYS_memcpy(pPathData->GetPoints(), m_pPathPoints, sizeof(FX_PATHPOINT) * PathPointCount); - CFX_AffineMatrix matrix = m_pCurStates->m_CTM; + CFX_Matrix matrix = m_pCurStates->m_CTM; matrix.Concat(m_mtContentToUser); if (bStroke || FillType) { CPDF_PathObject* pPathObj = new CPDF_PathObject; diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp index a1aa686248..d862225ec6 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser_old.cpp @@ -962,15 +962,14 @@ void CPDF_ContentParser::Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions) { } void CPDF_ContentParser::Start(CPDF_Form* pForm, CPDF_AllStates* pGraphicStates, - CFX_AffineMatrix* pParentMatrix, + CFX_Matrix* pParentMatrix, CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level) { m_pType3Char = pType3Char; m_pObjects = pForm; m_bForm = TRUE; - CFX_AffineMatrix form_matrix = - pForm->m_pFormDict->GetMatrix(FX_BSTRC("Matrix")); + CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrix(FX_BSTRC("Matrix")); if (pGraphicStates) { form_matrix.Concat(pGraphicStates->m_CTM); } diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_path.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_path.cpp index 0880388541..a768434647 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_path.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_path.cpp @@ -17,7 +17,7 @@ void CPDF_PathObject::CopyData(const CPDF_PageObject* pSrc) { m_bStroke = pSrcObj->m_bStroke; m_Matrix = pSrcObj->m_Matrix; } -void CPDF_PathObject::Transform(const CPDF_Matrix& matrix) { +void CPDF_PathObject::Transform(const CFX_Matrix& matrix) { m_Matrix.Concat(matrix); CalcBoundingBox(); } diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_pattern.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_pattern.cpp index 0c6b476db2..77e375bcc0 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_pattern.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_pattern.cpp @@ -26,7 +26,7 @@ ShadingType ToShadingType(int type) { } // namespace -CPDF_Pattern::CPDF_Pattern(const CFX_AffineMatrix* pParentMatrix) +CPDF_Pattern::CPDF_Pattern(const CFX_Matrix* pParentMatrix) : m_pPatternObj(NULL), m_PatternType(PATTERN_TILING), m_pDocument(NULL), @@ -38,7 +38,7 @@ CPDF_Pattern::CPDF_Pattern(const CFX_AffineMatrix* pParentMatrix) CPDF_Pattern::~CPDF_Pattern() {} CPDF_TilingPattern::CPDF_TilingPattern(CPDF_Document* pDoc, CPDF_Object* pPatternObj, - const CFX_AffineMatrix* parentMatrix) + const CFX_Matrix* parentMatrix) : CPDF_Pattern(parentMatrix) { m_PatternType = PATTERN_TILING; m_pPatternObj = pPatternObj; @@ -80,7 +80,7 @@ FX_BOOL CPDF_TilingPattern::Load() { CPDF_ShadingPattern::CPDF_ShadingPattern(CPDF_Document* pDoc, CPDF_Object* pPatternObj, FX_BOOL bShading, - const CFX_AffineMatrix* parentMatrix) + const CFX_Matrix* parentMatrix) : CPDF_Pattern(parentMatrix) { m_PatternType = PATTERN_SHADING; m_pPatternObj = bShading ? NULL : pPatternObj; @@ -253,7 +253,7 @@ void CPDF_MeshStream::GetColor(FX_FLOAT& r, FX_FLOAT& g, FX_FLOAT& b) { } } FX_DWORD CPDF_MeshStream::GetVertex(CPDF_MeshVertex& vertex, - CFX_AffineMatrix* pObject2Bitmap) { + CFX_Matrix* pObject2Bitmap) { FX_DWORD flag = GetFlag(); GetCoords(vertex.x, vertex.y); pObject2Bitmap->Transform(vertex.x, vertex.y); @@ -263,7 +263,7 @@ FX_DWORD CPDF_MeshStream::GetVertex(CPDF_MeshVertex& vertex, } FX_BOOL CPDF_MeshStream::GetVertexRow(CPDF_MeshVertex* vertex, int count, - CFX_AffineMatrix* pObject2Bitmap) { + CFX_Matrix* pObject2Bitmap) { for (int i = 0; i < count; i++) { if (m_BitStream.IsEOF()) { return FALSE; @@ -278,7 +278,7 @@ FX_BOOL CPDF_MeshStream::GetVertexRow(CPDF_MeshVertex* vertex, CFX_FloatRect GetShadingBBox(CPDF_Stream* pStream, ShadingType type, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, CPDF_Function** pFuncs, int nFuncs, CPDF_ColorSpace* pCS) { diff --git a/core/src/fpdfapi/fpdf_page/pageint.h b/core/src/fpdfapi/fpdf_page/pageint.h index 84c8366780..d5a035fe2b 100644 --- a/core/src/fpdfapi/fpdf_page/pageint.h +++ b/core/src/fpdfapi/fpdf_page/pageint.h @@ -167,7 +167,7 @@ class CPDF_StreamContentParser { CPDF_StreamContentParser(CPDF_Document* pDoc, CPDF_Dictionary* pPageResources, CPDF_Dictionary* pParentResources, - CFX_AffineMatrix* pmtContentToUser, + CFX_Matrix* pmtContentToUser, CPDF_PageObjects* pObjList, CPDF_Dictionary* pResources, CFX_FloatRect* pBBox, @@ -312,7 +312,7 @@ class CPDF_StreamContentParser { CPDF_Dictionary* m_pResources; CPDF_PageObjects* m_pObjectList; int m_Level; - CFX_AffineMatrix m_mtContentToUser; + CFX_Matrix m_mtContentToUser; CFX_FloatRect m_BBox; CPDF_ParseOptions m_Options; _ContentParam m_ParamBuf1[PARAM_BUF_SIZE]; @@ -357,7 +357,7 @@ class CPDF_ContentParser { void Start(CPDF_Page* pPage, CPDF_ParseOptions* pOptions); void Start(CPDF_Form* pForm, CPDF_AllStates* pGraphicStates, - CFX_AffineMatrix* pParentMatrix, + CFX_Matrix* pParentMatrix, CPDF_Type3Char* pType3Char, CPDF_ParseOptions* pOptions, int level); @@ -386,7 +386,7 @@ class CPDF_AllStates : public CPDF_GraphicStates { void Copy(const CPDF_AllStates& src); void ProcessExtGS(CPDF_Dictionary* pGS, CPDF_StreamContentParser* pParser); void SetLineDash(CPDF_Array*, FX_FLOAT, FX_FLOAT scale); - CFX_AffineMatrix m_TextMatrix, m_CTM, m_ParentMatrix; + CFX_Matrix m_TextMatrix, m_CTM, m_ParentMatrix; FX_FLOAT m_TextX, m_TextY, m_TextLineX, m_TextLineY; FX_FLOAT m_TextLeading, m_TextRise, m_TextHorzScale; }; @@ -407,7 +407,7 @@ class CPDF_DocPageData { void ReleaseColorSpace(CPDF_Object* pColorSpace); CPDF_Pattern* GetPattern(CPDF_Object* pPatternObj, FX_BOOL bShading, - const CFX_AffineMatrix* matrix); + const CFX_Matrix* matrix); void ReleasePattern(CPDF_Object* pPatternObj); CPDF_Image* GetImage(CPDF_Object* pImageStream); void ReleaseImage(CPDF_Object* pImageStream); diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp index 752a09d83d..f91ddfa5dc 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp @@ -440,8 +440,8 @@ CFX_FloatRect CPDF_Array::GetRect() { rect.top = GetNumber(3); return rect; } -CFX_AffineMatrix CPDF_Array::GetMatrix() { - CFX_AffineMatrix matrix; +CFX_Matrix CPDF_Array::GetMatrix() { + CFX_Matrix matrix; if (!IsArray() || m_Objects.GetSize() != 6) return matrix; @@ -702,8 +702,8 @@ CFX_FloatRect CPDF_Dictionary::GetRect(const CFX_ByteStringC& key) const { rect = pArray->GetRect(); return rect; } -CFX_AffineMatrix CPDF_Dictionary::GetMatrix(const CFX_ByteStringC& key) const { - CFX_AffineMatrix matrix; +CFX_Matrix CPDF_Dictionary::GetMatrix(const CFX_ByteStringC& key) const { + CFX_Matrix matrix; CPDF_Array* pArray = GetArray(key); if (pArray) matrix = pArray->GetMatrix(); @@ -814,7 +814,7 @@ void CPDF_Dictionary::SetAtRect(const CFX_ByteStringC& key, SetAt(key, pArray); } void CPDF_Dictionary::SetAtMatrix(const CFX_ByteStringC& key, - const CFX_AffineMatrix& matrix) { + const CFX_Matrix& matrix) { CPDF_Array* pArray = new CPDF_Array; pArray->AddNumber16(matrix.a); pArray->AddNumber16(matrix.b); diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render.cpp index a2638fe7e1..faf6afe7f6 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render.cpp @@ -181,7 +181,7 @@ CPDF_RenderStatus::~CPDF_RenderStatus() { FX_BOOL CPDF_RenderStatus::Initialize(CPDF_RenderContext* pContext, CFX_RenderDevice* pDevice, - const CFX_AffineMatrix* pDeviceMatrix, + const CFX_Matrix* pDeviceMatrix, const CPDF_PageObject* pStopObj, const CPDF_RenderStatus* pParentState, const CPDF_GraphicStates* pInitialStates, @@ -241,9 +241,9 @@ FX_BOOL CPDF_RenderStatus::Initialize(CPDF_RenderContext* pContext, return TRUE; } void CPDF_RenderStatus::RenderObjectList(const CPDF_PageObjects* pObjs, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { CFX_FloatRect clip_rect = m_pDevice->GetClipBox(); - CFX_AffineMatrix device2object; + CFX_Matrix device2object; device2object.SetReverse(*pObj2Device); device2object.TransformRect(clip_rect); int index = 0; @@ -270,9 +270,8 @@ void CPDF_RenderStatus::RenderObjectList(const CPDF_PageObjects* pObjs, } } } -void CPDF_RenderStatus::RenderSingleObject( - const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device) { +void CPDF_RenderStatus::RenderSingleObject(const CPDF_PageObject* pObj, + const CFX_Matrix* pObj2Device) { CFX_AutoRestorer<int> restorer(&s_CurrentRecursionDepth); if (++s_CurrentRecursionDepth > kRenderMaxRecursionDepth) { return; @@ -290,10 +289,9 @@ void CPDF_RenderStatus::RenderSingleObject( ProcessObjectNoClip(pObj, pObj2Device); } -FX_BOOL CPDF_RenderStatus::ContinueSingleObject( - const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, - IFX_Pause* pPause) { +FX_BOOL CPDF_RenderStatus::ContinueSingleObject(const CPDF_PageObject* pObj, + const CFX_Matrix* pObj2Device, + IFX_Pause* pPause) { if (m_pObjectRenderer) { if (m_pObjectRenderer->Continue(pPause)) return TRUE; @@ -335,11 +333,10 @@ IPDF_ObjectRenderer* IPDF_ObjectRenderer::Create(int type) { } return new CPDF_ImageRenderer; } -FX_BOOL CPDF_RenderStatus::GetObjectClippedRect( - const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, - FX_BOOL bLogical, - FX_RECT& rect) const { +FX_BOOL CPDF_RenderStatus::GetObjectClippedRect(const CPDF_PageObject* pObj, + const CFX_Matrix* pObj2Device, + FX_BOOL bLogical, + FX_RECT& rect) const { rect = pObj->GetBBox(pObj2Device); FX_RECT rtClip = m_pDevice->GetClipBox(); if (!bLogical) { @@ -359,7 +356,7 @@ FX_BOOL CPDF_RenderStatus::GetObjectClippedRect( return rect.IsEmpty(); } void CPDF_RenderStatus::DitherObjectArea(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { CFX_DIBitmap* pBitmap = m_pDevice->GetBitmap(); if (pBitmap == NULL) { return; @@ -380,9 +377,8 @@ void CPDF_RenderStatus::DitherObjectArea(const CPDF_PageObject* pObj, pBitmap->DitherFS(pal, 16, &rect); } } -void CPDF_RenderStatus::ProcessObjectNoClip( - const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device) { +void CPDF_RenderStatus::ProcessObjectNoClip(const CPDF_PageObject* pObj, + const CFX_Matrix* pObj2Device) { FX_BOOL bRet = FALSE; switch (pObj->m_Type) { case PDFPAGE_TEXT: @@ -405,9 +401,8 @@ void CPDF_RenderStatus::ProcessObjectNoClip( DrawObjWithBackground(pObj, pObj2Device); } } -FX_BOOL CPDF_RenderStatus::DrawObjWithBlend( - const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device) { +FX_BOOL CPDF_RenderStatus::DrawObjWithBlend(const CPDF_PageObject* pObj, + const CFX_Matrix* pObj2Device) { FX_BOOL bRet = FALSE; switch (pObj->m_Type) { case PDFPAGE_PATH: @@ -427,9 +422,8 @@ void CPDF_RenderStatus::GetScaledMatrix(CFX_Matrix& matrix) const { matrix.a *= FXSYS_fabs(dCTM.a); matrix.d *= FXSYS_fabs(dCTM.d); } -void CPDF_RenderStatus::DrawObjWithBackground( - const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device) { +void CPDF_RenderStatus::DrawObjWithBackground(const CPDF_PageObject* pObj, + const CFX_Matrix* pObj2Device) { FX_RECT rect; if (GetObjectClippedRect(pObj, pObj2Device, FALSE, rect)) { return; @@ -443,7 +437,7 @@ void CPDF_RenderStatus::DrawObjWithBackground( if (!buffer.Initialize(m_pContext, m_pDevice, &rect, pObj, &m_Options, res)) { return; } - CFX_AffineMatrix matrix = *pObj2Device; + CFX_Matrix matrix = *pObj2Device; matrix.Concat(*buffer.GetMatrix()); GetScaledMatrix(matrix); CPDF_Dictionary* pFormResource = NULL; @@ -462,14 +456,14 @@ void CPDF_RenderStatus::DrawObjWithBackground( buffer.OutputToDevice(); } FX_BOOL CPDF_RenderStatus::ProcessForm(CPDF_FormObject* pFormObj, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { CPDF_Dictionary* pOC = pFormObj->m_pForm->m_pFormDict->GetDict(FX_BSTRC("OC")); if (pOC && m_Options.m_pOCContext && !m_Options.m_pOCContext->CheckOCGVisible(pOC)) { return TRUE; } - CFX_AffineMatrix matrix = pFormObj->m_FormMatrix; + CFX_Matrix matrix = pFormObj->m_FormMatrix; matrix.Concat(*pObj2Device); CPDF_Dictionary* pResources = NULL; if (pFormObj->m_pForm && pFormObj->m_pForm->m_pFormDict) { @@ -486,7 +480,7 @@ FX_BOOL CPDF_RenderStatus::ProcessForm(CPDF_FormObject* pFormObj, m_pDevice->RestoreState(); return TRUE; } -FX_BOOL IsAvailableMatrix(const CFX_AffineMatrix& matrix) { +FX_BOOL IsAvailableMatrix(const CFX_Matrix& matrix) { if (matrix.a == 0 || matrix.d == 0) { return matrix.b != 0 && matrix.c != 0; } @@ -496,7 +490,7 @@ FX_BOOL IsAvailableMatrix(const CFX_AffineMatrix& matrix) { return TRUE; } FX_BOOL CPDF_RenderStatus::ProcessPath(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { int FillType = pPathObj->m_FillType; FX_BOOL bStroke = pPathObj->m_bStroke; ProcessPathPattern(pPathObj, pObj2Device, FillType, bStroke); @@ -511,7 +505,7 @@ FX_BOOL CPDF_RenderStatus::ProcessPath(CPDF_PathObject* pPathObj, if (bStroke) { stroke_argb = GetStrokeArgb(pPathObj); } - CFX_AffineMatrix path_matrix = pPathObj->m_Matrix; + CFX_Matrix path_matrix = pPathObj->m_Matrix; path_matrix.Concat(*pObj2Device); if (!IsAvailableMatrix(path_matrix)) { return TRUE; @@ -623,7 +617,7 @@ FX_ARGB CPDF_RenderStatus::GetStrokeArgb(const CPDF_PageObject* pObj) const { return m_Options.TranslateColor(ArgbEncode(alpha, rgb)); } void CPDF_RenderStatus::ProcessClipPath(CPDF_ClipPath ClipPath, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { if (ClipPath.IsNull()) { if (!m_LastClipPath.IsNull()) { m_pDevice->RestoreState(TRUE); @@ -683,7 +677,7 @@ void CPDF_RenderStatus::ProcessClipPath(CPDF_ClipPath ClipPath, } void CPDF_RenderStatus::DrawClipPath(CPDF_ClipPath ClipPath, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { if (ClipPath.IsNull()) { return; } @@ -707,9 +701,9 @@ void CPDF_RenderStatus::DrawClipPath(CPDF_ClipPath ClipPath, } } FX_BOOL CPDF_RenderStatus::SelectClipPath(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStroke) { - CFX_AffineMatrix path_matrix = pPathObj->m_Matrix; + CFX_Matrix path_matrix = pPathObj->m_Matrix; path_matrix.Concat(*pObj2Device); if (bStroke) { CFX_GraphStateData graphState(*pPathObj->m_GraphState); @@ -725,9 +719,8 @@ FX_BOOL CPDF_RenderStatus::SelectClipPath(CPDF_PathObject* pPathObj, } return m_pDevice->SetClip_PathFill(pPathObj->m_Path, &path_matrix, fill_mode); } -FX_BOOL CPDF_RenderStatus::ProcessTransparency( - const CPDF_PageObject* pPageObj, - const CFX_AffineMatrix* pObj2Device) { +FX_BOOL CPDF_RenderStatus::ProcessTransparency(const CPDF_PageObject* pPageObj, + const CFX_Matrix* pObj2Device) { const CPDF_GeneralStateData* pGeneralState = pPageObj->m_GeneralState; int blend_type = pGeneralState ? pGeneralState->m_BlendType : FXDIB_BLEND_NORMAL; @@ -838,7 +831,7 @@ FX_BOOL CPDF_RenderStatus::ProcessTransparency( CFX_DIBitmap* bitmap = bitmap_device.GetBitmap(); bitmap->Clear(0); - CFX_AffineMatrix new_matrix = *pObj2Device; + CFX_Matrix new_matrix = *pObj2Device; new_matrix.TranslateI(-rect.left, -rect.top); new_matrix.Scale(scaleX, scaleY); nonstd::unique_ptr<CFX_DIBitmap> pTextMask; @@ -855,7 +848,7 @@ FX_BOOL CPDF_RenderStatus::ProcessTransparency( if (textobj == NULL) { break; } - CFX_AffineMatrix text_matrix; + CFX_Matrix text_matrix; textobj->GetTextMatrix(&text_matrix); CPDF_TextRenderer::DrawTextPath( &text_device, textobj->m_nChars, textobj->m_pCharCodes, @@ -871,7 +864,7 @@ FX_BOOL CPDF_RenderStatus::ProcessTransparency( bitmap_render.ProcessObjectNoClip(pPageObj, &new_matrix); m_bStopped = bitmap_render.m_bStopped; if (pSMaskDict) { - CFX_AffineMatrix smask_matrix; + CFX_Matrix smask_matrix; FXSYS_memcpy(&smask_matrix, pGeneralState->m_SMaskMatrix, sizeof smask_matrix); smask_matrix.Concat(*pObj2Device); @@ -930,7 +923,7 @@ CFX_DIBitmap* CPDF_RenderStatus::GetBackdrop(const CPDF_PageObject* pObj, return pBackdrop.release(); } - CFX_AffineMatrix FinalMatrix = m_DeviceMatrix; + CFX_Matrix FinalMatrix = m_DeviceMatrix; FinalMatrix.TranslateI(-left, -top); FinalMatrix.Scale(scaleX, scaleY); pBackdrop->Clear(pBackdrop->HasAlpha() ? 0 : 0xffffffff); @@ -943,7 +936,7 @@ CFX_DIBitmap* CPDF_RenderStatus::GetBackdrop(const CPDF_PageObject* pObj, void CPDF_RenderContext::GetBackground(CFX_DIBitmap* pBuffer, const CPDF_PageObject* pObj, const CPDF_RenderOptions* pOptions, - CFX_AffineMatrix* pFinalMatrix) { + CFX_Matrix* pFinalMatrix) { CFX_FxgeDevice device; device.Attach(pBuffer); @@ -994,9 +987,8 @@ void CPDF_RenderContext::Clear() { m_bFirstLayer = TRUE; m_ContentList.RemoveAll(); } -void CPDF_RenderContext::AppendObjectList( - CPDF_PageObjects* pObjs, - const CFX_AffineMatrix* pObject2Device) { +void CPDF_RenderContext::AppendObjectList(CPDF_PageObjects* pObjs, + const CFX_Matrix* pObject2Device) { _PDF_RenderItem* pItem = m_ContentList.AddSpace(); pItem->m_pObjectList = pObjs; if (pObject2Device) { @@ -1007,19 +999,19 @@ void CPDF_RenderContext::AppendObjectList( } void CPDF_RenderContext::Render(CFX_RenderDevice* pDevice, const CPDF_RenderOptions* pOptions, - const CFX_AffineMatrix* pLastMatrix) { + const CFX_Matrix* pLastMatrix) { Render(pDevice, NULL, pOptions, pLastMatrix); } void CPDF_RenderContext::Render(CFX_RenderDevice* pDevice, const CPDF_PageObject* pStopObj, const CPDF_RenderOptions* pOptions, - const CFX_AffineMatrix* pLastMatrix) { + const CFX_Matrix* pLastMatrix) { int count = m_ContentList.GetSize(); for (int j = 0; j < count; j++) { pDevice->SaveState(); _PDF_RenderItem* pItem = m_ContentList.GetDataPtr(j); if (pLastMatrix) { - CFX_AffineMatrix FinalMatrix = pItem->m_Matrix; + CFX_Matrix FinalMatrix = pItem->m_Matrix; FinalMatrix.Concat(*pLastMatrix); CPDF_RenderStatus status; status.Initialize(this, pDevice, pLastMatrix, pStopObj, NULL, NULL, @@ -1051,7 +1043,7 @@ void CPDF_RenderContext::Render(CFX_RenderDevice* pDevice, } void CPDF_RenderContext::DrawObjectList(CFX_RenderDevice* pDevice, CPDF_PageObjects* pObjs, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CPDF_RenderOptions* pOptions) { AppendObjectList(pObjs, pObject2Device); Render(pDevice, pOptions); @@ -1130,7 +1122,7 @@ void CPDF_ProgressiveRenderer::Continue(IFX_Pause* pPause) { pItem->m_pObjectList->m_Transparency, FALSE, NULL); m_pDevice->SaveState(); m_ClipRect = m_pDevice->GetClipBox(); - CFX_AffineMatrix device2object; + CFX_Matrix device2object; device2object.SetReverse(pItem->m_Matrix); device2object.TransformRect(m_ClipRect); } diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp index 71e847a160..81efc956a2 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_image.cpp @@ -15,7 +15,7 @@ #include "core/src/fpdfapi/fpdf_page/pageint.h" FX_BOOL CPDF_RenderStatus::ProcessImage(CPDF_ImageObject* pImageObj, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { CPDF_ImageRenderer render; if (render.Start(this, pImageObj, pObj2Device, m_bStdCS, m_curBlend)) { render.Continue(NULL); @@ -471,7 +471,7 @@ FX_BOOL CPDF_ImageRenderer::StartRenderDIBSource() { } FX_BOOL CPDF_ImageRenderer::Start(CPDF_RenderStatus* pStatus, const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStdCS, int blendType) { m_pRenderStatus = pStatus; @@ -495,7 +495,7 @@ FX_BOOL CPDF_ImageRenderer::Start(CPDF_RenderStatus* pStatus, const CFX_DIBSource* pDIBSource, FX_ARGB bitmap_argb, int bitmap_alpha, - const CFX_AffineMatrix* pImage2Device, + const CFX_Matrix* pImage2Device, FX_DWORD flags, FX_BOOL bStdCS, int blendType) { @@ -520,7 +520,7 @@ FX_BOOL CPDF_ImageRenderer::DrawPatternImage(const CFX_Matrix* pObj2Device) { if (rect.IsEmpty()) { return FALSE; } - CFX_AffineMatrix new_matrix = m_ImageMatrix; + CFX_Matrix new_matrix = m_ImageMatrix; new_matrix.TranslateI(-rect.left, -rect.top); int width = rect.Width(); int height = rect.Height(); @@ -617,7 +617,7 @@ FX_BOOL CPDF_ImageRenderer::DrawMaskedImage() { if (rect.IsEmpty()) { return FALSE; } - CFX_AffineMatrix new_matrix = m_ImageMatrix; + CFX_Matrix new_matrix = m_ImageMatrix; new_matrix.TranslateI(-rect.left, -rect.top); int width = rect.Width(); int height = rect.Height(); @@ -901,7 +901,7 @@ ICodec_ScanlineDecoder* FPDFAPI_CreateFlateDecoder( int bpc, const CPDF_Dictionary* pParams); FX_BOOL CPDF_QuickStretcher::Start(CPDF_ImageObject* pImageObj, - CFX_AffineMatrix* pImage2Device, + CFX_Matrix* pImage2Device, const FX_RECT* pClipBox) { if (FXSYS_fabs(pImage2Device->a) < FXSYS_fabs(pImage2Device->b) * 10 && FXSYS_fabs(pImage2Device->d) < FXSYS_fabs(pImage2Device->c) * 10) { @@ -1042,7 +1042,7 @@ FX_BOOL CPDF_QuickStretcher::Continue(IFX_Pause* pPause) { } CFX_DIBitmap* CPDF_RenderStatus::LoadSMask(CPDF_Dictionary* pSMaskDict, FX_RECT* pClipRect, - const CFX_AffineMatrix* pMatrix) { + const CFX_Matrix* pMatrix) { if (pSMaskDict == NULL) { return NULL; } @@ -1059,7 +1059,7 @@ CFX_DIBitmap* CPDF_RenderStatus::LoadSMask(CPDF_Dictionary* pSMaskDict, if (pFuncObj && (pFuncObj->IsDictionary() || pFuncObj->IsStream())) pFunc.reset(CPDF_Function::Load(pFuncObj)); - CFX_AffineMatrix matrix = *pMatrix; + CFX_Matrix matrix = *pMatrix; matrix.TranslateI(-pClipRect->left, -pClipRect->top); CPDF_Form form(m_pContext->m_pDocument, m_pContext->m_pPageResources, pGroup); form.ParseContent(NULL, NULL, NULL, NULL); diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_pattern.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_pattern.cpp index 576c18ebbd..193c2ae05a 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_pattern.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_pattern.cpp @@ -13,7 +13,7 @@ #define SHADING_STEPS 256 static void DrawAxialShading(CFX_DIBitmap* pBitmap, - CFX_AffineMatrix* pObject2Bitmap, + CFX_Matrix* pObject2Bitmap, CPDF_Dictionary* pDict, CPDF_Function** pFuncs, int nFuncs, @@ -46,7 +46,7 @@ static void DrawAxialShading(CFX_DIBitmap* pBitmap, FX_FLOAT y_span = end_y - start_y; FX_FLOAT axis_len_square = FXSYS_Mul(x_span, x_span) + FXSYS_Mul(y_span, y_span); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; matrix.SetReverse(*pObject2Bitmap); int total_results = 0; for (int j = 0; j < nFuncs; j++) { @@ -104,7 +104,7 @@ static void DrawAxialShading(CFX_DIBitmap* pBitmap, } } static void DrawRadialShading(CFX_DIBitmap* pBitmap, - CFX_AffineMatrix* pObject2Bitmap, + CFX_Matrix* pObject2Bitmap, CPDF_Dictionary* pDict, CPDF_Function** pFuncs, int nFuncs, @@ -121,7 +121,7 @@ static void DrawRadialShading(CFX_DIBitmap* pBitmap, FX_FLOAT end_x = pCoords->GetNumber(3); FX_FLOAT end_y = pCoords->GetNumber(4); FX_FLOAT end_r = pCoords->GetNumber(5); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; matrix.SetReverse(*pObject2Bitmap); FX_FLOAT t_min = 0, t_max = 1.0f; CPDF_Array* pArray = pDict->GetArray(FX_BSTRC("Domain")); @@ -242,7 +242,7 @@ static void DrawRadialShading(CFX_DIBitmap* pBitmap, } } static void DrawFuncShading(CFX_DIBitmap* pBitmap, - CFX_AffineMatrix* pObject2Bitmap, + CFX_Matrix* pObject2Bitmap, CPDF_Dictionary* pDict, CPDF_Function** pFuncs, int nFuncs, @@ -257,8 +257,8 @@ static void DrawFuncShading(CFX_DIBitmap* pBitmap, ymin = pDomain->GetNumber(2); ymax = pDomain->GetNumber(3); } - CFX_AffineMatrix mtDomain2Target = pDict->GetMatrix(FX_BSTRC("Matrix")); - CFX_AffineMatrix matrix, reverse_matrix; + CFX_Matrix mtDomain2Target = pDict->GetMatrix(FX_BSTRC("Matrix")); + CFX_Matrix matrix, reverse_matrix; matrix.SetReverse(*pObject2Bitmap); reverse_matrix.SetReverse(mtDomain2Target); matrix.Concat(reverse_matrix); @@ -411,7 +411,7 @@ static void DrawGouraud(CFX_DIBitmap* pBitmap, } } static void DrawFreeGouraudShading(CFX_DIBitmap* pBitmap, - CFX_AffineMatrix* pObject2Bitmap, + CFX_Matrix* pObject2Bitmap, CPDF_Stream* pShadingStream, CPDF_Function** pFuncs, int nFuncs, @@ -445,7 +445,7 @@ static void DrawFreeGouraudShading(CFX_DIBitmap* pBitmap, } } static void DrawLatticeGouraudShading(CFX_DIBitmap* pBitmap, - CFX_AffineMatrix* pObject2Bitmap, + CFX_Matrix* pObject2Bitmap, CPDF_Stream* pShadingStream, CPDF_Function** pFuncs, int nFuncs, @@ -748,7 +748,7 @@ FX_BOOL _CheckCoonTensorPara(const CPDF_MeshStream& stream) { static void DrawCoonPatchMeshes(FX_BOOL bTensor, CFX_DIBitmap* pBitmap, - CFX_AffineMatrix* pObject2Bitmap, + CFX_Matrix* pObject2Bitmap, CPDF_Stream* pShadingStream, CPDF_Function** pFuncs, int nFuncs, @@ -826,7 +826,7 @@ static void DrawCoonPatchMeshes(FX_BOOL bTensor, } } void CPDF_RenderStatus::DrawShading(CPDF_ShadingPattern* pPattern, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, FX_RECT& clip_rect, int alpha, FX_BOOL bAlphaMode) { @@ -861,7 +861,7 @@ void CPDF_RenderStatus::DrawShading(CPDF_ShadingPattern* pPattern, } CPDF_DeviceBuffer buffer; buffer.Initialize(m_pContext, m_pDevice, &clip_rect, m_pCurObj, 150); - CFX_AffineMatrix FinalMatrix = *pMatrix; + CFX_Matrix FinalMatrix = *pMatrix; FinalMatrix.Concat(*buffer.GetMatrix()); CFX_DIBitmap* pBitmap = buffer.GetBitmap(); if (pBitmap->GetBuffer() == NULL) { @@ -913,7 +913,7 @@ void CPDF_RenderStatus::DrawShading(CPDF_ShadingPattern* pPattern, } void CPDF_RenderStatus::DrawShadingPattern(CPDF_ShadingPattern* pattern, CPDF_PageObject* pPageObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStroke) { if (!pattern->Load()) { return; @@ -935,7 +935,7 @@ void CPDF_RenderStatus::DrawShadingPattern(CPDF_ShadingPattern* pattern, m_pDevice->RestoreState(); return; } - CFX_AffineMatrix matrix = pattern->m_Pattern2Form; + CFX_Matrix matrix = pattern->m_Pattern2Form; matrix.Concat(*pObj2Device); GetScaledMatrix(matrix); int alpha = pPageObj->m_GeneralState.GetAlpha(bStroke); @@ -944,14 +944,14 @@ void CPDF_RenderStatus::DrawShadingPattern(CPDF_ShadingPattern* pattern, m_pDevice->RestoreState(); } FX_BOOL CPDF_RenderStatus::ProcessShading(CPDF_ShadingObject* pShadingObj, - const CFX_AffineMatrix* pObj2Device) { + const CFX_Matrix* pObj2Device) { FX_RECT rect = pShadingObj->GetBBox(pObj2Device); FX_RECT clip_box = m_pDevice->GetClipBox(); rect.Intersect(clip_box); if (rect.IsEmpty()) { return TRUE; } - CFX_AffineMatrix matrix = pShadingObj->m_Matrix; + CFX_Matrix matrix = pShadingObj->m_Matrix; matrix.Concat(*pObj2Device); DrawShading(pShadingObj->m_pShading, &matrix, rect, pShadingObj->m_GeneralState.GetAlpha(FALSE), @@ -961,7 +961,7 @@ FX_BOOL CPDF_RenderStatus::ProcessShading(CPDF_ShadingObject* pShadingObj, static CFX_DIBitmap* DrawPatternBitmap(CPDF_Document* pDoc, CPDF_PageRenderCache* pCache, CPDF_TilingPattern* pPattern, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, int width, int height, int flags) { @@ -978,9 +978,9 @@ static CFX_DIBitmap* DrawPatternBitmap(CPDF_Document* pDoc, pPattern->m_Pattern2Form.TransformRect(cell_bbox); pObject2Device->TransformRect(cell_bbox); CFX_FloatRect bitmap_rect(0.0f, 0.0f, (FX_FLOAT)width, (FX_FLOAT)height); - CFX_AffineMatrix mtAdjust; + CFX_Matrix mtAdjust; mtAdjust.MatchRect(bitmap_rect, cell_bbox); - CFX_AffineMatrix mtPattern2Bitmap = *pObject2Device; + CFX_Matrix mtPattern2Bitmap = *pObject2Device; mtPattern2Bitmap.Concat(mtAdjust); CPDF_RenderOptions options; if (!pPattern->m_bColored) { @@ -996,7 +996,7 @@ static CFX_DIBitmap* DrawPatternBitmap(CPDF_Document* pDoc, } void CPDF_RenderStatus::DrawTilingPattern(CPDF_TilingPattern* pPattern, CPDF_PageObject* pPageObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStroke) { if (!pPattern->Load()) { return; @@ -1023,7 +1023,7 @@ void CPDF_RenderStatus::DrawTilingPattern(CPDF_TilingPattern* pPattern, FX_FLOAT sd = FXSYS_fabs(dCTM.d); clip_box.right = clip_box.left + (int32_t)FXSYS_ceil(clip_box.Width() * sa); clip_box.bottom = clip_box.top + (int32_t)FXSYS_ceil(clip_box.Height() * sd); - CFX_AffineMatrix mtPattern2Device = pPattern->m_Pattern2Form; + CFX_Matrix mtPattern2Device = pPattern->m_Pattern2Form; mtPattern2Device.Concat(*pObj2Device); GetScaledMatrix(mtPattern2Device); FX_BOOL bAligned = FALSE; @@ -1044,7 +1044,7 @@ void CPDF_RenderStatus::DrawTilingPattern(CPDF_TilingPattern* pPattern, height = 1; } int min_col, max_col, min_row, max_row; - CFX_AffineMatrix mtDevice2Pattern; + CFX_Matrix mtDevice2Pattern; mtDevice2Pattern.SetReverse(mtPattern2Device); CFX_FloatRect clip_box_p(clip_box); clip_box_p.Transform(&mtDevice2Pattern); @@ -1073,7 +1073,7 @@ void CPDF_RenderStatus::DrawTilingPattern(CPDF_TilingPattern* pPattern, orig_x = col * pPattern->m_XStep; orig_y = row * pPattern->m_YStep; mtPattern2Device.Transform(orig_x, orig_y); - CFX_AffineMatrix matrix = *pObj2Device; + CFX_Matrix matrix = *pObj2Device; matrix.Translate(orig_x - mtPattern2Device.e, orig_y - mtPattern2Device.f); m_pDevice->SaveState(); @@ -1182,7 +1182,7 @@ void CPDF_RenderStatus::DrawTilingPattern(CPDF_TilingPattern* pPattern, delete pPatternBitmap; } void CPDF_RenderStatus::DrawPathWithPattern(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, CPDF_Color* pColor, FX_BOOL bStroke) { CPDF_Pattern* pattern = pColor->GetPattern(); @@ -1198,7 +1198,7 @@ void CPDF_RenderStatus::DrawPathWithPattern(CPDF_PathObject* pPathObj, } } void CPDF_RenderStatus::ProcessPathPattern(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, int& filltype, FX_BOOL& bStroke) { if (filltype) { diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp index 8cfa8dc4fb..47876a2280 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_text.cpp @@ -18,7 +18,7 @@ CPDF_Type3Cache::~CPDF_Type3Cache() { m_SizeMap.clear(); } CFX_GlyphBitmap* CPDF_Type3Cache::LoadGlyph(FX_DWORD charcode, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_FLOAT retinaScaleX, FX_FLOAT retinaScaleY) { _CPDF_UniqueKeyGen keygen; @@ -126,7 +126,7 @@ static int _DetectFirstLastScan(const CFX_DIBitmap* pBitmap, FX_BOOL bFirst) { } CFX_GlyphBitmap* CPDF_Type3Cache::RenderGlyph(CPDF_Type3Glyphs* pSize, FX_DWORD charcode, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_FLOAT retinaScaleX, FX_FLOAT retinaScaleY) { const CPDF_Type3Char* pChar = m_pFont->LoadChar(charcode); @@ -134,7 +134,7 @@ CFX_GlyphBitmap* CPDF_Type3Cache::RenderGlyph(CPDF_Type3Glyphs* pSize, return nullptr; CFX_DIBitmap* pBitmap = pChar->m_pBitmap; - CFX_AffineMatrix image_matrix, text_matrix; + CFX_Matrix image_matrix, text_matrix; image_matrix = pChar->m_ImageMatrix; text_matrix.Set(pMatrix->a, pMatrix->b, pMatrix->c, pMatrix->d, 0, 0); image_matrix.Concat(text_matrix); @@ -194,7 +194,7 @@ void _CPDF_UniqueKeyGen::Generate(int count, ...) { m_KeyLen = count * sizeof(FX_DWORD); } FX_BOOL CPDF_RenderStatus::ProcessText(const CPDF_TextObject* textobj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, CFX_PathData* pClippingPath) { if (textobj->m_nChars == 0) { return TRUE; @@ -257,7 +257,7 @@ FX_BOOL CPDF_RenderStatus::ProcessText(const CPDF_TextObject* textobj, fill_argb = GetFillArgb(textobj); } } - CFX_AffineMatrix text_matrix; + CFX_Matrix text_matrix; textobj->GetTextMatrix(&text_matrix); if (IsAvailableMatrix(text_matrix) == FALSE) { return TRUE; @@ -269,12 +269,12 @@ FX_BOOL CPDF_RenderStatus::ProcessText(const CPDF_TextObject* textobj, return TRUE; } if (bClip || bStroke) { - const CFX_AffineMatrix* pDeviceMatrix = pObj2Device; - CFX_AffineMatrix device_matrix; + const CFX_Matrix* pDeviceMatrix = pObj2Device; + CFX_Matrix device_matrix; if (bStroke) { const FX_FLOAT* pCTM = textobj->m_TextState.GetObject()->m_CTM; if (pCTM[0] != 1.0f || pCTM[3] != 1.0f) { - CFX_AffineMatrix ctm(pCTM[0], pCTM[1], pCTM[2], pCTM[3], 0, 0); + CFX_Matrix ctm(pCTM[0], pCTM[1], pCTM[2], pCTM[3], 0, 0); text_matrix.ConcatInverse(ctm); device_matrix.Copy(ctm); device_matrix.Concat(*pObj2Device); @@ -354,9 +354,8 @@ class CPDF_RefType3Cache { FX_DWORD m_dwCount; CPDF_Type3Font* m_pType3Font; }; -FX_BOOL CPDF_RenderStatus::ProcessType3Text( - const CPDF_TextObject* textobj, - const CFX_AffineMatrix* pObj2Device) { +FX_BOOL CPDF_RenderStatus::ProcessType3Text(const CPDF_TextObject* textobj, + const CFX_Matrix* pObj2Device) { CPDF_Type3Font* pType3Font = textobj->m_TextState.GetFont()->GetType3Font(); for (int j = 0; j < m_Type3FontCache.GetSize(); j++) { if (m_Type3FontCache.GetAt(j) == pType3Font) @@ -365,9 +364,9 @@ FX_BOOL CPDF_RenderStatus::ProcessType3Text( CFX_Matrix dCTM = m_pDevice->GetCTM(); FX_FLOAT sa = FXSYS_fabs(dCTM.a); FX_FLOAT sd = FXSYS_fabs(dCTM.d); - CFX_AffineMatrix text_matrix; + CFX_Matrix text_matrix; textobj->GetTextMatrix(&text_matrix); - CFX_AffineMatrix char_matrix = pType3Font->GetFontMatrix(); + CFX_Matrix char_matrix = pType3Font->GetFontMatrix(); FX_FLOAT font_size = textobj->m_TextState.GetFontSize(); char_matrix.Scale(font_size, font_size); FX_ARGB fill_argb = GetFillArgb(textobj, TRUE); @@ -393,7 +392,7 @@ FX_BOOL CPDF_RenderStatus::ProcessType3Text( if (pType3Char == NULL) { continue; } - CFX_AffineMatrix matrix = char_matrix; + CFX_Matrix matrix = char_matrix; matrix.e += iChar ? textobj->m_pCharPos[iChar - 1] : 0; matrix.Concat(text_matrix); matrix.Concat(*pObj2Device); @@ -474,7 +473,7 @@ FX_BOOL CPDF_RenderStatus::ProcessType3Text( origin_y - pBitmap->m_Top, fill_argb); } } else { - CFX_AffineMatrix image_matrix = pType3Char->m_ImageMatrix; + CFX_Matrix image_matrix = pType3Char->m_ImageMatrix; image_matrix.Concat(matrix); CPDF_ImageRenderer renderer; if (renderer.Start(this, pType3Char->m_pBitmap, fill_argb, 255, @@ -597,8 +596,8 @@ FX_BOOL CPDF_TextRenderer::DrawTextPath(CFX_RenderDevice* pDevice, FX_FLOAT* pCharPos, CPDF_Font* pFont, FX_FLOAT font_size, - const CFX_AffineMatrix* pText2User, - const CFX_AffineMatrix* pUser2Device, + const CFX_Matrix* pText2User, + const CFX_Matrix* pUser2Device, const CFX_GraphStateData* pGraphState, FX_ARGB fill_argb, FX_ARGB stroke_argb, @@ -628,7 +627,7 @@ void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice, FX_FLOAT origin_x = (FX_FLOAT)left; FX_FLOAT origin_y = (FX_FLOAT)top + font_size * (FX_FLOAT)font_bbox.top / 1000.0f; - CFX_AffineMatrix matrix(1.0f, 0, 0, -1.0f, 0, 0); + CFX_Matrix matrix(1.0f, 0, 0, -1.0f, 0, 0); DrawTextString(pDevice, origin_x, origin_y, pFont, font_size, &matrix, str, argb); } @@ -637,7 +636,7 @@ void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice, FX_FLOAT origin_y, CPDF_Font* pFont, FX_FLOAT font_size, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, const CFX_ByteString& str, FX_ARGB fill_argb, FX_ARGB stroke_argb, @@ -667,7 +666,7 @@ void CPDF_TextRenderer::DrawTextString(CFX_RenderDevice* pDevice, cur_pos += pFont->GetCharWidthF(pCharCodes[i]) * font_size / 1000; } } - CFX_AffineMatrix matrix; + CFX_Matrix matrix; if (pMatrix) { matrix = *pMatrix; } @@ -692,7 +691,7 @@ FX_BOOL CPDF_TextRenderer::DrawNormalText(CFX_RenderDevice* pDevice, FX_FLOAT* pCharPos, CPDF_Font* pFont, FX_FLOAT font_size, - const CFX_AffineMatrix* pText2Device, + const CFX_Matrix* pText2Device, FX_ARGB fill_argb, const CPDF_RenderOptions* pOptions) { CFX_FontCache* pCache = @@ -731,14 +730,13 @@ FX_BOOL CPDF_TextRenderer::DrawNormalText(CFX_RenderDevice* pDevice, &pFont->m_Font, pCache, font_size, pText2Device, fill_argb, FXGE_flags); } -void CPDF_RenderStatus::DrawTextPathWithPattern( - const CPDF_TextObject* textobj, - const CFX_AffineMatrix* pObj2Device, - CPDF_Font* pFont, - FX_FLOAT font_size, - const CFX_AffineMatrix* pTextMatrix, - FX_BOOL bFill, - FX_BOOL bStroke) { +void CPDF_RenderStatus::DrawTextPathWithPattern(const CPDF_TextObject* textobj, + const CFX_Matrix* pObj2Device, + CPDF_Font* pFont, + FX_FLOAT font_size, + const CFX_Matrix* pTextMatrix, + FX_BOOL bFill, + FX_BOOL bStroke) { if (!bStroke) { CPDF_PathObject path; CPDF_TextObject* pCopy = new CPDF_TextObject; @@ -777,7 +775,7 @@ void CPDF_RenderStatus::DrawTextPathWithPattern( CPDF_PathObject path; path.m_GraphState = textobj->m_GraphState; path.m_ColorState = textobj->m_ColorState; - CFX_AffineMatrix matrix; + CFX_Matrix matrix; if (charpos.m_bGlyphAdjust) matrix.Set(charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1], charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0); diff --git a/core/src/fpdfapi/fpdf_render/render_int.h b/core/src/fpdfapi/fpdf_render/render_int.h index 5b862b3401..d173f47b7c 100644 --- a/core/src/fpdfapi/fpdf_render/render_int.h +++ b/core/src/fpdfapi/fpdf_render/render_int.h @@ -41,14 +41,14 @@ class CPDF_Type3Cache { ~CPDF_Type3Cache(); CFX_GlyphBitmap* LoadGlyph(FX_DWORD charcode, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_FLOAT retinaScaleX = 1.0f, FX_FLOAT retinaScaleY = 1.0f); protected: CFX_GlyphBitmap* RenderGlyph(CPDF_Type3Glyphs* pSize, FX_DWORD charcode, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_FLOAT retinaScaleX = 1.0f, FX_FLOAT retinaScaleY = 1.0f); CPDF_Type3Font* const m_pFont; @@ -93,7 +93,7 @@ class CPDF_DocRenderData { struct _PDF_RenderItem { public: CPDF_PageObjects* m_pObjectList; - CFX_AffineMatrix m_Matrix; + CFX_Matrix m_Matrix; }; typedef CFX_ArrayTemplate<_PDF_RenderItem> CPDF_RenderLayer; @@ -104,7 +104,7 @@ class IPDF_ObjectRenderer { virtual ~IPDF_ObjectRenderer() {} virtual FX_BOOL Start(CPDF_RenderStatus* pRenderStatus, const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStdCS, int blendType = FXDIB_BLEND_NORMAL) = 0; virtual FX_BOOL Continue(IFX_Pause* pPause) = 0; @@ -117,7 +117,7 @@ class CPDF_RenderStatus { ~CPDF_RenderStatus(); FX_BOOL Initialize(class CPDF_RenderContext* pContext, CFX_RenderDevice* pDevice, - const CFX_AffineMatrix* pDeviceMatrix, + const CFX_Matrix* pDeviceMatrix, const CPDF_PageObject* pStopObj, const CPDF_RenderStatus* pParentStatus, const CPDF_GraphicStates* pInitialStates, @@ -131,11 +131,11 @@ class CPDF_RenderStatus { FX_DWORD GroupFamily = 0, FX_BOOL bLoadMask = FALSE); void RenderObjectList(const CPDF_PageObjects* pObjs, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); void RenderSingleObject(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); FX_BOOL ContinueSingleObject(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, IFX_Pause* pPause); CPDF_RenderContext* GetContext() { return m_pContext; } @@ -147,49 +147,46 @@ class CPDF_RenderStatus { protected: friend class CPDF_ImageRenderer; friend class CPDF_RenderContext; - void ProcessClipPath(CPDF_ClipPath ClipPath, - const CFX_AffineMatrix* pObj2Device); - void DrawClipPath(CPDF_ClipPath ClipPath, - const CFX_AffineMatrix* pObj2Device); + void ProcessClipPath(CPDF_ClipPath ClipPath, const CFX_Matrix* pObj2Device); + void DrawClipPath(CPDF_ClipPath ClipPath, const CFX_Matrix* pObj2Device); FX_BOOL ProcessTransparency(const CPDF_PageObject* PageObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); void ProcessObjectNoClip(const CPDF_PageObject* PageObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); void DrawObjWithBackground(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); FX_BOOL DrawObjWithBlend(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device); - FX_BOOL ProcessPath(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); + FX_BOOL ProcessPath(CPDF_PathObject* pPathObj, const CFX_Matrix* pObj2Device); void ProcessPathPattern(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, int& filltype, FX_BOOL& bStroke); void DrawPathWithPattern(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, CPDF_Color* pColor, FX_BOOL bStroke); void DrawTilingPattern(CPDF_TilingPattern* pPattern, CPDF_PageObject* pPageObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStroke); void DrawShadingPattern(CPDF_ShadingPattern* pPattern, CPDF_PageObject* pPageObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStroke); FX_BOOL SelectClipPath(CPDF_PathObject* pPathObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStroke); FX_BOOL ProcessImage(CPDF_ImageObject* pImageObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); FX_BOOL OutputBitmapAlpha(CPDF_ImageObject* pImageObj, - const CFX_AffineMatrix* pImage2Device); + const CFX_Matrix* pImage2Device); FX_BOOL OutputImage(CPDF_ImageObject* pImageObj, - const CFX_AffineMatrix* pImage2Device); + const CFX_Matrix* pImage2Device); FX_BOOL OutputDIBSource(const CFX_DIBSource* pOutputBitmap, FX_ARGB fill_argb, int bitmap_alpha, - const CFX_AffineMatrix* pImage2Device, + const CFX_Matrix* pImage2Device, CPDF_ImageCache* pImageCache, FX_DWORD flags); void CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, @@ -200,26 +197,25 @@ class CPDF_RenderStatus { int blend_mode, int bIsolated); FX_BOOL ProcessShading(CPDF_ShadingObject* pShadingObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); void DrawShading(CPDF_ShadingPattern* pPattern, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, FX_RECT& clip_rect, int alpha, FX_BOOL bAlphaMode); FX_BOOL ProcessType3Text(const CPDF_TextObject* textobj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); FX_BOOL ProcessText(const CPDF_TextObject* textobj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, CFX_PathData* pClippingPath); void DrawTextPathWithPattern(const CPDF_TextObject* textobj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, CPDF_Font* pFont, FX_FLOAT font_size, - const CFX_AffineMatrix* pTextMatrix, + const CFX_Matrix* pTextMatrix, FX_BOOL bFill, FX_BOOL bStroke); - FX_BOOL ProcessForm(CPDF_FormObject* pFormObj, - const CFX_AffineMatrix* pObj2Device); + FX_BOOL ProcessForm(CPDF_FormObject* pFormObj, const CFX_Matrix* pObj2Device); CFX_DIBitmap* GetBackdrop(const CPDF_PageObject* pObj, const FX_RECT& rect, int& left, @@ -227,7 +223,7 @@ class CPDF_RenderStatus { FX_BOOL bBackAlphaRequired); CFX_DIBitmap* LoadSMask(CPDF_Dictionary* pSMaskDict, FX_RECT* pClipRect, - const CFX_AffineMatrix* pMatrix); + const CFX_Matrix* pMatrix); void Init(CPDF_RenderContext* pParent); static class CPDF_Type3Cache* GetCachedType3(CPDF_Type3Font* pFont); static CPDF_GraphicStates* CloneObjStates(const CPDF_GraphicStates* pPathObj, @@ -239,9 +235,9 @@ class CPDF_RenderStatus { CPDF_RenderContext* m_pContext; FX_BOOL m_bStopped; void DitherObjectArea(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device); + const CFX_Matrix* pObj2Device); FX_BOOL GetObjectClippedRect(const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bLogical, FX_RECT& rect) const; void GetScaledMatrix(CFX_Matrix& matrix) const; @@ -251,7 +247,7 @@ class CPDF_RenderStatus { static int s_CurrentRecursionDepth; CFX_RenderDevice* m_pDevice; - CFX_AffineMatrix m_DeviceMatrix; + CFX_Matrix m_DeviceMatrix; CPDF_ClipPath m_LastClipPath; const CPDF_PageObject* m_pCurObj; const CPDF_PageObject* m_pStopObj; @@ -340,7 +336,7 @@ class CPDF_ImageRenderer : public IPDF_ObjectRenderer { // IPDF_ObjectRenderer FX_BOOL Start(CPDF_RenderStatus* pStatus, const CPDF_PageObject* pObj, - const CFX_AffineMatrix* pObj2Device, + const CFX_Matrix* pObj2Device, FX_BOOL bStdCS, int blendType = FXDIB_BLEND_NORMAL) override; FX_BOOL Continue(IFX_Pause* pPause) override; @@ -349,7 +345,7 @@ class CPDF_ImageRenderer : public IPDF_ObjectRenderer { const CFX_DIBSource* pDIBSource, FX_ARGB bitmap_argb, int bitmap_alpha, - const CFX_AffineMatrix* pImage2Device, + const CFX_Matrix* pImage2Device, FX_DWORD flags, FX_BOOL bStdCS, int blendType = FXDIB_BLEND_NORMAL); @@ -358,8 +354,8 @@ class CPDF_ImageRenderer : public IPDF_ObjectRenderer { CPDF_RenderStatus* m_pRenderStatus; CPDF_ImageObject* m_pImageObject; int m_Status; - const CFX_AffineMatrix* m_pObj2Device; - CFX_AffineMatrix m_ImageMatrix; + const CFX_Matrix* m_pObj2Device; + CFX_Matrix m_ImageMatrix; CPDF_ImageLoader m_Loader; const CFX_DIBSource* m_pDIBSource; CFX_DIBitmap* m_pClone; @@ -396,7 +392,7 @@ class CPDF_ScaledRenderBuffer { CFX_RenderDevice* GetDevice() { return m_pBitmapDevice ? m_pBitmapDevice.get() : m_pDevice; } - CFX_AffineMatrix* GetMatrix() { return &m_Matrix; } + CFX_Matrix* GetMatrix() { return &m_Matrix; } void OutputToDevice(); private: @@ -405,7 +401,7 @@ class CPDF_ScaledRenderBuffer { FX_RECT m_Rect; const CPDF_PageObject* m_pObject; nonstd::unique_ptr<CFX_FxgeDevice> m_pBitmapDevice; - CFX_AffineMatrix m_Matrix; + CFX_Matrix m_Matrix; }; class ICodec_ScanlineDecoder; @@ -414,7 +410,7 @@ class CPDF_QuickStretcher { CPDF_QuickStretcher(); ~CPDF_QuickStretcher(); FX_BOOL Start(CPDF_ImageObject* pImageObj, - CFX_AffineMatrix* pImage2Device, + CFX_Matrix* pImage2Device, const FX_RECT* pClipBox); FX_BOOL Continue(IFX_Pause* pPause); CFX_DIBitmap* m_pBitmap; @@ -439,7 +435,7 @@ class CPDF_DeviceBuffer { int max_dpi = 0); void OutputToDevice(); CFX_DIBitmap* GetBitmap() const { return m_pBitmap.get(); } - const CFX_AffineMatrix* GetMatrix() const { return &m_Matrix; } + const CFX_Matrix* GetMatrix() const { return &m_Matrix; } private: CFX_RenderDevice* m_pDevice; @@ -447,7 +443,7 @@ class CPDF_DeviceBuffer { FX_RECT m_Rect; const CPDF_PageObject* m_pObject; nonstd::unique_ptr<CFX_DIBitmap> m_pBitmap; - CFX_AffineMatrix m_Matrix; + CFX_Matrix m_Matrix; }; class CPDF_ImageCache { diff --git a/core/src/fpdfdoc/doc_annot.cpp b/core/src/fpdfdoc/doc_annot.cpp index 36494cc2ea..0765acdf6e 100644 --- a/core/src/fpdfdoc/doc_annot.cpp +++ b/core/src/fpdfdoc/doc_annot.cpp @@ -51,7 +51,7 @@ void CPDF_AnnotList::DisplayPass(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, CPDF_RenderContext* pContext, FX_BOOL bPrinting, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, FX_BOOL bWidgetPass, CPDF_RenderOptions* pOptions, FX_RECT* clip_rect) { @@ -102,7 +102,7 @@ void CPDF_AnnotList::DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, CPDF_RenderContext* pContext, FX_BOOL bPrinting, - CFX_AffineMatrix* pUser2Device, + CFX_Matrix* pUser2Device, FX_DWORD dwAnnotFlags, CPDF_RenderOptions* pOptions, FX_RECT* pClipRect) { @@ -206,7 +206,7 @@ CPDF_Form* CPDF_Annot::GetAPForm(const CPDF_Page* pPage, AppearanceMode mode) { static CPDF_Form* FPDFDOC_Annot_GetMatrix(const CPDF_Page* pPage, CPDF_Annot* pAnnot, CPDF_Annot::AppearanceMode mode, - const CFX_AffineMatrix* pUser2Device, + const CFX_Matrix* pUser2Device, CFX_Matrix& matrix) { CPDF_Form* pForm = pAnnot->GetAPForm(pPage, mode); if (!pForm) { @@ -223,7 +223,7 @@ static CPDF_Form* FPDFDOC_Annot_GetMatrix(const CPDF_Page* pPage, } FX_BOOL CPDF_Annot::DrawAppearance(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, - const CFX_AffineMatrix* pUser2Device, + const CFX_Matrix* pUser2Device, AppearanceMode mode, const CPDF_RenderOptions* pOptions) { CFX_Matrix matrix; @@ -239,7 +239,7 @@ FX_BOOL CPDF_Annot::DrawAppearance(const CPDF_Page* pPage, } FX_BOOL CPDF_Annot::DrawInContext(const CPDF_Page* pPage, const CPDF_RenderContext* pContext, - const CFX_AffineMatrix* pUser2Device, + const CFX_Matrix* pUser2Device, AppearanceMode mode) { CFX_Matrix matrix; CPDF_Form* pForm = @@ -251,7 +251,7 @@ FX_BOOL CPDF_Annot::DrawInContext(const CPDF_Page* pPage, return TRUE; } void CPDF_Annot::DrawBorder(CFX_RenderDevice* pDevice, - const CFX_AffineMatrix* pUser2Device, + const CFX_Matrix* pUser2Device, const CPDF_RenderOptions* pOptions) { if (GetSubType() == "Popup") { return; diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp index 7fc9407c73..bbac32f404 100644 --- a/core/src/fpdfdoc/doc_ap.cpp +++ b/core/src/fpdfdoc/doc_ap.cpp @@ -333,25 +333,25 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, nRotate = pMKDict->GetInteger("R"); } CPDF_Rect rcBBox; - CPDF_Matrix matrix; + CFX_Matrix matrix; switch (nRotate % 360) { case 0: rcBBox = CPDF_Rect(0, 0, rcAnnot.right - rcAnnot.left, rcAnnot.top - rcAnnot.bottom); break; case 90: - matrix = CPDF_Matrix(0, 1, -1, 0, rcAnnot.right - rcAnnot.left, 0); + matrix = CFX_Matrix(0, 1, -1, 0, rcAnnot.right - rcAnnot.left, 0); rcBBox = CPDF_Rect(0, 0, rcAnnot.top - rcAnnot.bottom, rcAnnot.right - rcAnnot.left); break; case 180: - matrix = CPDF_Matrix(-1, 0, 0, -1, rcAnnot.right - rcAnnot.left, - rcAnnot.top - rcAnnot.bottom); + matrix = CFX_Matrix(-1, 0, 0, -1, rcAnnot.right - rcAnnot.left, + rcAnnot.top - rcAnnot.bottom); rcBBox = CPDF_Rect(0, 0, rcAnnot.right - rcAnnot.left, rcAnnot.top - rcAnnot.bottom); break; case 270: - matrix = CPDF_Matrix(0, -1, 1, 0, 0, rcAnnot.top - rcAnnot.bottom); + matrix = CFX_Matrix(0, -1, 1, 0, 0, rcAnnot.top - rcAnnot.bottom); rcBBox = CPDF_Rect(0, 0, rcAnnot.top - rcAnnot.bottom, rcAnnot.right - rcAnnot.left); break; diff --git a/core/src/fpdfdoc/doc_formcontrol.cpp b/core/src/fpdfdoc/doc_formcontrol.cpp index 88b68bc7f7..9bdf13bf85 100644 --- a/core/src/fpdfdoc/doc_formcontrol.cpp +++ b/core/src/fpdfdoc/doc_formcontrol.cpp @@ -149,7 +149,7 @@ void CPDF_FormControl::CheckControl(FX_BOOL bChecked) { CPDF_Stream* FPDFDOC_GetAnnotAP(CPDF_Dictionary* pAnnotDict, CPDF_Annot::AppearanceMode mode); void CPDF_FormControl::DrawControl(CFX_RenderDevice* pDevice, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, CPDF_Page* pPage, CPDF_Annot::AppearanceMode mode, const CPDF_RenderOptions* pOptions) { @@ -161,10 +161,10 @@ void CPDF_FormControl::DrawControl(CFX_RenderDevice* pDevice, return; } CFX_FloatRect form_bbox = pStream->GetDict()->GetRect("BBox"); - CFX_AffineMatrix form_matrix = pStream->GetDict()->GetMatrix("Matrix"); + CFX_Matrix form_matrix = pStream->GetDict()->GetMatrix("Matrix"); form_matrix.TransformRect(form_bbox); CFX_FloatRect arect = m_pWidgetDict->GetRect("Rect"); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; matrix.MatchRect(arect, form_bbox); matrix.Concat(*pMatrix); CPDF_Form form(m_pField->m_pForm->m_pDocument, diff --git a/core/src/fpdfdoc/doc_utils.cpp b/core/src/fpdfdoc/doc_utils.cpp index b0eafbff20..adf523f74e 100644 --- a/core/src/fpdfdoc/doc_utils.cpp +++ b/core/src/fpdfdoc/doc_utils.cpp @@ -208,8 +208,8 @@ CFX_ByteString CPDF_DefaultAppearance::GetTextMatrixString() { } return csTM; } -CFX_AffineMatrix CPDF_DefaultAppearance::GetTextMatrix() { - CFX_AffineMatrix tm; +CFX_Matrix CPDF_DefaultAppearance::GetTextMatrix() { + CFX_Matrix tm; if (m_csDA.IsEmpty()) { return tm; } diff --git a/core/src/fpdftext/fpdf_text.cpp b/core/src/fpdftext/fpdf_text.cpp index e70d0e0e4b..9a967e62fd 100644 --- a/core/src/fpdftext/fpdf_text.cpp +++ b/core/src/fpdftext/fpdf_text.cpp @@ -69,7 +69,7 @@ void CTextPage::ProcessObject(CPDF_PageObject* pObject) { } if (pText->m_TextState.GetBaselineAngle() != 0) { int cc = 0; - CFX_AffineMatrix matrix; + CFX_Matrix matrix; pText->GetTextMatrix(&matrix); for (int i = 0; i < pText->m_nChars; i++) { FX_DWORD charcode = pText->m_nChars == 1 @@ -707,7 +707,7 @@ static void CheckRotate(CPDF_Page& page, CFX_FloatRect& page_bbox) { if (total_count == 0) { return; } - CFX_AffineMatrix matrix; + CFX_Matrix matrix; if (rotated_count[0] > total_count * 2 / 3) { matrix.Set(0, -1, 1, 0, 0, page.GetPageHeight()); } else if (rotated_count[1] > total_count * 2 / 3) { diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp index ee768af3bc..314cc0e062 100644 --- a/core/src/fpdftext/fpdf_text_int.cpp +++ b/core/src/fpdftext/fpdf_text_int.cpp @@ -51,7 +51,7 @@ FX_FLOAT _NormalizeThreshold(FX_FLOAT threshold) { } FX_FLOAT _CalculateBaseSpace(const CPDF_TextObject* pTextObj, - const CFX_AffineMatrix& matrix) { + const CFX_Matrix& matrix) { FX_FLOAT baseSpace = 0.0; const int nItems = pTextObj->CountItems(); if (pTextObj->m_TextState.GetObject()->m_CharSpace && nItems >= 3) { @@ -265,7 +265,7 @@ void CPDF_TextPage::GetRectArray(int start, } if (flagNewRect) { FX_FLOAT orgX = info_curchar.m_OriginX, orgY = info_curchar.m_OriginY; - CFX_AffineMatrix matrix, matrix_reverse; + CFX_Matrix matrix, matrix_reverse; info_curchar.m_pTextObj->GetTextMatrix(&matrix); matrix.Concat(info_curchar.m_Matrix); matrix_reverse.SetReverse(matrix); @@ -908,11 +908,11 @@ void CPDF_TextPage::ProcessObject() { pPageObj = m_pPage->GetNextObject(pos); if (pPageObj) { if (pPageObj->m_Type == PDFPAGE_TEXT) { - CFX_AffineMatrix matrix; + CFX_Matrix matrix; ProcessTextObject((CPDF_TextObject*)pPageObj, matrix, pos); nCount++; } else if (pPageObj->m_Type == PDFPAGE_FORM) { - CFX_AffineMatrix formMatrix(1, 0, 0, 1, 0, 0); + CFX_Matrix formMatrix(1, 0, 0, 1, 0, 0); ProcessFormObject((CPDF_FormObject*)pPageObj, formMatrix); } } @@ -926,7 +926,7 @@ void CPDF_TextPage::ProcessObject() { CloseTempLine(); } void CPDF_TextPage::ProcessFormObject(CPDF_FormObject* pFormObj, - const CFX_AffineMatrix& formMatrix) { + const CFX_Matrix& formMatrix) { CPDF_PageObject* pPageObj = NULL; FX_POSITION pos; if (!pFormObj) { @@ -936,7 +936,7 @@ void CPDF_TextPage::ProcessFormObject(CPDF_FormObject* pFormObj, if (!pos) { return; } - CFX_AffineMatrix curFormMatrix; + CFX_Matrix curFormMatrix; curFormMatrix.Copy(pFormObj->m_FormMatrix); curFormMatrix.Concat(formMatrix); while (pos) { @@ -1187,7 +1187,7 @@ void CPDF_TextPage::CloseTempLine() { m_TempTextBuf.Delete(0, m_TempTextBuf.GetLength()); } void CPDF_TextPage::ProcessTextObject(CPDF_TextObject* pTextObj, - const CFX_AffineMatrix& formMatrix, + const CFX_Matrix& formMatrix, FX_POSITION ObjPos) { CFX_FloatRect re(pTextObj->m_Left, pTextObj->m_Bottom, pTextObj->m_Right, pTextObj->m_Top); @@ -1212,7 +1212,7 @@ void CPDF_TextPage::ProcessTextObject(CPDF_TextObject* pTextObj, FX_FLOAT prev_width = GetCharWidth(item.m_CharCode, prev_Obj.m_pTextObj->GetFont()) * prev_Obj.m_pTextObj->GetFontSize() / 1000; - CFX_AffineMatrix prev_matrix; + CFX_Matrix prev_matrix; prev_Obj.m_pTextObj->GetTextMatrix(&prev_matrix); prev_width = FXSYS_fabs(prev_width); prev_matrix.Concat(prev_Obj.m_formMatrix); @@ -1221,7 +1221,7 @@ void CPDF_TextPage::ProcessTextObject(CPDF_TextObject* pTextObj, FX_FLOAT this_width = GetCharWidth(item.m_CharCode, pTextObj->GetFont()) * pTextObj->GetFontSize() / 1000; this_width = FXSYS_fabs(this_width); - CFX_AffineMatrix this_matrix; + CFX_Matrix this_matrix; pTextObj->GetTextMatrix(&this_matrix); this_width = FXSYS_fabs(this_width); this_matrix.Concat(formMatrix); @@ -1247,7 +1247,7 @@ void CPDF_TextPage::ProcessTextObject(CPDF_TextObject* pTextObj, if (m_ParseOptions.m_bNormalizeObjs) { for (i = count - 1; i >= 0; i--) { PDFTEXT_Obj prev_Obj = m_LineObj.GetAt(i); - CFX_AffineMatrix prev_matrix; + CFX_Matrix prev_matrix; prev_Obj.m_pTextObj->GetTextMatrix(&prev_matrix); FX_FLOAT Prev_x = prev_Obj.m_pTextObj->GetPosX(), Prev_y = prev_Obj.m_pTextObj->GetPosY(); @@ -1369,8 +1369,8 @@ void CPDF_TextPage::ProcessMarkedContent(PDFTEXT_Obj Obj) { return; } CPDF_Font* pFont = pTextObj->GetFont(); - CFX_AffineMatrix formMatrix = Obj.m_formMatrix; - CFX_AffineMatrix matrix; + CFX_Matrix formMatrix = Obj.m_formMatrix; + CFX_Matrix matrix; pTextObj->GetTextMatrix(&matrix); matrix.Concat(formMatrix); FX_FLOAT fPosX = pTextObj->GetPosX(); @@ -1482,9 +1482,9 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) { if (FXSYS_fabs(pTextObj->m_Right - pTextObj->m_Left) < 0.01f) { return; } - CFX_AffineMatrix formMatrix = Obj.m_formMatrix; + CFX_Matrix formMatrix = Obj.m_formMatrix; CPDF_Font* pFont = pTextObj->GetFont(); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; pTextObj->GetTextMatrix(&matrix); matrix.Concat(formMatrix); int32_t bPreMKC = PreMarkedContent(Obj); @@ -1814,7 +1814,7 @@ FX_BOOL CPDF_TextPage::IsHyphen(FX_WCHAR curChar) { return FALSE; } int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj, - const CFX_AffineMatrix& formMatrix) { + const CFX_Matrix& formMatrix) { FindPreviousTextObject(); FX_BOOL bNewline = FALSE; int WritingMode = GetTextObjectWritingMode(pObj); @@ -1873,7 +1873,7 @@ int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj, this_width = FXSYS_fabs(this_width); FX_FLOAT threshold = last_width > this_width ? last_width / 4 : this_width / 4; - CFX_AffineMatrix prev_matrix, prev_reverse; + CFX_Matrix prev_matrix, prev_reverse; m_pPreTextObj->GetTextMatrix(&prev_matrix); prev_matrix.Concat(m_perMatrix); prev_reverse.SetReverse(prev_matrix); @@ -1898,7 +1898,7 @@ int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj, if (nItem > 1) { CPDF_TextObjectItem tempItem; m_pPreTextObj->GetItemInfo(0, &tempItem); - CFX_AffineMatrix m; + CFX_Matrix m; m_pPreTextObj->GetTextMatrix(&m); if (PrevItem.m_OriginX > tempItem.m_OriginX && m_DisplayMatrix.a > 0.9 && m_DisplayMatrix.b < 0.1 && @@ -1933,7 +1933,7 @@ int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj, CFX_WideString PrevStr = m_pPreTextObj->GetFont()->UnicodeFromCharCode(PrevItem.m_CharCode); FX_WCHAR preChar = PrevStr.GetAt(PrevStr.GetLength() - 1); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; pObj->GetTextMatrix(&matrix); matrix.Concat(formMatrix); threshold = (FX_FLOAT)(nLastWidth > nThisWidth ? nLastWidth : nThisWidth); diff --git a/core/src/fpdftext/fpdf_text_search.cpp b/core/src/fpdftext/fpdf_text_search.cpp index 0acea11cf2..43486c7ab8 100644 --- a/core/src/fpdftext/fpdf_text_search.cpp +++ b/core/src/fpdftext/fpdf_text_search.cpp @@ -113,7 +113,7 @@ int FPDFText_ProcessInterObj(const CPDF_TextObject* pPrevObj, this_width = FXSYS_fabs(this_width); FX_FLOAT threshold = last_width > this_width ? last_width / 4 : this_width / 4; - CFX_AffineMatrix prev_matrix, prev_reverse; + CFX_Matrix prev_matrix, prev_reverse; pPrevObj->GetTextMatrix(&prev_matrix); prev_reverse.SetReverse(prev_matrix); FX_FLOAT x = pObj->GetPosX(), y = pObj->GetPosY(); @@ -151,7 +151,7 @@ int FPDFText_ProcessInterObj(const CPDF_TextObject* pPrevObj, FX_BOOL CPDF_TextStream::ProcessObject(const CPDF_TextObject* pObj, FX_BOOL bFirstLine) { CPDF_Font* pFont = pObj->GetFont(); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; pObj->GetTextMatrix(&matrix); int item_index = 0; if (m_pLastObj) { diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h index e68ead7741..4688bbf1ce 100644 --- a/core/src/fpdftext/text_int.h +++ b/core/src/fpdftext/text_int.h @@ -34,7 +34,7 @@ typedef struct _PAGECHAR_INFO { int32_t m_Flag; CFX_FloatRect m_CharBox; CPDF_TextObject* m_pTextObj; - CFX_AffineMatrix m_Matrix; + CFX_Matrix m_Matrix; int m_Index; } PAGECHAR_INFO; typedef CFX_SegmentedArray<PAGECHAR_INFO> PAGECHAR_InfoArray; @@ -45,7 +45,7 @@ typedef struct { typedef CFX_ArrayTemplate<FPDF_SEGMENT> SEGMENT_Array; typedef struct { CPDF_TextObject* m_pTextObj; - CFX_AffineMatrix m_formMatrix; + CFX_Matrix m_formMatrix; } PDFTEXT_Obj; typedef CFX_ArrayTemplate<PDFTEXT_Obj> LINEOBJ; @@ -103,13 +103,13 @@ class CPDF_TextPage : public IPDF_TextPage { FX_BOOL GetBaselineRotate(int start, int end, int& Rotate); void ProcessObject(); void ProcessFormObject(CPDF_FormObject* pFormObj, - const CFX_AffineMatrix& formMatrix); + const CFX_Matrix& formMatrix); void ProcessTextObject(PDFTEXT_Obj pObj); void ProcessTextObject(CPDF_TextObject* pTextObj, - const CFX_AffineMatrix& formMatrix, + const CFX_Matrix& formMatrix, FX_POSITION ObjPos); int ProcessInsertObject(const CPDF_TextObject* pObj, - const CFX_AffineMatrix& formMatrix); + const CFX_Matrix& formMatrix); FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info); FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj, FX_POSITION ObjPos); FX_BOOL IsSameTextObject(CPDF_TextObject* pTextObj1, @@ -140,9 +140,9 @@ class CPDF_TextPage : public IPDF_TextPage { CFX_WideTextBuf m_TempTextBuf; const int m_parserflag; CPDF_TextObject* m_pPreTextObj; - CFX_AffineMatrix m_perMatrix; + CFX_Matrix m_perMatrix; bool m_bIsParsed; - CFX_AffineMatrix m_DisplayMatrix; + CFX_Matrix m_DisplayMatrix; SEGMENT_Array m_Segment; CFX_RectArray m_SelRects; LINEOBJ m_LineObj; diff --git a/core/src/fxge/agg/include/fx_agg_driver.h b/core/src/fxge/agg/include/fx_agg_driver.h index 0e79a3fc5e..80febe1b4e 100644 --- a/core/src/fxge/agg/include/fx_agg_driver.h +++ b/core/src/fxge/agg/include/fx_agg_driver.h @@ -12,7 +12,7 @@ #include "third_party/agg23/agg_path_storage.h" #include "third_party/agg23/agg_rasterizer_scanline_aa.h" -class CFX_AffineMatrix; +class CFX_Matrix; class CFX_PathData; class CAgg_PathData { @@ -21,7 +21,7 @@ class CAgg_PathData { ~CAgg_PathData() {} FX_NAMESPACE_DECLARE(agg, path_storage) m_PathData; void BuildPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device); + const CFX_Matrix* pObject2Device); }; class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver { public: @@ -40,13 +40,13 @@ class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver { void SaveState() override; void RestoreState(FX_BOOL bKeepSaved) override; FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, int fill_mode) override; FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) override; FX_BOOL DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -103,7 +103,7 @@ class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver { FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD flags, void*& handle, int alpha_flag, @@ -115,7 +115,7 @@ class CFX_AggDeviceDriver : public IFX_RenderDeviceDriver { const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD color, int alpha_flag, diff --git a/core/src/fxge/agg/src/fx_agg_driver.cpp b/core/src/fxge/agg/src/fx_agg_driver.cpp index 4b3389bb4c..dfa5c27ebf 100644 --- a/core/src/fxge/agg/src/fx_agg_driver.cpp +++ b/core/src/fxge/agg/src/fx_agg_driver.cpp @@ -34,7 +34,7 @@ void _HardClip(FX_FLOAT& x, FX_FLOAT& y) { } } void CAgg_PathData::BuildPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device) { + const CFX_Matrix* pObject2Device) { int nPoints = pPathData->GetPointCount(); FX_PATHPOINT* pPoints = pPathData->GetPoints(); for (int i = 0; i < nPoints; i++) { @@ -112,7 +112,7 @@ class renderer_scanline_aa_offset { } static void RasterizeStroke(agg::rasterizer_scanline_aa& rasterizer, agg::path_storage& path_data, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_FLOAT scale = 1.0f, FX_BOOL bStrokeAdjust = FALSE, @@ -217,16 +217,15 @@ CFX_AggDeviceDriver::~CFX_AggDeviceDriver() { #if _FXM_PLATFORM_ != _FXM_PLATFORM_APPLE_ void CFX_AggDeviceDriver::InitPlatform() {} void CFX_AggDeviceDriver::DestroyPlatform() {} -FX_BOOL CFX_AggDeviceDriver::DrawDeviceText( - int nChars, - const FXTEXT_CHARPOS* pCharPos, - CFX_Font* pFont, - CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, - FX_FLOAT font_size, - FX_DWORD color, - int alpha_flag, - void* pIccTransform) { +FX_BOOL CFX_AggDeviceDriver::DrawDeviceText(int nChars, + const FXTEXT_CHARPOS* pCharPos, + CFX_Font* pFont, + CFX_FontCache* pCache, + const CFX_Matrix* pObject2Device, + FX_FLOAT font_size, + FX_DWORD color, + int alpha_flag, + void* pIccTransform) { return FALSE; } #endif @@ -314,10 +313,9 @@ void CFX_AggDeviceDriver::SetClipMask(agg::rasterizer_scanline_aa& rasterizer) { (m_FillFlags & FXFILL_NOPATHSMOOTH) != 0); m_pClipRgn->IntersectMaskF(path_rect.left, path_rect.top, mask); } -FX_BOOL CFX_AggDeviceDriver::SetClip_PathFill( - const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, - int fill_mode) { +FX_BOOL CFX_AggDeviceDriver::SetClip_PathFill(const CFX_PathData* pPathData, + const CFX_Matrix* pObject2Device, + int fill_mode) { m_FillFlags = fill_mode; if (!m_pClipRgn) { m_pClipRgn = new CFX_ClipRgn(GetDeviceCaps(FXDC_PIXEL_WIDTH), @@ -349,7 +347,7 @@ FX_BOOL CFX_AggDeviceDriver::SetClip_PathFill( } FX_BOOL CFX_AggDeviceDriver::SetClip_PathStroke( const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) { if (!m_pClipRgn) { m_pClipRgn = new CFX_ClipRgn(GetDeviceCaps(FXDC_PIXEL_WIDTH), @@ -1203,7 +1201,7 @@ FX_BOOL CFX_AggDeviceDriver::RenderRasterizer( return TRUE; } FX_BOOL CFX_AggDeviceDriver::DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -1255,7 +1253,7 @@ FX_BOOL CFX_AggDeviceDriver::DrawPath(const CFX_PathData* pPathData, } return TRUE; } - CFX_AffineMatrix matrix1, matrix2; + CFX_Matrix matrix1, matrix2; if (pObject2Device) { matrix1.a = FX_MAX(FXSYS_fabs(pObject2Device->a), FXSYS_fabs(pObject2Device->b)); @@ -1263,7 +1261,7 @@ FX_BOOL CFX_AggDeviceDriver::DrawPath(const CFX_PathData* pPathData, matrix2.Set(pObject2Device->a / matrix1.a, pObject2Device->b / matrix1.a, pObject2Device->c / matrix1.d, pObject2Device->d / matrix1.d, 0, 0); - CFX_AffineMatrix mtRervese; + CFX_Matrix mtRervese; mtRervese.SetReverse(matrix2); matrix1 = *pObject2Device; matrix1.Concat(mtRervese); @@ -1727,7 +1725,7 @@ FX_BOOL CFX_AggDeviceDriver::StretchDIBits(const CFX_DIBSource* pSource, FX_BOOL CFX_AggDeviceDriver::StartDIBits(const CFX_DIBSource* pSource, int bitmap_alpha, FX_DWORD argb, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, diff --git a/core/src/fxge/apple/apple_int.h b/core/src/fxge/apple/apple_int.h index 504e144327..0601fccb23 100644 --- a/core/src/fxge/apple/apple_int.h +++ b/core/src/fxge/apple/apple_int.h @@ -53,7 +53,7 @@ class CQuartz2D { void* CreateFont(const uint8_t* pFontData, FX_DWORD dwFontSize); void DestroyFont(void* pFont); - void setGraphicsTextMatrix(void* graphics, CFX_AffineMatrix* matrix); + void setGraphicsTextMatrix(void* graphics, CFX_Matrix* matrix); FX_BOOL drawGraphicsString(void* graphics, void* font, FX_FLOAT fontSize, @@ -61,7 +61,7 @@ class CQuartz2D { CGPoint* glyphPositions, int32_t chars, FX_ARGB argb, - CFX_AffineMatrix* matrix = NULL); + CFX_Matrix* matrix = NULL); void saveGraphicsState(void* graphics); void restoreGraphicsState(void* graphics); }; @@ -87,13 +87,13 @@ class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver { void SaveState() override; void RestoreState(FX_BOOL bKeepSaved) override; FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, int fill_mode) override; FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) override; FX_BOOL DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -150,7 +150,7 @@ class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver { FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD flags, void*& handle, int alpha_flag = 0, @@ -166,7 +166,7 @@ class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver { const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD color, int alpha_flag = 0, @@ -186,8 +186,8 @@ class CFX_QuartzDeviceDriver : public IFX_RenderDeviceDriver { const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pGlyphMatrix, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pGlyphMatrix, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD argb, int alpha_flag, diff --git a/core/src/fxge/apple/fx_apple_platform.cpp b/core/src/fxge/apple/fx_apple_platform.cpp index 8346873408..f0a23825b9 100644 --- a/core/src/fxge/apple/fx_apple_platform.cpp +++ b/core/src/fxge/apple/fx_apple_platform.cpp @@ -34,7 +34,7 @@ void CFX_FaceCache::DestroyPlatform() {} CFX_GlyphBitmap* CFX_FaceCache::RenderGlyph_Nativetext( CFX_Font* pFont, FX_DWORD glyph_index, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, int dest_width, int anti_alias) { return NULL; @@ -44,7 +44,7 @@ static FX_BOOL _CGDrawGlyphRun(CGContextRef pContext, const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD argb, int alpha_flag, @@ -52,7 +52,7 @@ static FX_BOOL _CGDrawGlyphRun(CGContextRef pContext, if (nChars == 0) { return TRUE; } - CFX_AffineMatrix new_matrix; + CFX_Matrix new_matrix; FX_BOOL bNegSize = font_size < 0; if (bNegSize) { font_size = -font_size; @@ -97,16 +97,15 @@ static FX_BOOL _CGDrawGlyphRun(CGContextRef pContext, nChars, argb, NULL); } static void _DoNothing(void* info, const void* data, size_t size) {} -FX_BOOL CFX_AggDeviceDriver::DrawDeviceText( - int nChars, - const FXTEXT_CHARPOS* pCharPos, - CFX_Font* pFont, - CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, - FX_FLOAT font_size, - FX_DWORD argb, - int alpha_flag, - void* pIccTransform) { +FX_BOOL CFX_AggDeviceDriver::DrawDeviceText(int nChars, + const FXTEXT_CHARPOS* pCharPos, + CFX_Font* pFont, + CFX_FontCache* pCache, + const CFX_Matrix* pObject2Device, + FX_FLOAT font_size, + FX_DWORD argb, + int alpha_flag, + void* pIccTransform) { if (!pFont) { return FALSE; } diff --git a/core/src/fxge/apple/fx_quartz_device.cpp b/core/src/fxge/apple/fx_quartz_device.cpp index e933695a86..0b19438230 100644 --- a/core/src/fxge/apple/fx_quartz_device.cpp +++ b/core/src/fxge/apple/fx_quartz_device.cpp @@ -56,8 +56,7 @@ void* CQuartz2D::CreateFont(const uint8_t* pFontData, FX_DWORD dwFontSize) { void CQuartz2D::DestroyFont(void* pFont) { CGFontRelease((CGFontRef)pFont); } -void CQuartz2D::setGraphicsTextMatrix(void* graphics, - CFX_AffineMatrix* matrix) { +void CQuartz2D::setGraphicsTextMatrix(void* graphics, CFX_Matrix* matrix) { if (!graphics || !matrix) { return; } @@ -74,7 +73,7 @@ FX_BOOL CQuartz2D::drawGraphicsString(void* graphics, CGPoint* glyphPositions, int32_t charsCount, FX_ARGB argb, - CFX_AffineMatrix* matrix) { + CFX_Matrix* matrix) { if (!graphics) { return FALSE; } @@ -224,7 +223,7 @@ void CFX_QuartzDeviceDriver::RestoreState(FX_BOOL isKeepSaved) { } } FX_BOOL CFX_QuartzDeviceDriver::SetClip_PathFill(const CFX_PathData* pathData, - const CFX_AffineMatrix* matrix, + const CFX_Matrix* matrix, int fillMode) { SaveState(); CGAffineTransform m = CGAffineTransformIdentity; @@ -260,7 +259,7 @@ FX_FLOAT CFX_QuartzDeviceDriver::getLineWidth( } FX_BOOL CFX_QuartzDeviceDriver::SetClip_PathStroke( const CFX_PathData* pathData, - const CFX_AffineMatrix* matrix, + const CFX_Matrix* matrix, const CFX_GraphStateData* graphState) { SaveState(); CGAffineTransform m = CGAffineTransformIdentity; @@ -336,7 +335,7 @@ static CGBlendMode GetCGBlendMode(int blend_type) { return mode; } FX_BOOL CFX_QuartzDeviceDriver::DrawPath(const CFX_PathData* pathData, - const CFX_AffineMatrix* matrix, + const CFX_Matrix* matrix, const CFX_GraphStateData* graphState, FX_DWORD fillArgb, FX_DWORD strokeArgb, @@ -736,17 +735,16 @@ FX_BOOL CFX_QuartzDeviceDriver::StretchDIBits(const CFX_DIBSource* pBitmap, RestoreState(FALSE); return TRUE; } -FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun( - int nChars, - const FXTEXT_CHARPOS* pCharPos, - CFX_Font* pFont, - CFX_FontCache* pCache, - const CFX_AffineMatrix* pGlyphMatrix, - const CFX_AffineMatrix* pObject2Device, - FX_FLOAT font_size, - FX_DWORD argb, - int alpha_flag, - void* pIccTransform) { +FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun(int nChars, + const FXTEXT_CHARPOS* pCharPos, + CFX_Font* pFont, + CFX_FontCache* pCache, + const CFX_Matrix* pGlyphMatrix, + const CFX_Matrix* pObject2Device, + FX_FLOAT font_size, + FX_DWORD argb, + int alpha_flag, + void* pIccTransform) { if (nChars == 0) { return TRUE; } @@ -769,7 +767,7 @@ FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun( glyph_positions[i].x = pCharPos[i].m_OriginX; glyph_positions[i].y = pCharPos[i].m_OriginY; } - CFX_AffineMatrix text_matrix; + CFX_Matrix text_matrix; if (pObject2Device) { text_matrix.Concat(*pObject2Device); } @@ -803,16 +801,15 @@ FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun( RestoreState(FALSE); return TRUE; } -FX_BOOL CFX_QuartzDeviceDriver::DrawDeviceText( - int nChars, - const FXTEXT_CHARPOS* pCharPos, - CFX_Font* pFont, - CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, - FX_FLOAT font_size, - FX_DWORD color, - int alpha_flag, - void* pIccTransform) { +FX_BOOL CFX_QuartzDeviceDriver::DrawDeviceText(int nChars, + const FXTEXT_CHARPOS* pCharPos, + CFX_Font* pFont, + CFX_FontCache* pCache, + const CFX_Matrix* pObject2Device, + FX_FLOAT font_size, + FX_DWORD color, + int alpha_flag, + void* pIccTransform) { if (NULL == pFont || NULL == _context) { return FALSE; } @@ -837,7 +834,7 @@ FX_BOOL CFX_QuartzDeviceDriver::DrawDeviceText( } } const FXTEXT_CHARPOS* char_pos = pCharPos + i; - CFX_AffineMatrix glphy_matrix; + CFX_Matrix glphy_matrix; if (font_size < 0) { glphy_matrix.Concat(-1, 0, 0, -1, 0, 0); } diff --git a/core/src/fxge/dib/dib_int.h b/core/src/fxge/dib/dib_int.h index e01304afd0..b89e19f875 100644 --- a/core/src/fxge/dib/dib_int.h +++ b/core/src/fxge/dib/dib_int.h @@ -18,7 +18,7 @@ extern const int16_t SDP_Table[513]; class CPDF_FixedMatrix { public: - CPDF_FixedMatrix(const CFX_AffineMatrix& src, int bits) { + CPDF_FixedMatrix(const CFX_Matrix& src, int bits) { base = 1 << bits; a = FXSYS_round(src.a * base); b = FXSYS_round(src.b * base); diff --git a/core/src/fxge/dib/fx_dib_main.cpp b/core/src/fxge/dib/fx_dib_main.cpp index d8335f96bd..6d37db9680 100644 --- a/core/src/fxge/dib/fx_dib_main.cpp +++ b/core/src/fxge/dib/fx_dib_main.cpp @@ -1559,7 +1559,7 @@ FX_BOOL CFX_ImageRenderer::Start(CFX_DIBitmap* pDevice, const CFX_DIBSource* pSource, int bitmap_alpha, FX_DWORD mask_color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD dib_flags, FX_BOOL bRgbByteOrder, int alpha_flag, diff --git a/core/src/fxge/dib/fx_dib_transform.cpp b/core/src/fxge/dib/fx_dib_transform.cpp index 43376c2b81..7ff96d5ebf 100644 --- a/core/src/fxge/dib/fx_dib_transform.cpp +++ b/core/src/fxge/dib/fx_dib_transform.cpp @@ -152,7 +152,7 @@ const int16_t SDP_Table[513] = { class CFX_BilinearMatrix : public CPDF_FixedMatrix { public: - CFX_BilinearMatrix(const CFX_AffineMatrix& src, int bits) + CFX_BilinearMatrix(const CFX_Matrix& src, int bits) : CPDF_FixedMatrix(src, bits) {} inline void Transform(int x, int y, @@ -296,7 +296,7 @@ FX_RECT FXDIB_SwapClipBox(FX_RECT& clip, rect.Normalize(); return rect; } -CFX_DIBitmap* CFX_DIBSource::TransformTo(const CFX_AffineMatrix* pDestMatrix, +CFX_DIBitmap* CFX_DIBSource::TransformTo(const CFX_Matrix* pDestMatrix, int& result_left, int& result_top, FX_DWORD flags, @@ -337,10 +337,10 @@ CFX_ImageTransformer::CFX_ImageTransformer() { } CFX_ImageTransformer::~CFX_ImageTransformer() {} FX_BOOL CFX_ImageTransformer::Start(const CFX_DIBSource* pSrc, - const CFX_AffineMatrix* pDestMatrix, + const CFX_Matrix* pDestMatrix, int flags, const FX_RECT* pDestClip) { - m_pMatrix = (CFX_AffineMatrix*)pDestMatrix; + m_pMatrix = (CFX_Matrix*)pDestMatrix; CFX_FloatRect unit_rect = pDestMatrix->GetUnitRect(); FX_RECT result_rect = unit_rect.GetClosestRect(); FX_RECT result_clip = result_rect; @@ -384,8 +384,8 @@ FX_BOOL CFX_ImageTransformer::Start(const CFX_DIBSource* pSrc, (int)FXSYS_ceil(FXSYS_sqrt2(pDestMatrix->a, pDestMatrix->b)); int stretch_height = (int)FXSYS_ceil(FXSYS_sqrt2(pDestMatrix->c, pDestMatrix->d)); - CFX_AffineMatrix stretch2dest(1.0f, 0.0f, 0.0f, -1.0f, 0.0f, - (FX_FLOAT)(stretch_height)); + CFX_Matrix stretch2dest(1.0f, 0.0f, 0.0f, -1.0f, 0.0f, + (FX_FLOAT)(stretch_height)); stretch2dest.Concat( pDestMatrix->a / stretch_width, pDestMatrix->b / stretch_width, pDestMatrix->c / stretch_height, pDestMatrix->d / stretch_height, @@ -442,9 +442,8 @@ FX_BOOL CFX_ImageTransformer::Continue(IFX_Pause* pPause) { if (pTransformed->m_pAlphaMask) { pTransformed->m_pAlphaMask->Clear(0); } - CFX_AffineMatrix result2stretch(1.0f, 0.0f, 0.0f, 1.0f, - (FX_FLOAT)(m_ResultLeft), - (FX_FLOAT)(m_ResultTop)); + CFX_Matrix result2stretch(1.0f, 0.0f, 0.0f, 1.0f, (FX_FLOAT)(m_ResultLeft), + (FX_FLOAT)(m_ResultTop)); result2stretch.Concat(m_dest2stretch); result2stretch.TranslateI(-m_StretchClip.left, -m_StretchClip.top); if (stretch_buf_mask == NULL && pTransformed->m_pAlphaMask) { diff --git a/core/src/fxge/ge/fx_ge_device.cpp b/core/src/fxge/ge/fx_ge_device.cpp index a1790bdd22..94efd864c0 100644 --- a/core/src/fxge/ge/fx_ge_device.cpp +++ b/core/src/fxge/ge/fx_ge_device.cpp @@ -71,10 +71,9 @@ FX_BOOL CFX_RenderDevice::CreateCompatibleBitmap(CFX_DIBitmap* pDIB, width, height, m_RenderCaps & FXRC_ALPHA_OUTPUT ? FXDIB_Argb : FXDIB_Rgb); #endif } -FX_BOOL CFX_RenderDevice::SetClip_PathFill( - const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, - int fill_mode) { +FX_BOOL CFX_RenderDevice::SetClip_PathFill(const CFX_PathData* pPathData, + const CFX_Matrix* pObject2Device, + int fill_mode) { if (!m_pDeviceDriver->SetClip_PathFill(pPathData, pObject2Device, fill_mode)) { return FALSE; @@ -84,7 +83,7 @@ FX_BOOL CFX_RenderDevice::SetClip_PathFill( } FX_BOOL CFX_RenderDevice::SetClip_PathStroke( const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) { if (!m_pDeviceDriver->SetClip_PathStroke(pPathData, pObject2Device, pGraphState)) { @@ -113,7 +112,7 @@ void CFX_RenderDevice::UpdateClipBox() { m_ClipBox.bottom = m_Height; } FX_BOOL CFX_RenderDevice::DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -212,9 +211,9 @@ FX_BOOL CFX_RenderDevice::DrawPath(const CFX_PathData* pPathData, (((fill_alpha >> 2) << 24) | (strokecolor & 0x00ffffff)); } } - CFX_AffineMatrix* pMatrix = NULL; + CFX_Matrix* pMatrix = NULL; if (pObject2Device && !pObject2Device->IsIdentity()) { - pMatrix = (CFX_AffineMatrix*)pObject2Device; + pMatrix = (CFX_Matrix*)pObject2Device; } int smooth_path = FX_ZEROAREA_FILL; if (fill_mode & FXFILL_NOPATHSMOOTH) { @@ -260,7 +259,7 @@ FX_BOOL CFX_RenderDevice::DrawPath(const CFX_PathData* pPathData, } CFX_FxgeDevice bitmap_device; bitmap_device.Attach(&bitmap, 0, FALSE, &Backdrop, TRUE); - CFX_AffineMatrix matrix; + CFX_Matrix matrix; if (pObject2Device) { matrix = *pObject2Device; } @@ -363,7 +362,7 @@ FX_BOOL CFX_RenderDevice::SetDIBits(const CFX_DIBSource* pBitmap, int blend_mode, void* pIccTransform) { ASSERT(!pBitmap->IsAlphaMask()); - CFX_AffineMatrix ctm = GetCTM(); + CFX_Matrix ctm = GetCTM(); FX_FLOAT fScaleX = FXSYS_fabs(ctm.a); FX_FLOAT fScaleY = FXSYS_fabs(ctm.d); FX_RECT dest_rect(left, top, @@ -458,7 +457,7 @@ FX_BOOL CFX_RenderDevice::StretchBitMask(const CFX_DIBSource* pBitmap, FX_BOOL CFX_RenderDevice::StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD argb, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD flags, void*& handle, int alpha_flag, diff --git a/core/src/fxge/ge/fx_ge_path.cpp b/core/src/fxge/ge/fx_ge_path.cpp index 4f6c54cac0..543c33ba14 100644 --- a/core/src/fxge/ge/fx_ge_path.cpp +++ b/core/src/fxge/ge/fx_ge_path.cpp @@ -156,8 +156,7 @@ void CFX_PathData::AddPointCount(int addPoints) { AllocPointCount(new_count); m_PointCount = new_count; } -void CFX_PathData::Append(const CFX_PathData* pSrc, - const CFX_AffineMatrix* pMatrix) { +void CFX_PathData::Append(const CFX_PathData* pSrc, const CFX_Matrix* pMatrix) { int old_count = m_PointCount; AddPointCount(pSrc->m_PointCount); FXSYS_memcpy(m_pPoints + old_count, pSrc->m_pPoints, @@ -384,7 +383,7 @@ CFX_FloatRect CFX_PathData::GetBoundingBox(FX_FLOAT line_width, } return rect; } -void CFX_PathData::Transform(const CFX_AffineMatrix* pMatrix) { +void CFX_PathData::Transform(const CFX_Matrix* pMatrix) { if (pMatrix == NULL) { return; } @@ -393,7 +392,7 @@ void CFX_PathData::Transform(const CFX_AffineMatrix* pMatrix) { } } FX_BOOL CFX_PathData::GetZeroAreaPath(CFX_PathData& NewPath, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, FX_BOOL& bThin, FX_BOOL bAdjust) const { if (m_PointCount < 3) { @@ -563,7 +562,7 @@ FX_BOOL CFX_PathData::IsRect() const { } return m_PointCount == 5 || (m_pPoints[3].m_Flag & FXPT_CLOSEFIGURE); } -FX_BOOL CFX_PathData::IsRect(const CFX_AffineMatrix* pMatrix, +FX_BOOL CFX_PathData::IsRect(const CFX_Matrix* pMatrix, CFX_FloatRect* pRect) const { if (pMatrix == NULL) { if (!IsRect()) { diff --git a/core/src/fxge/ge/fx_ge_ps.cpp b/core/src/fxge/ge/fx_ge_ps.cpp index 018a6005e3..bf0c8c1a16 100644 --- a/core/src/fxge/ge/fx_ge_ps.cpp +++ b/core/src/fxge/ge/fx_ge_ps.cpp @@ -90,7 +90,7 @@ void CFX_PSRenderer::RestoreState(FX_BOOL bKeepSaved) { } } void CFX_PSRenderer::OutputPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device) { + const CFX_Matrix* pObject2Device) { int nPoints = pPathData->GetPointCount(); CFX_ByteTextBuf buf; buf.EstimateSize(nPoints * 10); @@ -137,7 +137,7 @@ void CFX_PSRenderer::OutputPath(const CFX_PathData* pPathData, m_pOutput->OutputPS((const FX_CHAR*)buf.GetBuffer(), buf.GetSize()); } void CFX_PSRenderer::SetClip_PathFill(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, int fill_mode) { StartRendering(); OutputPath(pPathData, pObject2Device); @@ -153,7 +153,7 @@ void CFX_PSRenderer::SetClip_PathFill(const CFX_PathData* pPathData, } } void CFX_PSRenderer::SetClip_PathStroke(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) { StartRendering(); SetGraphState(pGraphState); @@ -178,7 +178,7 @@ void CFX_PSRenderer::SetClip_PathStroke(const CFX_PathData* pPathData, } } FX_BOOL CFX_PSRenderer::DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -333,9 +333,9 @@ FX_BOOL CFX_PSRenderer::SetDIBits(const CFX_DIBSource* pSource, int alpha_flag, void* pIccTransform) { StartRendering(); - CFX_AffineMatrix matrix((FX_FLOAT)(pSource->GetWidth()), 0.0f, 0.0f, - -(FX_FLOAT)(pSource->GetHeight()), (FX_FLOAT)(left), - (FX_FLOAT)(top + pSource->GetHeight())); + CFX_Matrix matrix((FX_FLOAT)(pSource->GetWidth()), 0.0f, 0.0f, + -(FX_FLOAT)(pSource->GetHeight()), (FX_FLOAT)(left), + (FX_FLOAT)(top + pSource->GetHeight())); return DrawDIBits(pSource, color, &matrix, 0, alpha_flag, pIccTransform); } FX_BOOL CFX_PSRenderer::StretchDIBits(const CFX_DIBSource* pSource, @@ -348,14 +348,14 @@ FX_BOOL CFX_PSRenderer::StretchDIBits(const CFX_DIBSource* pSource, int alpha_flag, void* pIccTransform) { StartRendering(); - CFX_AffineMatrix matrix((FX_FLOAT)(dest_width), 0.0f, 0.0f, - (FX_FLOAT)(-dest_height), (FX_FLOAT)(dest_left), - (FX_FLOAT)(dest_top + dest_height)); + CFX_Matrix matrix((FX_FLOAT)(dest_width), 0.0f, 0.0f, + (FX_FLOAT)(-dest_height), (FX_FLOAT)(dest_left), + (FX_FLOAT)(dest_top + dest_height)); return DrawDIBits(pSource, color, &matrix, flags, alpha_flag, pIccTransform); } FX_BOOL CFX_PSRenderer::DrawDIBits(const CFX_DIBSource* pSource, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD flags, int alpha_flag, void* pIccTransform) { @@ -607,7 +607,7 @@ void CFX_PSRenderer::FindPSFontGlyph(CFX_FaceCache* pFaceCache, charpos.m_AdjustMatrix[3]; } pPSFont->m_nGlyphs++; - CFX_AffineMatrix matrix; + CFX_Matrix matrix; if (charpos.m_bGlyphAdjust) matrix.Set(charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1], charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0); @@ -657,7 +657,7 @@ FX_BOOL CFX_PSRenderer::DrawText(int nChars, const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD color, int alpha_flag, diff --git a/core/src/fxge/ge/fx_ge_text.cpp b/core/src/fxge/ge/fx_ge_text.cpp index f01bdcfb3e..5e7773e300 100644 --- a/core/src/fxge/ge/fx_ge_text.cpp +++ b/core/src/fxge/ge/fx_ge_text.cpp @@ -176,7 +176,7 @@ FX_BOOL CFX_RenderDevice::DrawNormalText(int nChars, CFX_Font* pFont, CFX_FontCache* pCache, FX_FLOAT font_size, - const CFX_AffineMatrix* pText2Device, + const CFX_Matrix* pText2Device, FX_DWORD fill_color, FX_DWORD text_flags, int alpha_flag, @@ -220,7 +220,7 @@ FX_BOOL CFX_RenderDevice::DrawNormalText(int nChars, return TRUE; } } - CFX_AffineMatrix char2device, deviceCtm, text2Device; + CFX_Matrix char2device, deviceCtm, text2Device; if (pText2Device) { char2device = *pText2Device; text2Device = *pText2Device; @@ -272,7 +272,7 @@ FX_BOOL CFX_RenderDevice::DrawNormalText(int nChars, FXTEXT_GLYPHPOS* pGlyphAndPos = FX_Alloc(FXTEXT_GLYPHPOS, nChars); int iChar; deviceCtm = char2device; - CFX_AffineMatrix matrixCTM = GetCTM(); + CFX_Matrix matrixCTM = GetCTM(); FX_FLOAT scale_x = FXSYS_fabs(matrixCTM.a); FX_FLOAT scale_y = FXSYS_fabs(matrixCTM.d); deviceCtm.Concat(scale_x, 0, 0, scale_y, 0, 0); @@ -290,7 +290,7 @@ FX_BOOL CFX_RenderDevice::DrawNormalText(int nChars, } glyph.m_OriginY = FXSYS_round(glyph.m_fOriginY); if (charpos.m_bGlyphAdjust) { - CFX_AffineMatrix new_matrix( + CFX_Matrix new_matrix( charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1], charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0); new_matrix.Concat(deviceCtm); @@ -1108,8 +1108,8 @@ FX_BOOL CFX_RenderDevice::DrawTextPath(int nChars, CFX_Font* pFont, CFX_FontCache* pCache, FX_FLOAT font_size, - const CFX_AffineMatrix* pText2User, - const CFX_AffineMatrix* pUser2Device, + const CFX_Matrix* pText2User, + const CFX_Matrix* pUser2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_ARGB stroke_color, @@ -1125,7 +1125,7 @@ FX_BOOL CFX_RenderDevice::DrawTextPath(int nChars, FX_FONTCACHE_DEFINE(pCache, pFont); for (int iChar = 0; iChar < nChars; iChar++) { const FXTEXT_CHARPOS& charpos = pCharPos[iChar]; - CFX_AffineMatrix matrix; + CFX_Matrix matrix; if (charpos.m_bGlyphAdjust) matrix.Set(charpos.m_AdjustMatrix[0], charpos.m_AdjustMatrix[1], charpos.m_AdjustMatrix[2], charpos.m_AdjustMatrix[3], 0, 0); @@ -1252,7 +1252,7 @@ void CFX_FaceCache::InitPlatform() {} #endif CFX_GlyphBitmap* CFX_FaceCache::LookUpGlyphBitmap( CFX_Font* pFont, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, CFX_ByteStringC& FaceGlyphsKey, FX_DWORD glyph_index, FX_BOOL bFontStyle, @@ -1279,14 +1279,13 @@ CFX_GlyphBitmap* CFX_FaceCache::LookUpGlyphBitmap( pSizeCache->m_GlyphMap.SetAt((void*)(uintptr_t)glyph_index, pGlyphBitmap); return pGlyphBitmap; } -const CFX_GlyphBitmap* CFX_FaceCache::LoadGlyphBitmap( - CFX_Font* pFont, - FX_DWORD glyph_index, - FX_BOOL bFontStyle, - const CFX_AffineMatrix* pMatrix, - int dest_width, - int anti_alias, - int& text_flags) { +const CFX_GlyphBitmap* CFX_FaceCache::LoadGlyphBitmap(CFX_Font* pFont, + FX_DWORD glyph_index, + FX_BOOL bFontStyle, + const CFX_Matrix* pMatrix, + int dest_width, + int anti_alias, + int& text_flags) { if (glyph_index == (FX_DWORD)-1) { return NULL; } @@ -1518,7 +1517,7 @@ static void _ContrastAdjust(uint8_t* pDataIn, CFX_GlyphBitmap* CFX_FaceCache::RenderGlyph(CFX_Font* pFont, FX_DWORD glyph_index, FX_BOOL bFontStyle, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, int dest_width, int anti_alias) { if (m_Face == NULL) { diff --git a/core/src/fxge/skia/fx_skia_device.cpp b/core/src/fxge/skia/fx_skia_device.cpp index 7cce7b3326..8e012c82e0 100644 --- a/core/src/fxge/skia/fx_skia_device.cpp +++ b/core/src/fxge/skia/fx_skia_device.cpp @@ -127,11 +127,11 @@ class CSkia_PathData { SkPath m_PathData; void BuildPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device); + const CFX_Matrix* pObject2Device); }; void CSkia_PathData::BuildPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device) { + const CFX_Matrix* pObject2Device) { const CFX_PathData* pFPath = pPathData; int nPoints = pFPath->GetPointCount(); FX_PATHPOINT* pPoints = pFPath->GetPoints(); @@ -177,7 +177,7 @@ void CSkia_PathData::BuildPath(const CFX_PathData* pPathData, static void SkRasterizeStroke(SkPaint& spaint, SkPath* dstPathData, SkPath& path_data, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_FIXFLOAT scale = FIX8_ONE, FX_BOOL bStrokeAdjust = FALSE, @@ -269,16 +269,15 @@ CFX_SkiaDeviceDriver::CFX_SkiaDeviceDriver(CFX_DIBitmap* pBitmap, CFX_SkiaDeviceDriver::~CFX_SkiaDeviceDriver() { delete m_pAggDriver; } -FX_BOOL CFX_SkiaDeviceDriver::DrawDeviceText( - int nChars, - const FXTEXT_CHARPOS* pCharPos, - CFX_Font* pFont, - CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, - FX_FIXFLOAT font_size, - FX_DWORD color, - int alpha_flag, - void* pIccTransform) { +FX_BOOL CFX_SkiaDeviceDriver::DrawDeviceText(int nChars, + const FXTEXT_CHARPOS* pCharPos, + CFX_Font* pFont, + CFX_FontCache* pCache, + const CFX_Matrix* pObject2Device, + FX_FIXFLOAT font_size, + FX_DWORD color, + int alpha_flag, + void* pIccTransform) { return m_pAggDriver->DrawDeviceText(nChars, pCharPos, pFont, pCache, pObject2Device, font_size, color, alpha_flag, pIccTransform); @@ -328,9 +327,9 @@ void CFX_SkiaDeviceDriver::SetClipMask(SkPath& skPath, SkPaint* spaint) { m_pAggDriver->m_pClipRgn->IntersectMaskF(clip_box.fLeft, clip_box.fTop, mask); } FX_BOOL CFX_SkiaDeviceDriver::SetClip_PathFill( - const CFX_PathData* pPathData, // path info - const CFX_AffineMatrix* pObject2Device, // optional transformation - int fill_mode // fill mode, WINDING or ALTERNATE + const CFX_PathData* pPathData, // path info + const CFX_Matrix* pObject2Device, // optional transformation + int fill_mode // fill mode, WINDING or ALTERNATE ) { if (m_pAggDriver->m_pClipRgn == NULL) m_pAggDriver->m_pClipRgn = new CFX_ClipRgn( @@ -365,8 +364,8 @@ FX_BOOL CFX_SkiaDeviceDriver::SetClip_PathFill( } FX_BOOL CFX_SkiaDeviceDriver::SetClip_PathStroke( - const CFX_PathData* pPathData, // path info - const CFX_AffineMatrix* pObject2Device, // optional transformation + const CFX_PathData* pPathData, // path info + const CFX_Matrix* pObject2Device, // optional transformation const CFX_GraphStateData* pGraphState // graphic state, for pen attributes ) { if (m_pAggDriver->m_pClipRgn == NULL) @@ -425,8 +424,8 @@ FX_BOOL CFX_SkiaDeviceDriver::RenderRasterizerSkia(SkPath& skPath, } FX_BOOL CFX_SkiaDeviceDriver::DrawPath( - const CFX_PathData* pPathData, // path info - const CFX_AffineMatrix* pObject2Device, // optional transformation + const CFX_PathData* pPathData, // path info + const CFX_Matrix* pObject2Device, // optional transformation const CFX_GraphStateData* pGraphState, // graphic state, for pen attributes FX_DWORD fill_color, // fill color FX_DWORD stroke_color, // stroke color @@ -472,7 +471,7 @@ FX_BOOL CFX_SkiaDeviceDriver::DrawPath( // flatness problem, second part doing the transformation, so we don't have // stroking geo problem. // TESTDOC: Bug #5253 - test[1].pdf - CFX_AffineMatrix matrix1, matrix2; + CFX_Matrix matrix1, matrix2; if (pObject2Device) { matrix1.a = FXSYS_fabs(pObject2Device->a) > FXSYS_fabs(pObject2Device->b) ? FXSYS_fabs(pObject2Device->a) @@ -566,7 +565,7 @@ FX_BOOL CFX_SkiaDeviceDriver::StretchDIBits(const CFX_DIBSource* pSource, FX_BOOL CFX_SkiaDeviceDriver::StartDIBits(const CFX_DIBSource* pSource, int bitmap_alpha, FX_DWORD argb, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, diff --git a/core/src/fxge/skia/fx_skia_device.h b/core/src/fxge/skia/fx_skia_device.h index a2cfc355b3..013962d046 100644 --- a/core/src/fxge/skia/fx_skia_device.h +++ b/core/src/fxge/skia/fx_skia_device.h @@ -24,22 +24,22 @@ class CFX_SkiaDeviceDriver : public IFX_RenderDeviceDriver { /** Set clipping path using filled region */ virtual FX_BOOL SetClip_PathFill( - const CFX_PathData* pPathData, // path info - const CFX_AffineMatrix* pObject2Device, // optional transformation - int fill_mode // fill mode, WINDING or ALTERNATE + const CFX_PathData* pPathData, // path info + const CFX_Matrix* pObject2Device, // optional transformation + int fill_mode // fill mode, WINDING or ALTERNATE ); /** Set clipping path using stroked region */ virtual FX_BOOL SetClip_PathStroke( - const CFX_PathData* pPathData, // path info - const CFX_AffineMatrix* pObject2Device, // optional transformation + const CFX_PathData* pPathData, // path info + const CFX_Matrix* pObject2Device, // optional transformation const CFX_GraphStateData* pGraphState // graphic state, for pen attributes ); /** Draw a path */ virtual FX_BOOL DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -103,7 +103,7 @@ class CFX_SkiaDeviceDriver : public IFX_RenderDeviceDriver { virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD flags, void*& handle, int alpha_flag = 0, @@ -115,7 +115,7 @@ class CFX_SkiaDeviceDriver : public IFX_RenderDeviceDriver { const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FIXFLOAT font_size, FX_DWORD color, int alpha_flag = 0, diff --git a/core/src/fxge/win32/dwrite_int.h b/core/src/fxge/win32/dwrite_int.h index a2c91ce5b4..206cdf5020 100644 --- a/core/src/fxge/win32/dwrite_int.h +++ b/core/src/fxge/win32/dwrite_int.h @@ -44,7 +44,7 @@ class CDWriteExt { FX_BOOL DwRendingString(void* renderTarget, CFX_ClipRgn* pClipRgn, FX_RECT& stringRect, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, void* font, FX_FLOAT font_size, FX_ARGB text_color, diff --git a/core/src/fxge/win32/fx_win32_device.cpp b/core/src/fxge/win32/fx_win32_device.cpp index b7b625341e..4ca4316c2e 100644 --- a/core/src/fxge/win32/fx_win32_device.cpp +++ b/core/src/fxge/win32/fx_win32_device.cpp @@ -681,7 +681,7 @@ FX_BOOL CGdiDeviceDriver::SetClipRgn(void* hRgn) { return TRUE; } static HPEN _CreatePen(const CFX_GraphStateData* pGraphState, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD argb) { FX_FLOAT width; FX_FLOAT scale = 1.f; @@ -757,7 +757,7 @@ static HBRUSH _CreateBrush(FX_DWORD argb) { } static void _SetPathToDC(HDC hDC, const CFX_PathData* pPathData, - const CFX_AffineMatrix* pMatrix) { + const CFX_Matrix* pMatrix) { BeginPath(hDC); int nPoints = pPathData->GetPointCount(); FX_PATHPOINT* pPoints = pPathData->GetPoints(); @@ -835,12 +835,12 @@ void CGdiDeviceDriver::DrawLine(FX_FLOAT x1, MoveToEx(m_hDC, FXSYS_round(x1), FXSYS_round(y1), NULL); LineTo(m_hDC, FXSYS_round(x2), FXSYS_round(y2)); } -static FX_BOOL _MatrixNoScaled(const CFX_AffineMatrix* pMatrix) { +static FX_BOOL _MatrixNoScaled(const CFX_Matrix* pMatrix) { return pMatrix->GetA() == 1.0f && pMatrix->GetB() == 0 && pMatrix->GetC() == 0 && pMatrix->GetD() == 1.0f; } FX_BOOL CGdiDeviceDriver::DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -975,7 +975,7 @@ FX_BOOL CGdiDeviceDriver::FillRect(const FX_RECT* pRect, return TRUE; } FX_BOOL CGdiDeviceDriver::SetClip_PathFill(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, int fill_mode) { if (pPathData->GetPointCount() == 5) { CFX_FloatRect rectf; @@ -992,7 +992,7 @@ FX_BOOL CGdiDeviceDriver::SetClip_PathFill(const CFX_PathData* pPathData, } FX_BOOL CGdiDeviceDriver::SetClip_PathStroke( const CFX_PathData* pPathData, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, const CFX_GraphStateData* pGraphState) { HPEN hPen = _CreatePen(pGraphState, pMatrix, 0xff000000); hPen = (HPEN)SelectObject(m_hDC, hPen); diff --git a/core/src/fxge/win32/fx_win32_dwrite.cpp b/core/src/fxge/win32/fx_win32_dwrite.cpp index 0d533436b5..ab50f3cf38 100644 --- a/core/src/fxge/win32/fx_win32_dwrite.cpp +++ b/core/src/fxge/win32/fx_win32_dwrite.cpp @@ -206,7 +206,7 @@ failed: FX_BOOL CDWriteExt::DwRendingString(void* renderTarget, CFX_ClipRgn* pClipRgn, FX_RECT& stringRect, - CFX_AffineMatrix* pMatrix, + CFX_Matrix* pMatrix, void* font, FX_FLOAT font_size, FX_ARGB text_color, diff --git a/core/src/fxge/win32/fx_win32_gdipext.cpp b/core/src/fxge/win32/fx_win32_gdipext.cpp index 368b15fcc0..2886ee81d0 100644 --- a/core/src/fxge/win32/fx_win32_gdipext.cpp +++ b/core/src/fxge/win32/fx_win32_gdipext.cpp @@ -965,7 +965,7 @@ FX_BOOL CGdiplusExt::StretchDIBits(HDC hDC, return TRUE; } static GpPen* _GdipCreatePen(const CFX_GraphStateData* pGraphState, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, DWORD argb, FX_BOOL bTextMode = FALSE) { CGdiplusExt& GdiplusExt = @@ -1072,7 +1072,7 @@ static GpPen* _GdipCreatePen(const CFX_GraphStateData* pGraphState, return pPen; } static FX_BOOL IsSmallTriangle(PointF* points, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, int& v1, int& v2) { int pairs[] = {1, 2, 0, 2, 0, 1}; @@ -1098,7 +1098,7 @@ static FX_BOOL IsSmallTriangle(PointF* points, } FX_BOOL CGdiplusExt::DrawPath(HDC hDC, const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_argb, FX_DWORD stroke_argb, diff --git a/core/src/fxge/win32/fx_win32_print.cpp b/core/src/fxge/win32/fx_win32_print.cpp index 126e5d7f47..c829a438b9 100644 --- a/core/src/fxge/win32/fx_win32_print.cpp +++ b/core/src/fxge/win32/fx_win32_print.cpp @@ -136,7 +136,7 @@ FX_BOOL CGdiPrinterDriver::StretchDIBits(const CFX_DIBSource* pSource, dest_height, flags, pIccTransform); } static CFX_DIBitmap* Transform1bppBitmap(const CFX_DIBSource* pSrc, - const CFX_AffineMatrix* pDestMatrix) { + const CFX_Matrix* pDestMatrix) { ASSERT(pSrc->GetFormat() == FXDIB_1bppRgb || pSrc->GetFormat() == FXDIB_1bppMask || pSrc->GetFormat() == FXDIB_1bppCmyk); @@ -152,11 +152,11 @@ static CFX_DIBitmap* Transform1bppBitmap(const CFX_DIBSource* pSrc, FX_FLOAT area_scale = FXSYS_Div((FX_FLOAT)(src_width * src_height), dest_area); FX_FLOAT size_scale = FXSYS_sqrt(area_scale); - CFX_AffineMatrix adjusted_matrix(*pDestMatrix); + CFX_Matrix adjusted_matrix(*pDestMatrix); adjusted_matrix.Scale(size_scale, size_scale); CFX_FloatRect result_rect_f = adjusted_matrix.GetUnitRect(); FX_RECT result_rect = result_rect_f.GetOutterRect(); - CFX_AffineMatrix src2result; + CFX_Matrix src2result; src2result.e = adjusted_matrix.c + adjusted_matrix.e; src2result.f = adjusted_matrix.d + adjusted_matrix.f; src2result.a = adjusted_matrix.a / pSrcBitmap->GetWidth(); @@ -164,7 +164,7 @@ static CFX_DIBitmap* Transform1bppBitmap(const CFX_DIBSource* pSrc, src2result.c = -adjusted_matrix.c / pSrcBitmap->GetHeight(); src2result.d = -adjusted_matrix.d / pSrcBitmap->GetHeight(); src2result.TranslateI(-result_rect.left, -result_rect.top); - CFX_AffineMatrix result2src; + CFX_Matrix result2src; result2src.SetReverse(src2result); CPDF_FixedMatrix result2src_fix(result2src, 8); int result_width = result_rect.Width(); @@ -224,7 +224,7 @@ static CFX_DIBitmap* Transform1bppBitmap(const CFX_DIBSource* pSrc, FX_BOOL CGdiPrinterDriver::StartDIBits(const CFX_DIBSource* pSource, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, @@ -375,22 +375,21 @@ void CPSPrinterDriver::SaveState() { void CPSPrinterDriver::RestoreState(FX_BOOL bKeepSaved) { m_PSRenderer.RestoreState(bKeepSaved); } -FX_BOOL CPSPrinterDriver::SetClip_PathFill( - const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, - int fill_mode) { +FX_BOOL CPSPrinterDriver::SetClip_PathFill(const CFX_PathData* pPathData, + const CFX_Matrix* pObject2Device, + int fill_mode) { m_PSRenderer.SetClip_PathFill(pPathData, pObject2Device, fill_mode); return TRUE; } FX_BOOL CPSPrinterDriver::SetClip_PathStroke( const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) { m_PSRenderer.SetClip_PathStroke(pPathData, pObject2Device, pGraphState); return TRUE; } FX_BOOL CPSPrinterDriver::DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_ARGB fill_color, FX_ARGB stroke_color, @@ -444,7 +443,7 @@ FX_BOOL CPSPrinterDriver::StretchDIBits(const CFX_DIBSource* pBitmap, FX_BOOL CPSPrinterDriver::StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, @@ -464,7 +463,7 @@ FX_BOOL CPSPrinterDriver::DrawDeviceText(int nChars, const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD color, int alpha_flag, diff --git a/core/src/fxge/win32/win32_int.h b/core/src/fxge/win32/win32_int.h index 95d31d159d..0616476676 100644 --- a/core/src/fxge/win32/win32_int.h +++ b/core/src/fxge/win32/win32_int.h @@ -36,7 +36,7 @@ class CGdiplusExt { int flags); FX_BOOL DrawPath(HDC hDC, const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_argb, FX_DWORD stroke_argb, @@ -117,13 +117,13 @@ class CGdiDeviceDriver : public IFX_RenderDeviceDriver { } } FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, int fill_mode) override; FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) override; FX_BOOL DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -212,7 +212,7 @@ class CGdiDisplayDriver : public CGdiDeviceDriver { virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, @@ -260,7 +260,7 @@ class CGdiPrinterDriver : public CGdiDeviceDriver { virtual FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, @@ -300,13 +300,13 @@ class CPSPrinterDriver : public IFX_RenderDeviceDriver { void SaveState() override; void RestoreState(FX_BOOL bKeepSaved = FALSE) override; FX_BOOL SetClip_PathFill(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, int fill_mode) override; FX_BOOL SetClip_PathStroke(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState) override; FX_BOOL DrawPath(const CFX_PathData* pPathData, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, const CFX_GraphStateData* pGraphState, FX_DWORD fill_color, FX_DWORD stroke_color, @@ -337,7 +337,7 @@ class CPSPrinterDriver : public IFX_RenderDeviceDriver { FX_BOOL StartDIBits(const CFX_DIBSource* pBitmap, int bitmap_alpha, FX_DWORD color, - const CFX_AffineMatrix* pMatrix, + const CFX_Matrix* pMatrix, FX_DWORD render_flags, void*& handle, int alpha_flag, @@ -347,7 +347,7 @@ class CPSPrinterDriver : public IFX_RenderDeviceDriver { const FXTEXT_CHARPOS* pCharPos, CFX_Font* pFont, CFX_FontCache* pCache, - const CFX_AffineMatrix* pObject2Device, + const CFX_Matrix* pObject2Device, FX_FLOAT font_size, FX_DWORD color, int alpha_flag, |