Replace CPDF_Rect and CPDF_Point with CFX types.

Too many rectangle types.  Remove CPDF_Rect #define, and
make an equivalent point type in CFX, but stop short of
consolidating the N different forms of rectangles in CFX.

Also banish PDF_ClipFloat to the one .cpp file that needs it,
since it was in the vicinity of the .h file changes.

R=thestig@chromium.org

Review URL: https://codereview.chromium.org/1740923003 .
diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h
index 9fa05c7..c57d9f2 100644
--- a/core/include/fpdfapi/fpdf_parser.h
+++ b/core/include/fpdfapi/fpdf_parser.h
@@ -672,26 +672,11 @@
                               FX_BOOL bEncrypt);
 
   uint8_t m_EncryptKey[32];
-
   int m_KeyLen;
-
   int m_Cipher;
-
   uint8_t* m_pAESContext;
 };
-class CPDF_Point {
- public:
-  CPDF_Point(FX_FLOAT xx, FX_FLOAT yy) {
-    x = xx;
-    y = yy;
-  }
 
-  FX_FLOAT x;
-
-  FX_FLOAT y;
-};
-
-#define CPDF_Rect CFX_FloatRect
 CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& orig);
 CFX_ByteString PDF_NameDecode(const CFX_ByteString& orig);
 CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig);
@@ -702,23 +687,21 @@
 CFX_ByteString PDF_EncodeText(const FX_WCHAR* pString, int len = -1);
 CFX_ByteString PDF_EncodeText(const CFX_WideString& str);
 
-FX_FLOAT PDF_ClipFloat(FX_FLOAT f);
 class CFDF_Document : public CPDF_IndirectObjectHolder {
  public:
   static CFDF_Document* CreateNewDoc();
   static CFDF_Document* ParseFile(IFX_FileRead* pFile,
                                   FX_BOOL bOwnFile = FALSE);
   static CFDF_Document* ParseMemory(const uint8_t* pData, FX_DWORD size);
-
   ~CFDF_Document();
 
   FX_BOOL WriteBuf(CFX_ByteTextBuf& buf) const;
-
   CPDF_Dictionary* GetRoot() const { return m_pRootDict; }
 
  protected:
   CFDF_Document();
   void ParseStream(IFX_FileRead* pFile, FX_BOOL bOwnFile);
+
   CPDF_Dictionary* m_pRootDict;
   IFX_FileRead* m_pFile;
   FX_BOOL m_bOwnFile;
diff --git a/core/include/fpdfdoc/fpdf_ap.h b/core/include/fpdfdoc/fpdf_ap.h
index f9ade57..5f2a300 100644
--- a/core/include/fpdfdoc/fpdf_ap.h
+++ b/core/include/fpdfdoc/fpdf_ap.h
@@ -81,12 +81,12 @@
 
   static CFX_ByteString GenerateEditAP(IPVT_FontMap* pFontMap,
                                        IPDF_VariableText_Iterator* pIterator,
-                                       const CPDF_Point& ptOffset,
+                                       const CFX_FloatPoint& ptOffset,
                                        FX_BOOL bContinuous,
                                        FX_WORD SubWord = 0,
                                        const CPVT_WordRange* pVisible = NULL);
 
-  static CFX_ByteString GenerateBorderAP(const CPDF_Rect& rect,
+  static CFX_ByteString GenerateBorderAP(const CFX_FloatRect& rect,
                                          FX_FLOAT fWidth,
                                          const CPVT_Color& color,
                                          const CPVT_Color& crLeftTop,
diff --git a/core/include/fpdfdoc/fpdf_vt.h b/core/include/fpdfdoc/fpdf_vt.h
index 91a9388..b2e64cd 100644
--- a/core/include/fpdfdoc/fpdf_vt.h
+++ b/core/include/fpdfdoc/fpdf_vt.h
@@ -226,7 +226,7 @@
 
   CPVT_WordPlace WordPlace;
 
-  CPDF_Point ptWord;
+  CFX_FloatPoint ptWord;
 
   FX_FLOAT fAscent;
 
@@ -248,7 +248,7 @@
 
   CPVT_WordPlace lineEnd;
 
-  CPDF_Point ptLine;
+  CFX_FloatPoint ptLine;
 
   FX_FLOAT fLineWidth;
 
@@ -259,7 +259,7 @@
 struct CPVT_Section {
   CPVT_WordPlace secplace;
 
-  CPDF_Rect rcSection;
+  CFX_FloatRect rcSection;
 
   CPVT_SecProps SecProps;
 
@@ -328,7 +328,7 @@
 
   virtual IPDF_VariableText_Iterator* GetIterator() = 0;
 
-  virtual void SetPlateRect(const CPDF_Rect& rect) = 0;
+  virtual void SetPlateRect(const CFX_FloatRect& rect) = 0;
 
   virtual void SetAlignment(int32_t nFormat = 0) = 0;
 
@@ -395,9 +395,9 @@
 
   virtual CPVT_WordPlace BackSpaceWord(const CPVT_WordPlace& place) = 0;
 
-  virtual const CPDF_Rect& GetPlateRect() const = 0;
+  virtual const CFX_FloatRect& GetPlateRect() const = 0;
 
-  virtual CPDF_Rect GetContentRect() const = 0;
+  virtual CFX_FloatRect GetContentRect() const = 0;
 
   virtual int32_t GetTotalWords() const = 0;
 
@@ -427,13 +427,14 @@
   virtual CPVT_WordPlace GetNextWordPlace(
       const CPVT_WordPlace& place) const = 0;
 
-  virtual CPVT_WordPlace SearchWordPlace(const CPDF_Point& point) const = 0;
+  virtual CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const = 0;
 
   virtual CPVT_WordPlace GetUpWordPlace(const CPVT_WordPlace& place,
-                                        const CPDF_Point& point) const = 0;
+                                        const CFX_FloatPoint& point) const = 0;
 
-  virtual CPVT_WordPlace GetDownWordPlace(const CPVT_WordPlace& place,
-                                          const CPDF_Point& point) const = 0;
+  virtual CPVT_WordPlace GetDownWordPlace(
+      const CPVT_WordPlace& place,
+      const CFX_FloatPoint& point) const = 0;
 
   virtual CPVT_WordPlace GetLineBeginPlace(
       const CPVT_WordPlace& place) const = 0;
diff --git a/core/include/fpdftext/fpdf_text.h b/core/include/fpdftext/fpdf_text.h
index 498b623..7c1cde6 100644
--- a/core/include/fpdftext/fpdf_text.h
+++ b/core/include/fpdftext/fpdf_text.h
@@ -58,7 +58,7 @@
   virtual void GetRectArray(int start,
                             int nCount,
                             CFX_RectArray& rectArray) const = 0;
-  virtual int GetIndexAtPos(CPDF_Point point,
+  virtual int GetIndexAtPos(CFX_FloatPoint point,
                             FX_FLOAT xTolerance,
                             FX_FLOAT yTolerance) const = 0;
   virtual int GetIndexAtPos(FX_FLOAT x,
diff --git a/core/include/fxcrt/fx_coordinates.h b/core/include/fxcrt/fx_coordinates.h
index 053d637..4bafb63 100644
--- a/core/include/fxcrt/fx_coordinates.h
+++ b/core/include/fxcrt/fx_coordinates.h
@@ -415,6 +415,15 @@
 
   int16_t Bottom;
 };
+
+class CFX_FloatPoint {
+ public:
+  CFX_FloatPoint(FX_FLOAT xx, FX_FLOAT yy) : x(xx), y(xx) {}
+
+  FX_FLOAT x;
+  FX_FLOAT y;
+};
+
 class CFX_FloatRect {
  public:
   CFX_FloatRect() { left = right = bottom = top = 0; }
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 de3a657..44492b1 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp
@@ -6,6 +6,8 @@
 
 #include "core/src/fpdfapi/fpdf_page/pageint.h"
 
+#include <algorithm>
+
 #include "core/include/fpdfapi/fpdf_module.h"
 #include "core/include/fpdfapi/fpdf_page.h"
 #include "core/include/fpdfapi/fpdf_pageobj.h"
@@ -13,6 +15,14 @@
 #include "core/src/fpdfapi/fpdf_render/render_int.h"
 #include "third_party/base/stl_util.h"
 
+namespace {
+
+FX_FLOAT ClipFloat(FX_FLOAT f) {
+  return std::max(0.0f, std::min(1.0f, f));
+}
+
+}  // namespace
+
 void CPDF_GraphicStates::DefaultStates() {
   m_ColorState.New()->Default();
 }
@@ -85,21 +95,21 @@
     m_pTextList = FX_Alloc(CPDF_TextObject*, text_count);
   }
 }
-CPDF_Rect CPDF_ClipPath::GetClipBox() const {
-  CPDF_Rect rect;
+CFX_FloatRect CPDF_ClipPath::GetClipBox() const {
+  CFX_FloatRect rect;
   FX_BOOL bStarted = FALSE;
   int count = GetPathCount();
   if (count) {
     rect = GetPath(0).GetBoundingBox();
     for (int i = 1; i < count; i++) {
-      CPDF_Rect path_rect = GetPath(i).GetBoundingBox();
+      CFX_FloatRect path_rect = GetPath(i).GetBoundingBox();
       rect.Intersect(path_rect);
     }
     bStarted = TRUE;
   }
   count = GetTextCount();
   if (count) {
-    CPDF_Rect layer_rect;
+    CFX_FloatRect layer_rect;
     FX_BOOL bLayerStarted = FALSE;
     for (int i = 0; i < count; i++) {
       CPDF_TextObject* pTextObj = GetText(i);
@@ -128,9 +138,9 @@
   if (pData->m_PathCount && bAutoMerge) {
     CPDF_Path old_path = pData->m_pPathList[pData->m_PathCount - 1];
     if (old_path.IsRect()) {
-      CPDF_Rect old_rect(old_path.GetPointX(0), old_path.GetPointY(0),
-                         old_path.GetPointX(2), old_path.GetPointY(2));
-      CPDF_Rect new_rect = path.GetBoundingBox();
+      CFX_FloatRect old_rect(old_path.GetPointX(0), old_path.GetPointY(0),
+                             old_path.GetPointX(2), old_path.GetPointY(2));
+      CFX_FloatRect new_rect = path.GetBoundingBox();
       if (old_rect.Contains(new_rect)) {
         pData->m_PathCount--;
         pData->m_pPathList[pData->m_PathCount].SetNull();
@@ -534,10 +544,10 @@
         }
         break;
       case FXBSTR_ID('C', 'A', 0, 0):
-        pGeneralState->m_StrokeAlpha = PDF_ClipFloat(pObject->GetNumber());
+        pGeneralState->m_StrokeAlpha = ClipFloat(pObject->GetNumber());
         break;
       case FXBSTR_ID('c', 'a', 0, 0):
-        pGeneralState->m_FillAlpha = PDF_ClipFloat(pObject->GetNumber());
+        pGeneralState->m_FillAlpha = ClipFloat(pObject->GetNumber());
         break;
       case FXBSTR_ID('O', 'P', 0, 0):
         pGeneralState->m_StrokeOP = pObject->GetInteger();
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
index c47fe8b..1df4f3d 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
@@ -116,7 +116,7 @@
     CFX_Matrix* pmtContentToUser,
     CPDF_PageObjectHolder* pObjHolder,
     CPDF_Dictionary* pResources,
-    CPDF_Rect* pBBox,
+    CFX_FloatRect* pBBox,
     CPDF_ParseOptions* pOptions,
     CPDF_AllStates* pStates,
     int level)
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
index d1a7231..37b82dd 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_utility.cpp
@@ -363,16 +363,6 @@
   return buf;
 }
 
-FX_FLOAT PDF_ClipFloat(FX_FLOAT f) {
-  if (f < 0) {
-    return 0;
-  }
-  if (f > 1.0f) {
-    return 1.0f;
-  }
-  return f;
-}
-
 static CPDF_Object* SearchNumberNode(CPDF_Dictionary* pNode, int num) {
   CPDF_Array* pLimits = pNode->GetArrayBy("Limits");
   if (pLimits &&
diff --git a/core/src/fpdfdoc/doc_annot.cpp b/core/src/fpdfdoc/doc_annot.cpp
index 4b0b2b5..dcd21be 100644
--- a/core/src/fpdfdoc/doc_annot.cpp
+++ b/core/src/fpdfdoc/doc_annot.cpp
@@ -77,7 +77,7 @@
         continue;
       }
     }
-    CPDF_Rect annot_rect_f;
+    CFX_FloatRect annot_rect_f;
     pAnnot->GetRect(annot_rect_f);
     CFX_Matrix matrix = *pMatrix;
     if (clip_rect) {
@@ -132,7 +132,7 @@
   return m_sSubtype;
 }
 
-void CPDF_Annot::GetRect(CPDF_Rect& rect) const {
+void CPDF_Annot::GetRect(CFX_FloatRect& rect) const {
   if (!m_pAnnotDict) {
     return;
   }
@@ -210,7 +210,7 @@
   CFX_FloatRect form_bbox = pForm->m_pFormDict->GetRectBy("BBox");
   CFX_Matrix form_matrix = pForm->m_pFormDict->GetMatrixBy("Matrix");
   form_matrix.TransformRect(form_bbox);
-  CPDF_Rect arect;
+  CFX_FloatRect arect;
   pAnnot->GetRect(arect);
   matrix.MatchRect(arect, form_bbox);
   matrix.Concat(*pUser2Device);
diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp
index 3ccf4c4..7fe06e2 100644
--- a/core/src/fpdfdoc/doc_ap.cpp
+++ b/core/src/fpdfdoc/doc_ap.cpp
@@ -327,33 +327,33 @@
   if (!pDefFont) {
     return FALSE;
   }
-  CPDF_Rect rcAnnot = pAnnotDict->GetRectBy("Rect");
+  CFX_FloatRect rcAnnot = pAnnotDict->GetRectBy("Rect");
   int32_t nRotate = 0;
   if (CPDF_Dictionary* pMKDict = pAnnotDict->GetDictBy("MK")) {
     nRotate = pMKDict->GetIntegerBy("R");
   }
-  CPDF_Rect rcBBox;
+  CFX_FloatRect rcBBox;
   CFX_Matrix matrix;
   switch (nRotate % 360) {
     case 0:
-      rcBBox = CPDF_Rect(0, 0, rcAnnot.right - rcAnnot.left,
-                         rcAnnot.top - rcAnnot.bottom);
+      rcBBox = CFX_FloatRect(0, 0, rcAnnot.right - rcAnnot.left,
+                             rcAnnot.top - rcAnnot.bottom);
       break;
     case 90:
       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);
+      rcBBox = CFX_FloatRect(0, 0, rcAnnot.top - rcAnnot.bottom,
+                             rcAnnot.right - rcAnnot.left);
       break;
     case 180:
       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);
+      rcBBox = CFX_FloatRect(0, 0, rcAnnot.right - rcAnnot.left,
+                             rcAnnot.top - rcAnnot.bottom);
       break;
     case 270:
       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);
+      rcBBox = CFX_FloatRect(0, 0, rcAnnot.top - rcAnnot.bottom,
+                             rcAnnot.right - rcAnnot.left);
       break;
   }
   int32_t nBorderStyle = PBS_SOLID;
@@ -414,9 +414,9 @@
   if (sBorderStream.GetLength() > 0) {
     sAppStream << "q\n" << sBorderStream << "Q\n";
   }
-  CPDF_Rect rcBody =
-      CPDF_Rect(rcBBox.left + fBorderWidth, rcBBox.bottom + fBorderWidth,
-                rcBBox.right - fBorderWidth, rcBBox.top - fBorderWidth);
+  CFX_FloatRect rcBody =
+      CFX_FloatRect(rcBBox.left + fBorderWidth, rcBBox.bottom + fBorderWidth,
+                    rcBBox.right - fBorderWidth, rcBBox.top - fBorderWidth);
   rcBody.Normalize();
   CPDF_Dictionary* pAPDict = pAnnotDict->GetDictBy("AP");
   if (!pAPDict) {
@@ -496,11 +496,11 @@
       vt.Initialize();
       vt.SetText(swValue.c_str());
       vt.RearrangeAll();
-      CPDF_Rect rcContent = vt.GetContentRect();
-      CPDF_Point ptOffset(0.0f, 0.0f);
+      CFX_FloatRect rcContent = vt.GetContentRect();
+      CFX_FloatPoint ptOffset(0.0f, 0.0f);
       if (!bMultiLine) {
         ptOffset =
-            CPDF_Point(0.0f, (rcContent.Height() - rcBody.Height()) / 2.0f);
+            CFX_FloatPoint(0.0f, (rcContent.Height() - rcBody.Height()) / 2.0f);
       }
       CFX_ByteString sBody = CPVT_GenerateAP::GenerateEditAP(
           &map, vt.GetIterator(), ptOffset, !bCharArray, subWord);
@@ -529,10 +529,10 @@
       CPVT_Provider prd(&map);
       CPDF_VariableText vt;
       vt.SetProvider(&prd);
-      CPDF_Rect rcButton = rcBody;
+      CFX_FloatRect rcButton = rcBody;
       rcButton.left = rcButton.right - 13;
       rcButton.Normalize();
-      CPDF_Rect rcEdit = rcBody;
+      CFX_FloatRect rcEdit = rcBody;
       rcEdit.right = rcButton.left;
       rcEdit.Normalize();
       vt.SetPlateRect(rcEdit);
@@ -544,9 +544,9 @@
       vt.Initialize();
       vt.SetText(swValue.c_str());
       vt.RearrangeAll();
-      CPDF_Rect rcContent = vt.GetContentRect();
-      CPDF_Point ptOffset =
-          CPDF_Point(0.0f, (rcContent.Height() - rcEdit.Height()) / 2.0f);
+      CFX_FloatRect rcContent = vt.GetContentRect();
+      CFX_FloatPoint ptOffset =
+          CFX_FloatPoint(0.0f, (rcContent.Height() - rcEdit.Height()) / 2.0f);
       CFX_ByteString sEdit = CPVT_GenerateAP::GenerateEditAP(
           &map, vt.GetIterator(), ptOffset, TRUE, 0);
       if (sEdit.GetLength() > 0) {
@@ -575,8 +575,9 @@
         if (sButtonBorder.GetLength() > 0) {
           sAppStream << "q\n" << sButtonBorder << "Q\n";
         }
-        CPDF_Point ptCenter = CPDF_Point((rcButton.left + rcButton.right) / 2,
-                                         (rcButton.top + rcButton.bottom) / 2);
+        CFX_FloatPoint ptCenter =
+            CFX_FloatPoint((rcButton.left + rcButton.right) / 2,
+                           (rcButton.top + rcButton.bottom) / 2);
         if (IsFloatBigger(rcButton.Width(), 6) &&
             IsFloatBigger(rcButton.Height(), 6)) {
           sAppStream << "q\n"
@@ -628,7 +629,8 @@
             }
             CPDF_VariableText vt;
             vt.SetProvider(&prd);
-            vt.SetPlateRect(CPDF_Rect(rcBody.left, 0.0f, rcBody.right, 0.0f));
+            vt.SetPlateRect(
+                CFX_FloatRect(rcBody.left, 0.0f, rcBody.right, 0.0f));
             if (IsFloatZero(fFontSize)) {
               vt.SetFontSize(12.0f);
             } else {
@@ -639,8 +641,8 @@
             vt.RearrangeAll();
             FX_FLOAT fItemHeight = vt.GetContentRect().Height();
             if (bSelected) {
-              CPDF_Rect rcItem =
-                  CPDF_Rect(rcBody.left, fy - fItemHeight, rcBody.right, fy);
+              CFX_FloatRect rcItem = CFX_FloatRect(
+                  rcBody.left, fy - fItemHeight, rcBody.right, fy);
               sBody << "q\n" << CPVT_GenerateAP::GenerateColorAP(
                                     CPVT_Color(CPVT_Color::kRGB, 0,
                                                51.0f / 255.0f, 113.0f / 255.0f),
@@ -651,13 +653,13 @@
               sBody << "BT\n" << CPVT_GenerateAP::GenerateColorAP(
                                      CPVT_Color(CPVT_Color::kGray, 1), TRUE)
                     << CPVT_GenerateAP::GenerateEditAP(&map, vt.GetIterator(),
-                                                       CPDF_Point(0.0f, fy),
+                                                       CFX_FloatPoint(0.0f, fy),
                                                        TRUE, 0)
                     << "ET\n";
             } else {
               sBody << "BT\n" << CPVT_GenerateAP::GenerateColorAP(crText, TRUE)
                     << CPVT_GenerateAP::GenerateEditAP(&map, vt.GetIterator(),
-                                                       CPDF_Point(0.0f, fy),
+                                                       CFX_FloatPoint(0.0f, fy),
                                                        TRUE, 0)
                     << "ET\n";
             }
@@ -714,12 +716,12 @@
 CFX_ByteString CPVT_GenerateAP::GenerateEditAP(
     IPVT_FontMap* pFontMap,
     IPDF_VariableText_Iterator* pIterator,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     FX_BOOL bContinuous,
     FX_WORD SubWord,
     const CPVT_WordRange* pVisible) {
   CFX_ByteTextBuf sEditStream, sLineStream, sWords;
-  CPDF_Point ptOld(0.0f, 0.0f), ptNew(0.0f, 0.0f);
+  CFX_FloatPoint ptOld(0.0f, 0.0f), ptNew(0.0f, 0.0f);
   int32_t nCurFontIndex = -1;
   if (pIterator) {
     if (pVisible) {
@@ -743,13 +745,13 @@
           }
           CPVT_Word word;
           if (pIterator->GetWord(word)) {
-            ptNew = CPDF_Point(word.ptWord.x + ptOffset.x,
-                               word.ptWord.y + ptOffset.y);
+            ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x,
+                                   word.ptWord.y + ptOffset.y);
           } else {
             CPVT_Line line;
             pIterator->GetLine(line);
-            ptNew = CPDF_Point(line.ptLine.x + ptOffset.x,
-                               line.ptLine.y + ptOffset.y);
+            ptNew = CFX_FloatPoint(line.ptLine.x + ptOffset.x,
+                                   line.ptLine.y + ptOffset.y);
           }
           if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) {
             sLineStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y
@@ -775,8 +777,8 @@
       } else {
         CPVT_Word word;
         if (pIterator->GetWord(word)) {
-          ptNew = CPDF_Point(word.ptWord.x + ptOffset.x,
-                             word.ptWord.y + ptOffset.y);
+          ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x,
+                                 word.ptWord.y + ptOffset.y);
           if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) {
             sEditStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y
                         << " Td\n";
@@ -801,7 +803,7 @@
   return sEditStream.GetByteString();
 }
 CFX_ByteString CPVT_GenerateAP::GenerateBorderAP(
-    const CPDF_Rect& rect,
+    const CFX_FloatRect& rect,
     FX_FLOAT fWidth,
     const CPVT_Color& color,
     const CPVT_Color& crLeftTop,
diff --git a/core/src/fpdfdoc/doc_link.cpp b/core/src/fpdfdoc/doc_link.cpp
index 6617e85..7da29e0 100644
--- a/core/src/fpdfdoc/doc_link.cpp
+++ b/core/src/fpdfdoc/doc_link.cpp
@@ -43,7 +43,7 @@
       continue;
 
     CPDF_Link link(pAnnot);
-    CPDF_Rect rect = link.GetRect();
+    CFX_FloatRect rect = link.GetRect();
     if (!rect.Contains(pdf_x, pdf_y))
       continue;
 
@@ -68,7 +68,7 @@
   }
 }
 
-CPDF_Rect CPDF_Link::GetRect() {
+CFX_FloatRect CPDF_Link::GetRect() {
   return m_pDict->GetRectBy("Rect");
 }
 CPDF_Dest CPDF_Link::GetDest(CPDF_Document* pDoc) {
diff --git a/core/src/fpdfdoc/doc_vt.cpp b/core/src/fpdfdoc/doc_vt.cpp
index 0f8a4e5..477df25 100644
--- a/core/src/fpdfdoc/doc_vt.cpp
+++ b/core/src/fpdfdoc/doc_vt.cpp
@@ -166,7 +166,7 @@
     }
   }
 }
-CPVT_WordPlace CSection::SearchWordPlace(const CPDF_Point& point) const {
+CPVT_WordPlace CSection::SearchWordPlace(const CFX_FloatPoint& point) const {
   ASSERT(m_pVT);
   CPVT_WordPlace place = GetBeginWordPlace();
   FX_BOOL bUp = TRUE;
@@ -1135,8 +1135,8 @@
   return place;
 }
 CPVT_WordPlace CPDF_VariableText::SearchWordPlace(
-    const CPDF_Point& point) const {
-  CPDF_Point pt = OutToIn(point);
+    const CFX_FloatPoint& point) const {
+  CFX_FloatPoint pt = OutToIn(point);
   CPVT_WordPlace place = GetBeginWordPlace();
   int32_t nLeft = 0;
   int32_t nRight = m_SectionArray.GetSize() - 1;
@@ -1161,8 +1161,8 @@
         continue;
       } else {
         place = pSection->SearchWordPlace(
-            CPDF_Point(pt.x - pSection->m_SecInfo.rcSection.left,
-                       pt.y - pSection->m_SecInfo.rcSection.top));
+            CFX_FloatPoint(pt.x - pSection->m_SecInfo.rcSection.left,
+                           pt.y - pSection->m_SecInfo.rcSection.top));
         place.nSecIndex = nMid;
         return place;
       }
@@ -1180,10 +1180,10 @@
 }
 CPVT_WordPlace CPDF_VariableText::GetUpWordPlace(
     const CPVT_WordPlace& place,
-    const CPDF_Point& point) const {
+    const CFX_FloatPoint& point) const {
   if (CSection* pSection = m_SectionArray.GetAt(place.nSecIndex)) {
     CPVT_WordPlace temp = place;
-    CPDF_Point pt = OutToIn(point);
+    CFX_FloatPoint pt = OutToIn(point);
     if (temp.nLineIndex-- > 0) {
       return pSection->SearchWordPlace(
           pt.x - pSection->m_SecInfo.rcSection.left, temp);
@@ -1200,10 +1200,10 @@
 }
 CPVT_WordPlace CPDF_VariableText::GetDownWordPlace(
     const CPVT_WordPlace& place,
-    const CPDF_Point& point) const {
+    const CFX_FloatPoint& point) const {
   if (CSection* pSection = m_SectionArray.GetAt(place.nSecIndex)) {
     CPVT_WordPlace temp = place;
-    CPDF_Point pt = OutToIn(point);
+    CFX_FloatPoint pt = OutToIn(point);
     if (temp.nLineIndex++ < pSection->m_LineArray.GetSize() - 1) {
       return pSection->SearchWordPlace(
           pt.x - pSection->m_SecInfo.rcSection.left, temp);
@@ -1333,7 +1333,7 @@
   }
   return FALSE;
 }
-CPDF_Rect CPDF_VariableText::GetContentRect() const {
+CFX_FloatRect CPDF_VariableText::GetContentRect() const {
   return InToOut(CPVT_FloatRect(CPDF_EditContainer::GetContentRect()));
 }
 FX_FLOAT CPDF_VariableText::GetWordFontSize(const CPVT_WordInfo& WordInfo,
@@ -1753,8 +1753,8 @@
         word.nCharset = pWord->nCharset;
         word.fWidth = m_pVT->GetWordWidth(*pWord);
         word.ptWord = m_pVT->InToOut(
-            CPDF_Point(pWord->fWordX + pSection->m_SecInfo.rcSection.left,
-                       pWord->fWordY + pSection->m_SecInfo.rcSection.top));
+            CFX_FloatPoint(pWord->fWordX + pSection->m_SecInfo.rcSection.left,
+                           pWord->fWordY + pSection->m_SecInfo.rcSection.top));
         word.fAscent = m_pVT->GetWordAscent(*pWord);
         word.fDescent = m_pVT->GetWordDescent(*pWord);
         if (pWord->pWordProps) {
@@ -1785,7 +1785,7 @@
   line.lineplace = CPVT_WordPlace(m_CurPos.nSecIndex, m_CurPos.nLineIndex, -1);
   if (CSection* pSection = m_pVT->m_SectionArray.GetAt(m_CurPos.nSecIndex)) {
     if (CLine* pLine = pSection->m_LineArray.GetAt(m_CurPos.nLineIndex)) {
-      line.ptLine = m_pVT->InToOut(CPDF_Point(
+      line.ptLine = m_pVT->InToOut(CFX_FloatPoint(
           pLine->m_LineInfo.fLineX + pSection->m_SecInfo.rcSection.left,
           pLine->m_LineInfo.fLineY + pSection->m_SecInfo.rcSection.top));
       line.fLineWidth = pLine->m_LineInfo.fLineWidth;
diff --git a/core/src/fpdfdoc/pdf_vt.h b/core/src/fpdfdoc/pdf_vt.h
index 286fad5..13ec71a 100644
--- a/core/src/fpdfdoc/pdf_vt.h
+++ b/core/src/fpdfdoc/pdf_vt.h
@@ -44,7 +44,7 @@
     right = other_right;
     bottom = other_bottom;
   }
-  explicit CPVT_FloatRect(const CPDF_Rect& rect) {
+  explicit CPVT_FloatRect(const CFX_FloatRect& rect) {
     left = rect.left;
     top = rect.top;
     right = rect.right;
@@ -257,7 +257,7 @@
   CPVT_WordPlace GetPrevWordPlace(const CPVT_WordPlace& place) const;
   CPVT_WordPlace GetNextWordPlace(const CPVT_WordPlace& place) const;
   void UpdateWordPlace(CPVT_WordPlace& place) const;
-  CPVT_WordPlace SearchWordPlace(const CPDF_Point& point) const;
+  CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const;
   CPVT_WordPlace SearchWordPlace(FX_FLOAT fx,
                                  const CPVT_WordPlace& lineplace) const;
   CPVT_WordPlace SearchWordPlace(FX_FLOAT fx,
@@ -296,44 +296,46 @@
  public:
   CPDF_EditContainer() : m_rcPlate(0, 0, 0, 0), m_rcContent(0, 0, 0, 0) {}
   virtual ~CPDF_EditContainer() {}
-  virtual void SetPlateRect(const CPDF_Rect& rect) { m_rcPlate = rect; }
-  virtual const CPDF_Rect& GetPlateRect() const { return m_rcPlate; }
+  virtual void SetPlateRect(const CFX_FloatRect& rect) { m_rcPlate = rect; }
+  virtual const CFX_FloatRect& GetPlateRect() const { return m_rcPlate; }
   virtual void SetContentRect(const CPVT_FloatRect& rect) {
     m_rcContent = rect;
   }
-  virtual CPDF_Rect GetContentRect() const { return m_rcContent; }
+  virtual CFX_FloatRect GetContentRect() const { return m_rcContent; }
   FX_FLOAT GetPlateWidth() const { return m_rcPlate.right - m_rcPlate.left; }
   FX_FLOAT GetPlateHeight() const { return m_rcPlate.top - m_rcPlate.bottom; }
   CPVT_Size GetPlateSize() const {
     return CPVT_Size(GetPlateWidth(), GetPlateHeight());
   }
-  CPDF_Point GetBTPoint() const {
-    return CPDF_Point(m_rcPlate.left, m_rcPlate.top);
+  CFX_FloatPoint GetBTPoint() const {
+    return CFX_FloatPoint(m_rcPlate.left, m_rcPlate.top);
   }
-  CPDF_Point GetETPoint() const {
-    return CPDF_Point(m_rcPlate.right, m_rcPlate.bottom);
+  CFX_FloatPoint GetETPoint() const {
+    return CFX_FloatPoint(m_rcPlate.right, m_rcPlate.bottom);
   }
-  inline CPDF_Point InToOut(const CPDF_Point& point) const {
-    return CPDF_Point(point.x + GetBTPoint().x, GetBTPoint().y - point.y);
+  inline CFX_FloatPoint InToOut(const CFX_FloatPoint& point) const {
+    return CFX_FloatPoint(point.x + GetBTPoint().x, GetBTPoint().y - point.y);
   }
-  inline CPDF_Point OutToIn(const CPDF_Point& point) const {
-    return CPDF_Point(point.x - GetBTPoint().x, GetBTPoint().y - point.y);
+  inline CFX_FloatPoint OutToIn(const CFX_FloatPoint& point) const {
+    return CFX_FloatPoint(point.x - GetBTPoint().x, GetBTPoint().y - point.y);
   }
-  inline CPDF_Rect InToOut(const CPVT_FloatRect& rect) const {
-    CPDF_Point ptLeftTop = InToOut(CPDF_Point(rect.left, rect.top));
-    CPDF_Point ptRightBottom = InToOut(CPDF_Point(rect.right, rect.bottom));
-    return CPDF_Rect(ptLeftTop.x, ptRightBottom.y, ptRightBottom.x,
-                     ptLeftTop.y);
+  inline CFX_FloatRect InToOut(const CPVT_FloatRect& rect) const {
+    CFX_FloatPoint ptLeftTop = InToOut(CFX_FloatPoint(rect.left, rect.top));
+    CFX_FloatPoint ptRightBottom =
+        InToOut(CFX_FloatPoint(rect.right, rect.bottom));
+    return CFX_FloatRect(ptLeftTop.x, ptRightBottom.y, ptRightBottom.x,
+                         ptLeftTop.y);
   }
-  inline CPVT_FloatRect OutToIn(const CPDF_Rect& rect) const {
-    CPDF_Point ptLeftTop = OutToIn(CPDF_Point(rect.left, rect.top));
-    CPDF_Point ptRightBottom = OutToIn(CPDF_Point(rect.right, rect.bottom));
+  inline CPVT_FloatRect OutToIn(const CFX_FloatRect& rect) const {
+    CFX_FloatPoint ptLeftTop = OutToIn(CFX_FloatPoint(rect.left, rect.top));
+    CFX_FloatPoint ptRightBottom =
+        OutToIn(CFX_FloatPoint(rect.right, rect.bottom));
     return CPVT_FloatRect(ptLeftTop.x, ptLeftTop.y, ptRightBottom.x,
                           ptRightBottom.y);
   }
 
  private:
-  CPDF_Rect m_rcPlate;
+  CFX_FloatRect m_rcPlate;
   CPVT_FloatRect m_rcContent;
 };
 
@@ -350,7 +352,7 @@
   IPDF_VariableText_Provider* SetProvider(
       IPDF_VariableText_Provider* pProvider) override;
   IPDF_VariableText_Iterator* GetIterator() override;
-  void SetPlateRect(const CPDF_Rect& rect) override {
+  void SetPlateRect(const CFX_FloatRect& rect) override {
     CPDF_EditContainer::SetPlateRect(rect);
   }
   void SetAlignment(int32_t nFormat = 0) override { m_nAlignment = nFormat; }
@@ -407,10 +409,10 @@
   CPVT_WordPlace DeleteWords(const CPVT_WordRange& PlaceRange) override;
   CPVT_WordPlace DeleteWord(const CPVT_WordPlace& place) override;
   CPVT_WordPlace BackSpaceWord(const CPVT_WordPlace& place) override;
-  const CPDF_Rect& GetPlateRect() const override {
+  const CFX_FloatRect& GetPlateRect() const override {
     return CPDF_EditContainer::GetPlateRect();
   }
-  CPDF_Rect GetContentRect() const override;
+  CFX_FloatRect GetContentRect() const override;
   int32_t GetTotalWords() const override;
   FX_FLOAT GetFontSize() const override { return m_fFontSize; }
   int32_t GetAlignment() const override { return m_nAlignment; }
@@ -424,11 +426,11 @@
   CPVT_WordPlace GetEndWordPlace() const override;
   CPVT_WordPlace GetPrevWordPlace(const CPVT_WordPlace& place) const override;
   CPVT_WordPlace GetNextWordPlace(const CPVT_WordPlace& place) const override;
-  CPVT_WordPlace SearchWordPlace(const CPDF_Point& point) const override;
+  CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const override;
   CPVT_WordPlace GetUpWordPlace(const CPVT_WordPlace& place,
-                                const CPDF_Point& point) const override;
+                                const CFX_FloatPoint& point) const override;
   CPVT_WordPlace GetDownWordPlace(const CPVT_WordPlace& place,
-                                  const CPDF_Point& point) const override;
+                                  const CFX_FloatPoint& point) const override;
   CPVT_WordPlace GetLineBeginPlace(const CPVT_WordPlace& place) const override;
   CPVT_WordPlace GetLineEndPlace(const CPVT_WordPlace& place) const override;
   CPVT_WordPlace GetSectionBeginPlace(
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index 8e2eae1..77b610a 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -301,7 +301,7 @@
   rectArray.Add(rect);
 }
 
-int CPDF_TextPage::GetIndexAtPos(CPDF_Point point,
+int CPDF_TextPage::GetIndexAtPos(CFX_FloatPoint point,
                                  FX_FLOAT xTolerance,
                                  FX_FLOAT yTolerance) const {
   if (!m_bIsParsed)
@@ -424,7 +424,7 @@
                                  FX_FLOAT y,
                                  FX_FLOAT xTolerance,
                                  FX_FLOAT yTolerance) const {
-  CPDF_Point point(x, y);
+  CFX_FloatPoint point(x, y);
   return GetIndexAtPos(point, xTolerance, yTolerance);
 }
 
diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h
index 113e1d1..ef742a3 100644
--- a/core/src/fpdftext/text_int.h
+++ b/core/src/fpdftext/text_int.h
@@ -67,7 +67,7 @@
   void GetRectArray(int start,
                     int nCount,
                     CFX_RectArray& rectArray) const override;
-  int GetIndexAtPos(CPDF_Point point,
+  int GetIndexAtPos(CFX_FloatPoint point,
                     FX_FLOAT xTolerance,
                     FX_FLOAT yTolerance) const override;
   int GetIndexAtPos(FX_FLOAT x,
diff --git a/fpdfsdk/include/formfiller/FFL_CheckBox.h b/fpdfsdk/include/formfiller/FFL_CheckBox.h
index 4ffb143..7536871 100644
--- a/fpdfsdk/include/formfiller/FFL_CheckBox.h
+++ b/fpdfsdk/include/formfiller/FFL_CheckBox.h
@@ -24,7 +24,7 @@
   FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_UINT nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView) override;
   void SaveData(CPDFSDK_PageView* pPageView) override;
 };
diff --git a/fpdfsdk/include/formfiller/FFL_FormFiller.h b/fpdfsdk/include/formfiller/FFL_FormFiller.h
index cb14397..4ea8fda 100644
--- a/fpdfsdk/include/formfiller/FFL_FormFiller.h
+++ b/fpdfsdk/include/formfiller/FFL_FormFiller.h
@@ -45,32 +45,32 @@
   virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_UINT nFlags,
-                                const CPDF_Point& point);
+                                const CFX_FloatPoint& point);
   virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_UINT nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
                                   FX_UINT nFlags,
-                                  const CPDF_Point& point);
+                                  const CFX_FloatPoint& point);
   virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_UINT nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
                                CPDFSDK_Annot* pAnnot,
                                FX_UINT nFlags,
                                short zDelta,
-                               const CPDF_Point& point);
+                               const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_UINT nFlags,
-                                const CPDF_Point& point);
+                                const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_UINT nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
 
   virtual FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot,
                             FX_UINT nKeyCode,
@@ -106,16 +106,19 @@
 
   CFX_Matrix GetCurMatrix();
 
-  CPDF_Rect FFLtoPWL(const CPDF_Rect& rect);
-  CPDF_Rect PWLtoFFL(const CPDF_Rect& rect);
-  CPDF_Point FFLtoPWL(const CPDF_Point& point);
-  CPDF_Point PWLtoFFL(const CPDF_Point& point);
+  CFX_FloatRect FFLtoPWL(const CFX_FloatRect& rect);
+  CFX_FloatRect PWLtoFFL(const CFX_FloatRect& rect);
+  CFX_FloatPoint FFLtoPWL(const CFX_FloatPoint& point);
+  CFX_FloatPoint PWLtoFFL(const CFX_FloatPoint& point);
 
-  CPDF_Point WndtoPWL(CPDFSDK_PageView* pPageView, const CPDF_Point& pt);
-  CPDF_Rect FFLtoWnd(CPDFSDK_PageView* pPageView, const CPDF_Rect& rect);
+  CFX_FloatPoint WndtoPWL(CPDFSDK_PageView* pPageView,
+                          const CFX_FloatPoint& pt);
+  CFX_FloatRect FFLtoWnd(CPDFSDK_PageView* pPageView,
+                         const CFX_FloatRect& rect);
 
-  void SetWindowRect(CPDFSDK_PageView* pPageView, const CPDF_Rect& rcWindow);
-  CPDF_Rect GetWindowRect(CPDFSDK_PageView* pPageView);
+  void SetWindowRect(CPDFSDK_PageView* pPageView,
+                     const CFX_FloatRect& rcWindow);
+  CFX_FloatRect GetWindowRect(CPDFSDK_PageView* pPageView);
 
   FX_BOOL CommitData(CPDFSDK_PageView* pPageView, FX_UINT nFlag);
   virtual FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView);
@@ -132,10 +135,10 @@
   virtual PWL_CREATEPARAM GetCreateParam();
   virtual CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp,
                                  CPDFSDK_PageView* pPageView) = 0;
-  virtual CPDF_Rect GetFocusBox(CPDFSDK_PageView* pPageView);
+  virtual CFX_FloatRect GetFocusBox(CPDFSDK_PageView* pPageView);
 
   FX_BOOL IsValid() const;
-  CPDF_Rect GetPDFWindowRect() const;
+  CFX_FloatRect GetPDFWindowRect() const;
 
   CPDFSDK_PageView* GetCurPageView();
   void SetChangeMark();
@@ -156,7 +159,7 @@
 
   FX_BOOL m_bValid;
   CFFL_PageView2PDFWindow m_Maps;
-  CPDF_Point m_ptOldPos;
+  CFX_FloatPoint m_ptOldPos;
 };
 
 class CFFL_Button : public CFFL_FormFiller {
@@ -171,15 +174,15 @@
   FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
                         CPDFSDK_Annot* pAnnot,
                         FX_UINT nFlags,
-                        const CPDF_Point& point) override;
+                        const CFX_FloatPoint& point) override;
   FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_UINT nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_UINT nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   void OnDraw(CPDFSDK_PageView* pPageView,
               CPDFSDK_Annot* pAnnot,
               CFX_RenderDevice* pDevice,
diff --git a/fpdfsdk/include/formfiller/FFL_IFormFiller.h b/fpdfsdk/include/formfiller/FFL_IFormFiller.h
index 93e7505..cea61bf 100644
--- a/fpdfsdk/include/formfiller/FFL_IFormFiller.h
+++ b/fpdfsdk/include/formfiller/FFL_IFormFiller.h
@@ -26,7 +26,7 @@
 
   virtual FX_BOOL Annot_HitTest(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
-                                CPDF_Point point);
+                                CFX_FloatPoint point);
   virtual FX_RECT GetViewBBox(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot);
   virtual void OnDraw(CPDFSDK_PageView* pPageView,
@@ -49,32 +49,32 @@
   virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_UINT nFlags,
-                                const CPDF_Point& point);
+                                const CFX_FloatPoint& point);
   virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_UINT nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
                                   FX_UINT nFlags,
-                                  const CPDF_Point& point);
+                                  const CFX_FloatPoint& point);
   virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_UINT nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
                                CPDFSDK_Annot* pAnnot,
                                FX_UINT nFlags,
                                short zDelta,
-                               const CPDF_Point& point);
+                               const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_UINT nFlags,
-                                const CPDF_Point& point);
+                                const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_UINT nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
 
   virtual FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot,
                             FX_UINT nKeyCode,
diff --git a/fpdfsdk/include/formfiller/FFL_RadioButton.h b/fpdfsdk/include/formfiller/FFL_RadioButton.h
index a4e7928..dba2798 100644
--- a/fpdfsdk/include/formfiller/FFL_RadioButton.h
+++ b/fpdfsdk/include/formfiller/FFL_RadioButton.h
@@ -24,7 +24,7 @@
   FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_UINT nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView) override;
   void SaveData(CPDFSDK_PageView* pPageView) override;
 };
diff --git a/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h b/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h
index fb976a2..fa2c8a2 100644
--- a/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h
+++ b/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h
@@ -40,7 +40,7 @@
 
   CPDFSDK_Document* GetSDKDocument(CPDFDoc_Environment* pFormFillEnv);
 
-  void FXRect2PDFRect(const CFX_RectF& fxRectF, CPDF_Rect& pdfRect);
+  void FXRect2PDFRect(const CFX_RectF& fxRectF, CFX_FloatRect& pdfRect);
 
   virtual void SetChangeMark(IXFA_Doc* hDoc);
   virtual FX_BOOL GetChangeMark(IXFA_Doc* hDoc);
diff --git a/fpdfsdk/include/fsdk_annothandler.h b/fpdfsdk/include/fsdk_annothandler.h
index 95b11d1..407e94d 100644
--- a/fpdfsdk/include/fsdk_annothandler.h
+++ b/fpdfsdk/include/fsdk_annothandler.h
@@ -23,7 +23,7 @@
 class CPDFSDK_PageView;
 class CPDF_Annot;
 class CFX_Matrix;
-class CPDF_Point;
+class CFX_FloatPoint;
 
 class IPDFSDK_AnnotHandler {
  public:
@@ -47,12 +47,12 @@
 
   virtual void DeleteAnnot(CPDFSDK_Annot* pAnnot) = 0;
 
-  virtual CPDF_Rect GetViewBBox(CPDFSDK_PageView* pPageView,
-                                CPDFSDK_Annot* pAnnot) = 0;
+  virtual CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
+                                    CPDFSDK_Annot* pAnnot) = 0;
 
   virtual FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
                           CPDFSDK_Annot* pAnnot,
-                          const CPDF_Point& point) = 0;
+                          const CFX_FloatPoint& point) = 0;
 
   virtual void OnDraw(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
@@ -64,7 +64,7 @@
                            CPDFSDK_Annot* pAnnot,
                            CFX_RenderDevice* pDevice,
                            CFX_Matrix* pUser2Device,
-                           const CPDF_Rect& rcWindow,
+                           const CFX_FloatRect& rcWindow,
                            FX_DWORD dwFlags) = 0;
 
   virtual void OnCreate(CPDFSDK_Annot* pAnnot) = 0;
@@ -85,36 +85,36 @@
   virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_DWORD nFlags,
-                                const CPDF_Point& point) = 0;
+                                const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_DWORD nFlags,
-                              const CPDF_Point& point) = 0;
+                              const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
                                   FX_DWORD nFlags,
-                                  const CPDF_Point& point) = 0;
+                                  const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_DWORD nFlags,
-                              const CPDF_Point& point) = 0;
+                              const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
                                CPDFSDK_Annot* pAnnot,
                                FX_DWORD nFlags,
                                short zDelta,
-                               const CPDF_Point& point) = 0;
+                               const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_DWORD nFlags,
-                                const CPDF_Point& point) = 0;
+                                const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_DWORD nFlags,
-                              const CPDF_Point& point) = 0;
+                              const CFX_FloatPoint& point) = 0;
   virtual FX_BOOL OnRButtonDblClk(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
                                   FX_DWORD nFlags,
-                                  const CPDF_Point& point) = 0;
+                                  const CFX_FloatPoint& point) = 0;
   // by wjm.
   virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
                          FX_DWORD nChar,
@@ -150,11 +150,11 @@
 #endif  // PDF_ENABLE_XFA
   void ReleaseAnnot(CPDFSDK_Annot* pAnnot) override;
   void DeleteAnnot(CPDFSDK_Annot* pAnnot) override {}
-  CPDF_Rect GetViewBBox(CPDFSDK_PageView* pPageView,
-                        CPDFSDK_Annot* pAnnot) override;
+  CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
+                            CPDFSDK_Annot* pAnnot) override;
   FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
                   CPDFSDK_Annot* pAnnot,
-                  const CPDF_Point& point) override;
+                  const CFX_FloatPoint& point) override;
   void OnDraw(CPDFSDK_PageView* pPageView,
               CPDFSDK_Annot* pAnnot,
               CFX_RenderDevice* pDevice,
@@ -164,7 +164,7 @@
                    CPDFSDK_Annot* pAnnot,
                    CFX_RenderDevice* pDevice,
                    CFX_Matrix* pUser2Device,
-                   const CPDF_Rect& rcWindow,
+                   const CFX_FloatRect& rcWindow,
                    FX_DWORD dwFlags) override {}
   void OnCreate(CPDFSDK_Annot* pAnnot) override;
   void OnLoad(CPDFSDK_Annot* pAnnot) override;
@@ -179,36 +179,36 @@
   FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
                         CPDFSDK_Annot* pAnnot,
                         FX_DWORD nFlags,
-                        const CPDF_Point& point) override;
+                        const CFX_FloatPoint& point) override;
   FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_DWORD nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                           CPDFSDK_Annot* pAnnot,
                           FX_DWORD nFlags,
-                          const CPDF_Point& point) override;
+                          const CFX_FloatPoint& point) override;
   FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_DWORD nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
                        CPDFSDK_Annot* pAnnot,
                        FX_DWORD nFlags,
                        short zDelta,
-                       const CPDF_Point& point) override;
+                       const CFX_FloatPoint& point) override;
   FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
                         CPDFSDK_Annot* pAnnot,
                         FX_DWORD nFlags,
-                        const CPDF_Point& point) override;
+                        const CFX_FloatPoint& point) override;
   FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
                       FX_DWORD nFlags,
-                      const CPDF_Point& point) override;
+                      const CFX_FloatPoint& point) override;
   FX_BOOL OnRButtonDblClk(CPDFSDK_PageView* pPageView,
                           CPDFSDK_Annot* pAnnot,
                           FX_DWORD nFlags,
-                          const CPDF_Point& point) override {
+                          const CFX_FloatPoint& point) override {
     return FALSE;
   }
   FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
@@ -258,12 +258,12 @@
 
   virtual void DeleteAnnot(CPDFSDK_Annot* pAnnot) {}
 
-  virtual CPDF_Rect GetViewBBox(CPDFSDK_PageView* pPageView,
-                                CPDFSDK_Annot* pAnnot);
+  virtual CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
+                                    CPDFSDK_Annot* pAnnot);
 
   virtual FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
                           CPDFSDK_Annot* pAnnot,
-                          const CPDF_Point& point);
+                          const CFX_FloatPoint& point);
 
   virtual void OnDraw(CPDFSDK_PageView* pPageView,
                       CPDFSDK_Annot* pAnnot,
@@ -275,7 +275,7 @@
                            CPDFSDK_Annot* pAnnot,
                            CFX_RenderDevice* pDevice,
                            CFX_Matrix* pUser2Device,
-                           const CPDF_Rect& rcWindow,
+                           const CFX_FloatRect& rcWindow,
                            FX_DWORD dwFlags) {}
 
   virtual void OnCreate(CPDFSDK_Annot* pAnnot) {}
@@ -296,36 +296,36 @@
   virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_DWORD nFlags,
-                                const CPDF_Point& point);
+                                const CFX_FloatPoint& point);
   virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_DWORD nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
                                   FX_DWORD nFlags,
-                                  const CPDF_Point& point);
+                                  const CFX_FloatPoint& point);
   virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_DWORD nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
                                CPDFSDK_Annot* pAnnot,
                                FX_DWORD nFlags,
                                short zDelta,
-                               const CPDF_Point& point);
+                               const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
                                 CPDFSDK_Annot* pAnnot,
                                 FX_DWORD nFlags,
-                                const CPDF_Point& point);
+                                const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
                               CPDFSDK_Annot* pAnnot,
                               FX_DWORD nFlags,
-                              const CPDF_Point& point);
+                              const CFX_FloatPoint& point);
   virtual FX_BOOL OnRButtonDblClk(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
                                   FX_DWORD nFlags,
-                                  const CPDF_Point& point);
+                                  const CFX_FloatPoint& point);
   // by wjm.
   virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
                          FX_DWORD nChar,
@@ -390,33 +390,33 @@
   virtual FX_BOOL Annot_OnLButtonDown(CPDFSDK_PageView* pPageView,
                                       CPDFSDK_Annot* pAnnot,
                                       FX_DWORD nFlags,
-                                      const CPDF_Point& point);
+                                      const CFX_FloatPoint& point);
   virtual FX_BOOL Annot_OnLButtonUp(CPDFSDK_PageView* pPageView,
                                     CPDFSDK_Annot* pAnnot,
                                     FX_DWORD nFlags,
-                                    const CPDF_Point& point);
+                                    const CFX_FloatPoint& point);
   virtual FX_BOOL Annot_OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                         CPDFSDK_Annot* pAnnot,
                                         FX_DWORD nFlags,
-                                        const CPDF_Point& point);
+                                        const CFX_FloatPoint& point);
 
   virtual FX_BOOL Annot_OnMouseMove(CPDFSDK_PageView* pPageView,
                                     CPDFSDK_Annot* pAnnot,
                                     FX_DWORD nFlags,
-                                    const CPDF_Point& point);
+                                    const CFX_FloatPoint& point);
   virtual FX_BOOL Annot_OnMouseWheel(CPDFSDK_PageView* pPageView,
                                      CPDFSDK_Annot* pAnnot,
                                      FX_DWORD nFlags,
                                      short zDelta,
-                                     const CPDF_Point& point);
+                                     const CFX_FloatPoint& point);
   virtual FX_BOOL Annot_OnRButtonDown(CPDFSDK_PageView* pPageView,
                                       CPDFSDK_Annot* pAnnot,
                                       FX_DWORD nFlags,
-                                      const CPDF_Point& point);
+                                      const CFX_FloatPoint& point);
   virtual FX_BOOL Annot_OnRButtonUp(CPDFSDK_PageView* pPageView,
                                     CPDFSDK_Annot* pAnnot,
                                     FX_DWORD nFlags,
-                                    const CPDF_Point& point);
+                                    const CFX_FloatPoint& point);
 
   virtual FX_BOOL Annot_OnChar(CPDFSDK_Annot* pAnnot,
                                FX_DWORD nChar,
@@ -434,11 +434,11 @@
                                       CPDFSDK_Annot* pKillAnnot);
 #endif  // PDF_ENABLE_XFA
 
-  virtual CPDF_Rect Annot_OnGetViewBBox(CPDFSDK_PageView* pPageView,
-                                        CPDFSDK_Annot* pAnnot);
+  virtual CFX_FloatRect Annot_OnGetViewBBox(CPDFSDK_PageView* pPageView,
+                                            CPDFSDK_Annot* pAnnot);
   virtual FX_BOOL Annot_OnHitTest(CPDFSDK_PageView* pPageView,
                                   CPDFSDK_Annot* pAnnot,
-                                  const CPDF_Point& point);
+                                  const CFX_FloatPoint& point);
 
  private:
   IPDFSDK_AnnotHandler* GetAnnotHandler(const CFX_ByteString& sType) const;
diff --git a/fpdfsdk/include/fsdk_baseannot.h b/fpdfsdk/include/fsdk_baseannot.h
index 49c25de..c0ed529 100644
--- a/fpdfsdk/include/fsdk_baseannot.h
+++ b/fpdfsdk/include/fsdk_baseannot.h
@@ -89,8 +89,8 @@
   virtual CFX_ByteString GetType() const { return ""; }
   virtual CFX_ByteString GetSubType() const { return ""; }
 
-  virtual void SetRect(const CPDF_Rect& rect) {}
-  virtual CPDF_Rect GetRect() const { return CPDF_Rect(); }
+  virtual void SetRect(const CFX_FloatRect& rect) {}
+  virtual CFX_FloatRect GetRect() const { return CFX_FloatRect(); }
 
   virtual void Annot_OnDraw(CFX_RenderDevice* pDevice,
                             CFX_Matrix* pUser2Device,
@@ -130,8 +130,8 @@
 
   CFX_ByteString GetType() const override;
   CFX_ByteString GetSubType() const override;
-  void SetRect(const CPDF_Rect& rect) override;
-  CPDF_Rect GetRect() const override;
+  void SetRect(const CFX_FloatRect& rect) override;
+  CFX_FloatRect GetRect() const override;
   CPDF_Annot* GetPDFAnnot() const override;
   void Annot_OnDraw(CFX_RenderDevice* pDevice,
                     CFX_Matrix* pUser2Device,
@@ -207,7 +207,7 @@
   void ClearCachedAP();
 
   void WriteAppearance(const CFX_ByteString& sAPType,
-                       const CPDF_Rect& rcBBox,
+                       const CFX_FloatRect& rcBBox,
                        const CFX_Matrix& matrix,
                        const CFX_ByteString& sContents,
                        const CFX_ByteString& sAPState = "");
diff --git a/fpdfsdk/include/fsdk_baseform.h b/fpdfsdk/include/fsdk_baseform.h
index 44ba572..ac34528 100644
--- a/fpdfsdk/include/fsdk_baseform.h
+++ b/fpdfsdk/include/fsdk_baseform.h
@@ -187,8 +187,8 @@
   void ResetAppearance_ListBox();
   void ResetAppearance_TextField(const FX_WCHAR* sValue);
 
-  CPDF_Rect GetClientRect() const;
-  CPDF_Rect GetRotatedRect() const;
+  CFX_FloatRect GetClientRect() const;
+  CFX_FloatRect GetRotatedRect() const;
 
   CFX_ByteString GetBackgroundAppStream() const;
   CFX_ByteString GetBorderAppStream() const;
@@ -384,7 +384,7 @@
 
  private:
   void GenerateResults();
-  static CPDF_Rect GetAnnotRect(const CPDFSDK_Annot* pAnnot);
+  static CFX_FloatRect GetAnnotRect(const CPDFSDK_Annot* pAnnot);
 
   // Function signature compatible with std::sort().
   static bool CompareByLeftAscending(const CPDFSDK_Annot* p1,
diff --git a/fpdfsdk/include/fsdk_mgr.h b/fpdfsdk/include/fsdk_mgr.h
index 1e2620a..4e9aab4 100644
--- a/fpdfsdk/include/fsdk_mgr.h
+++ b/fpdfsdk/include/fsdk_mgr.h
@@ -603,20 +603,20 @@
 
   CPDF_Document* GetPDFDocument();
   CPDFSDK_Document* GetSDKDocument() { return m_pSDKDoc; }
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_UINT nFlag);
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_UINT nFlag);
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_UINT nFlag);
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_UINT nFlag);
 #ifdef PDF_ENABLE_XFA
-  FX_BOOL OnRButtonDown(const CPDF_Point& point, FX_UINT nFlag);
-  FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_UINT nFlag);
+  FX_BOOL OnRButtonDown(const CFX_FloatPoint& point, FX_UINT nFlag);
+  FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, FX_UINT nFlag);
 #endif  // PDF_ENABLE_XFA
   FX_BOOL OnChar(int nChar, FX_UINT nFlag);
   FX_BOOL OnKeyDown(int nKeyCode, int nFlag);
   FX_BOOL OnKeyUp(int nKeyCode, int nFlag);
 
-  FX_BOOL OnMouseMove(const CPDF_Point& point, int nFlag);
+  FX_BOOL OnMouseMove(const CFX_FloatPoint& point, int nFlag);
   FX_BOOL OnMouseWheel(double deltaX,
                        double deltaY,
-                       const CPDF_Point& point,
+                       const CFX_FloatPoint& point,
                        int nFlag);
   bool IsValidAnnot(const CPDF_Annot* p) const;
   void GetCurrentMatrix(CFX_Matrix& matrix) { matrix = m_curMatrix; }
diff --git a/fpdfsdk/include/fx_systemhandler.h b/fpdfsdk/include/fx_systemhandler.h
index 6d186a7..4f64145 100644
--- a/fpdfsdk/include/fx_systemhandler.h
+++ b/fpdfsdk/include/fx_systemhandler.h
@@ -50,7 +50,7 @@
  public:
   virtual ~IFX_SystemHandler() {}
   virtual void InvalidateRect(FX_HWND hWnd, FX_RECT rect) = 0;
-  virtual void OutputSelectedRect(void* pFormFiller, CPDF_Rect& rect) = 0;
+  virtual void OutputSelectedRect(void* pFormFiller, CFX_FloatRect& rect) = 0;
 
   virtual FX_BOOL IsSelectionImplemented() = 0;
 
diff --git a/fpdfsdk/include/fxedit/fx_edit.h b/fpdfsdk/include/fxedit/fx_edit.h
index 5e1ac0f..089eecc 100644
--- a/fpdfsdk/include/fxedit/fx_edit.h
+++ b/fpdfsdk/include/fxedit/fx_edit.h
@@ -15,7 +15,7 @@
 class CPDF_Font;
 class CFX_Matrix;
 class CPDF_PageObjectHolder;
-class CPDF_Point;
+class CFX_FloatPoint;
 class CPDF_TextObject;
 class IFX_Edit;
 class IFX_Edit_FontMap;
@@ -92,17 +92,17 @@
   virtual void IOnSetScrollPosY(FX_FLOAT fy) = 0;
   // set the caret information.
   virtual void IOnSetCaret(FX_BOOL bVisible,
-                           const CPDF_Point& ptHead,
-                           const CPDF_Point& ptFoot,
+                           const CFX_FloatPoint& ptHead,
+                           const CFX_FloatPoint& ptFoot,
                            const CPVT_WordPlace& place) = 0;
   // if the caret position is changed ,send the information of current postion
   // to user.
   virtual void IOnCaretChange(const CPVT_SecProps& secProps,
                               const CPVT_WordProps& wordProps) = 0;
   // if the text area is changed, send the information to user.
-  virtual void IOnContentChange(const CPDF_Rect& rcContent) = 0;
+  virtual void IOnContentChange(const CFX_FloatRect& rcContent) = 0;
   // Invalidate the rectangle relative to the bounding box of edit.
-  virtual void IOnInvalidateRect(CPDF_Rect* pRect) = 0;
+  virtual void IOnInvalidateRect(CFX_FloatRect* pRect) = 0;
 };
 
 class IFX_Edit_OprNotify {
@@ -204,9 +204,10 @@
   virtual void Initialize() = 0;
 
   // set the bounding box of the text area.
-  virtual void SetPlateRect(const CPDF_Rect& rect, FX_BOOL bPaint = TRUE) = 0;
+  virtual void SetPlateRect(const CFX_FloatRect& rect,
+                            FX_BOOL bPaint = TRUE) = 0;
   // set the scroll origin
-  virtual void SetScrollPos(const CPDF_Point& point) = 0;
+  virtual void SetScrollPos(const CFX_FloatPoint& point) = 0;
 
   // set the horizontal text alignment in text box, nFormat (0:left 1:middle
   // 2:right).
@@ -296,11 +297,11 @@
   // query if any text is selected.
   virtual FX_BOOL IsSelected() const = 0;
   // get the scroll origin
-  virtual CPDF_Point GetScrollPos() const = 0;
+  virtual CFX_FloatPoint GetScrollPos() const = 0;
   // get the bounding box of the text area.
-  virtual CPDF_Rect GetPlateRect() const = 0;
+  virtual CFX_FloatRect GetPlateRect() const = 0;
   // get the fact area of the text.
-  virtual CPDF_Rect GetContentRect() const = 0;
+  virtual CFX_FloatRect GetContentRect() const = 0;
   // get the visible word range
   virtual CPVT_WordRange GetVisibleWordRange() const = 0;
   // get the whole word range
@@ -310,11 +311,11 @@
 
   // send the mousedown message to edit for response.
   // if Shift key is hold, bShift is TRUE, is Ctrl key is hold, bCtrl is TRUE.
-  virtual void OnMouseDown(const CPDF_Point& point,
+  virtual void OnMouseDown(const CFX_FloatPoint& point,
                            FX_BOOL bShift,
                            FX_BOOL bCtrl) = 0;
   // send the mousemove message to edit when mouse down is TRUE.
-  virtual void OnMouseMove(const CPDF_Point& point,
+  virtual void OnMouseMove(const CFX_FloatPoint& point,
                            FX_BOOL bShift,
                            FX_BOOL bCtrl) = 0;
   // send the UP key message to edit.
@@ -399,7 +400,7 @@
       const CPVT_WordPlace& place) const = 0;
 
   // search a wordplace form point
-  virtual CPVT_WordPlace SearchWordPlace(const CPDF_Point& point) const = 0;
+  virtual CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const = 0;
 
   // get the font size of non_rich text or default font size of richtext.
   virtual FX_FLOAT GetFontSize() const = 0;
@@ -426,21 +427,21 @@
 
   static CFX_ByteString GetEditAppearanceStream(
       IFX_Edit* pEdit,
-      const CPDF_Point& ptOffset,
+      const CFX_FloatPoint& ptOffset,
       const CPVT_WordRange* pRange = NULL,
       FX_BOOL bContinuous = TRUE,
       FX_WORD SubWord = 0);
   static CFX_ByteString GetSelectAppearanceStream(
       IFX_Edit* pEdit,
-      const CPDF_Point& ptOffset,
+      const CFX_FloatPoint& ptOffset,
       const CPVT_WordRange* pRange = NULL);
   static void DrawEdit(CFX_RenderDevice* pDevice,
                        CFX_Matrix* pUser2Device,
                        IFX_Edit* pEdit,
                        FX_COLORREF crTextFill,
                        FX_COLORREF crTextStroke,
-                       const CPDF_Rect& rcClip,
-                       const CPDF_Point& ptOffset,
+                       const CFX_FloatRect& rcClip,
+                       const CFX_FloatPoint& ptOffset,
                        const CPVT_WordRange* pRange,
                        IFX_SystemHandler* pSystemHandler,
                        void* pFFLData);
@@ -448,31 +449,31 @@
                             CFX_Matrix* pUser2Device,
                             IFX_Edit* pEdit,
                             FX_COLORREF color,
-                            const CPDF_Rect& rcClip,
-                            const CPDF_Point& ptOffset,
+                            const CFX_FloatRect& rcClip,
+                            const CFX_FloatPoint& ptOffset,
                             const CPVT_WordRange* pRange);
   static void DrawRichEdit(CFX_RenderDevice* pDevice,
                            CFX_Matrix* pUser2Device,
                            IFX_Edit* pEdit,
-                           const CPDF_Rect& rcClip,
-                           const CPDF_Point& ptOffset,
+                           const CFX_FloatRect& rcClip,
+                           const CFX_FloatPoint& ptOffset,
                            const CPVT_WordRange* pRange);
   static void GeneratePageObjects(
       CPDF_PageObjectHolder* pObjectHolder,
       IFX_Edit* pEdit,
-      const CPDF_Point& ptOffset,
+      const CFX_FloatPoint& ptOffset,
       const CPVT_WordRange* pRange,
       FX_COLORREF crText,
       CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray);
   static void GenerateRichPageObjects(
       CPDF_PageObjectHolder* pObjectHolder,
       IFX_Edit* pEdit,
-      const CPDF_Point& ptOffset,
+      const CFX_FloatPoint& ptOffset,
       const CPVT_WordRange* pRange,
       CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray);
   static void GenerateUnderlineObjects(CPDF_PageObjectHolder* pObjectHolder,
                                        IFX_Edit* pEdit,
-                                       const CPDF_Point& ptOffset,
+                                       const CFX_FloatPoint& ptOffset,
                                        const CPVT_WordRange* pRange,
                                        FX_COLORREF color);
 
@@ -501,7 +502,7 @@
   // set the position of vertical scrollbar.
   virtual void IOnSetScrollPosY(FX_FLOAT fy) = 0;
   // Invalidate the rectangle relative to the bounding box of edit.
-  virtual void IOnInvalidateRect(CPDF_Rect* pRect) = 0;
+  virtual void IOnInvalidateRect(CFX_FloatRect* pRect) = 0;
 
  protected:
   virtual ~IFX_List_Notify() {}
@@ -515,11 +516,11 @@
   virtual void SetFontMap(IFX_Edit_FontMap* pFontMap) = 0;
   virtual void SetNotify(IFX_List_Notify* pNotify) = 0;
 
-  virtual void SetPlateRect(const CPDF_Rect& rect) = 0;
+  virtual void SetPlateRect(const CFX_FloatRect& rect) = 0;
   virtual void SetFontSize(FX_FLOAT fFontSize) = 0;
 
-  virtual CPDF_Rect GetPlateRect() const = 0;
-  virtual CPDF_Rect GetContentRect() const = 0;
+  virtual CFX_FloatRect GetPlateRect() const = 0;
+  virtual CFX_FloatRect GetContentRect() const = 0;
 
   virtual FX_FLOAT GetFontSize() const = 0;
   virtual IFX_Edit* GetItemEdit(int32_t nIndex) const = 0;
@@ -532,13 +533,13 @@
   virtual FX_BOOL IsValid(int32_t nItemIndex) const = 0;
   virtual int32_t FindNext(int32_t nIndex, FX_WCHAR nChar) const = 0;
 
-  virtual void SetScrollPos(const CPDF_Point& point) = 0;
+  virtual void SetScrollPos(const CFX_FloatPoint& point) = 0;
   virtual void ScrollToListItem(int32_t nItemIndex) = 0;
-  virtual CPDF_Rect GetItemRect(int32_t nIndex) const = 0;
+  virtual CFX_FloatRect GetItemRect(int32_t nIndex) const = 0;
   virtual int32_t GetCaret() const = 0;
   virtual int32_t GetSelect() const = 0;
   virtual int32_t GetTopItem() const = 0;
-  virtual int32_t GetItemIndex(const CPDF_Point& point) const = 0;
+  virtual int32_t GetItemIndex(const CFX_FloatPoint& point) const = 0;
   virtual int32_t GetFirstSelected() const = 0;
 
   virtual void AddString(const FX_WCHAR* string) = 0;
@@ -549,10 +550,10 @@
   virtual void Cancel() = 0;
   virtual CFX_WideString GetText() const = 0;
 
-  virtual void OnMouseDown(const CPDF_Point& point,
+  virtual void OnMouseDown(const CFX_FloatPoint& point,
                            FX_BOOL bShift,
                            FX_BOOL bCtrl) = 0;
-  virtual void OnMouseMove(const CPDF_Point& point,
+  virtual void OnMouseMove(const CFX_FloatPoint& point,
                            FX_BOOL bShift,
                            FX_BOOL bCtrl) = 0;
   virtual void OnVK_UP(FX_BOOL bShift, FX_BOOL bCtrl) = 0;
diff --git a/fpdfsdk/include/fxedit/fxet_edit.h b/fpdfsdk/include/fxedit/fxet_edit.h
index d1df381..9809ac9 100644
--- a/fpdfsdk/include/fxedit/fxet_edit.h
+++ b/fpdfsdk/include/fxedit/fxet_edit.h
@@ -41,7 +41,7 @@
 };
 
 struct CFX_Edit_LineRect {
-  CFX_Edit_LineRect(const CPVT_WordRange& wrLine, const CPDF_Rect& rcLine)
+  CFX_Edit_LineRect(const CPVT_WordRange& wrLine, const CFX_FloatRect& rcLine)
       : m_wrLine(wrLine), m_rcLine(rcLine) {}
 
   FX_BOOL operator!=(const CFX_Edit_LineRect& linerect) const {
@@ -67,7 +67,7 @@
   }
 
   CPVT_WordRange m_wrLine;
-  CPDF_Rect m_rcLine;
+  CFX_FloatRect m_rcLine;
 };
 
 class CFX_Edit_LineRectArray {
@@ -93,7 +93,7 @@
     rects.RemoveAll();
   }
 
-  void Add(const CPVT_WordRange& wrLine, const CPDF_Rect& rcLine) {
+  void Add(const CPVT_WordRange& wrLine, const CFX_FloatRect& rcLine) {
     m_LineRects.Add(new CFX_Edit_LineRect(wrLine, rcLine));
   }
 
@@ -122,27 +122,27 @@
     m_Rects.RemoveAll();
   }
 
-  void Add(const CPDF_Rect& rect) {
+  void Add(const CFX_FloatRect& rect) {
     // check for overlapped area
     for (int32_t i = 0, sz = m_Rects.GetSize(); i < sz; i++) {
-      CPDF_Rect* pRect = m_Rects.GetAt(i);
+      CFX_FloatRect* pRect = m_Rects.GetAt(i);
       if (pRect && pRect->Contains(rect))
         return;
     }
 
-    m_Rects.Add(new CPDF_Rect(rect));
+    m_Rects.Add(new CFX_FloatRect(rect));
   }
 
   int32_t GetSize() const { return m_Rects.GetSize(); }
 
-  CPDF_Rect* GetAt(int32_t nIndex) const {
+  CFX_FloatRect* GetAt(int32_t nIndex) const {
     if (nIndex < 0 || nIndex >= m_Rects.GetSize())
       return NULL;
 
     return m_Rects.GetAt(nIndex);
   }
 
-  CFX_ArrayTemplate<CPDF_Rect*> m_Rects;
+  CFX_ArrayTemplate<CFX_FloatRect*> m_Rects;
 };
 
 class CFX_Edit_Refresh {
@@ -151,10 +151,10 @@
   virtual ~CFX_Edit_Refresh();
 
   void BeginRefresh();
-  void Push(const CPVT_WordRange& linerange, const CPDF_Rect& rect);
+  void Push(const CPVT_WordRange& linerange, const CFX_FloatRect& rect);
   void NoAnalyse();
   void Analyse(int32_t nAlignment);
-  void AddRefresh(const CPDF_Rect& rect);
+  void AddRefresh(const CFX_FloatRect& rect);
   const CFX_Edit_RectArray* GetRefreshRects() const;
   void EndRefresh();
 
@@ -533,8 +533,8 @@
   IPDF_VariableText* GetVariableText() override;
   IFX_Edit_FontMap* GetFontMap() override;
   void Initialize() override;
-  void SetPlateRect(const CPDF_Rect& rect, FX_BOOL bPaint = TRUE) override;
-  void SetScrollPos(const CPDF_Point& point) override;
+  void SetPlateRect(const CFX_FloatRect& rect, FX_BOOL bPaint = TRUE) override;
+  void SetScrollPos(const CFX_FloatPoint& point) override;
   void SetAlignmentH(int32_t nFormat = 0, FX_BOOL bPaint = TRUE) override;
   void SetAlignmentV(int32_t nFormat = 0, FX_BOOL bPaint = TRUE) override;
   void SetPasswordChar(FX_WORD wSubWord = '*', FX_BOOL bPaint = TRUE) override;
@@ -565,10 +565,10 @@
   FX_BOOL SetRichTextLineLeading(FX_FLOAT fLineLeading) override;
   FX_BOOL SetRichTextLineIndent(FX_FLOAT fLineIndent) override;
   FX_BOOL SetRichTextAlignment(int32_t nAlignment) override;
-  void OnMouseDown(const CPDF_Point& point,
+  void OnMouseDown(const CFX_FloatPoint& point,
                    FX_BOOL bShift,
                    FX_BOOL bCtrl) override;
-  void OnMouseMove(const CPDF_Point& point,
+  void OnMouseMove(const CFX_FloatPoint& point,
                    FX_BOOL bShift,
                    FX_BOOL bCtrl) override;
   void OnVK_UP(FX_BOOL bShift, FX_BOOL bCtrl) override;
@@ -602,17 +602,17 @@
   CPVT_WordPlace GetSectionBeginPlace(
       const CPVT_WordPlace& place) const override;
   CPVT_WordPlace GetSectionEndPlace(const CPVT_WordPlace& place) const override;
-  CPVT_WordPlace SearchWordPlace(const CPDF_Point& point) const override;
+  CPVT_WordPlace SearchWordPlace(const CFX_FloatPoint& point) const override;
   int32_t GetCaret() const override;
   CPVT_WordPlace GetCaretWordPlace() const override;
   CFX_WideString GetSelText() const override;
   CFX_WideString GetText() const override;
   FX_FLOAT GetFontSize() const override;
   FX_WORD GetPasswordChar() const override;
-  CPDF_Point GetScrollPos() const override;
+  CFX_FloatPoint GetScrollPos() const override;
   int32_t GetCharArray() const override;
-  CPDF_Rect GetPlateRect() const override;
-  CPDF_Rect GetContentRect() const override;
+  CFX_FloatRect GetPlateRect() const override;
+  CFX_FloatRect GetContentRect() const override;
   CFX_WideString GetRangeText(const CPVT_WordRange& range) const override;
   int32_t GetHorzScale() const override;
   FX_FLOAT GetCharSpace() const override;
@@ -704,10 +704,10 @@
   void PaintInsertText(const CPVT_WordPlace& wpOld,
                        const CPVT_WordPlace& wpNew);
 
-  inline CPDF_Point VTToEdit(const CPDF_Point& point) const;
-  inline CPDF_Point EditToVT(const CPDF_Point& point) const;
-  inline CPDF_Rect VTToEdit(const CPDF_Rect& rect) const;
-  inline CPDF_Rect EditToVT(const CPDF_Rect& rect) const;
+  inline CFX_FloatPoint VTToEdit(const CFX_FloatPoint& point) const;
+  inline CFX_FloatPoint EditToVT(const CFX_FloatPoint& point) const;
+  inline CFX_FloatRect VTToEdit(const CFX_FloatRect& rect) const;
+  inline CFX_FloatRect EditToVT(const CFX_FloatRect& rect) const;
 
   void Refresh(REFRESH_PLAN_E ePlan,
                const CPVT_WordRange* pRange1 = NULL,
@@ -731,7 +731,7 @@
 
   void SetPageInfo(const CPVT_WordPlace& place);
   CPVT_WordPlace SearchPageEndPlace(const CPVT_WordPlace& wpPageBegin,
-                                    const CPDF_Point& point) const;
+                                    const CFX_FloatPoint& point) const;
   FX_FLOAT GetLineTop(const CPVT_WordPlace& place) const;
   FX_FLOAT GetLineBottom(const CPVT_WordPlace& place) const;
 
@@ -745,18 +745,18 @@
   CPVT_WordPlace m_wpOldCaret;
   CFX_Edit_Select m_SelState;
 
-  CPDF_Point m_ptScrollPos;
-  CPDF_Point m_ptRefreshScrollPos;
+  CFX_FloatPoint m_ptScrollPos;
+  CFX_FloatPoint m_ptRefreshScrollPos;
   FX_BOOL m_bEnableScroll;
   IFX_Edit_Iterator* m_pIterator;
   CFX_Edit_Refresh m_Refresh;
-  CPDF_Point m_ptCaret;
+  CFX_FloatPoint m_ptCaret;
   CFX_Edit_Undo m_Undo;
   int32_t m_nAlignment;
   FX_BOOL m_bNotifyFlag;
   FX_BOOL m_bEnableOverflow;
   FX_BOOL m_bEnableRefresh;
-  CPDF_Rect m_rcOldContent;
+  CFX_FloatRect m_rcOldContent;
   FX_BOOL m_bEnableUndo;
   FX_BOOL m_bNotify;
   FX_BOOL m_bOprNotify;
diff --git a/fpdfsdk/include/fxedit/fxet_list.h b/fpdfsdk/include/fxedit/fxet_list.h
index a2f9524..88d57c4 100644
--- a/fpdfsdk/include/fxedit/fxet_list.h
+++ b/fpdfsdk/include/fxedit/fxet_list.h
@@ -7,7 +7,7 @@
 #ifndef FPDFSDK_INCLUDE_FXEDIT_FXET_LIST_H_
 #define FPDFSDK_INCLUDE_FXEDIT_FXET_LIST_H_
 
-#include "core/include/fpdfapi/fpdf_parser.h"  // For CPDF_Point.
+#include "core/include/fpdfapi/fpdf_parser.h"  // For CFX_FloatPoint.
 #include "fpdfsdk/include/fxedit/fx_edit.h"
 
 class IFX_Edit;
@@ -33,7 +33,7 @@
   FX_FLOAT x, y;
 };
 
-class CLST_Rect : public CPDF_Rect {
+class CLST_Rect : public CFX_FloatRect {
  public:
   CLST_Rect() { left = top = right = bottom = 0.0f; }
 
@@ -47,7 +47,7 @@
     bottom = other_bottom;
   }
 
-  CLST_Rect(const CPDF_Rect& rect) {
+  CLST_Rect(const CFX_FloatRect& rect) {
     left = rect.left;
     top = rect.top;
     right = rect.right;
@@ -58,7 +58,7 @@
 
   void Default() { left = top = right = bottom = 0.0f; }
 
-  const CLST_Rect operator=(const CPDF_Rect& rect) {
+  const CLST_Rect operator=(const CFX_FloatRect& rect) {
     left = rect.left;
     top = rect.top;
     right = rect.right;
@@ -83,11 +83,11 @@
     return bottom - top;
   }
 
-  CPDF_Point LeftTop() const { return CPDF_Point(left, top); }
+  CFX_FloatPoint LeftTop() const { return CFX_FloatPoint(left, top); }
 
-  CPDF_Point RightBottom() const { return CPDF_Point(right, bottom); }
+  CFX_FloatPoint RightBottom() const { return CFX_FloatPoint(right, bottom); }
 
-  const CLST_Rect operator+=(const CPDF_Point& point) {
+  const CLST_Rect operator+=(const CFX_FloatPoint& point) {
     left += point.x;
     right += point.x;
     top += point.y;
@@ -96,7 +96,7 @@
     return *this;
   }
 
-  const CLST_Rect operator-=(const CPDF_Point& point) {
+  const CLST_Rect operator-=(const CFX_FloatPoint& point) {
     left -= point.x;
     right -= point.x;
     top -= point.y;
@@ -105,12 +105,12 @@
     return *this;
   }
 
-  CLST_Rect operator+(const CPDF_Point& point) const {
+  CLST_Rect operator+(const CFX_FloatPoint& point) const {
     return CLST_Rect(left + point.x, top + point.y, right + point.x,
                      bottom + point.y);
   }
 
-  CLST_Rect operator-(const CPDF_Point& point) const {
+  CLST_Rect operator-(const CFX_FloatPoint& point) const {
     return CLST_Rect(left - point.x, top - point.y, right - point.x,
                      bottom - point.y);
   }
@@ -152,41 +152,43 @@
       : m_rcPlate(0.0f, 0.0f, 0.0f, 0.0f),
         m_rcContent(0.0f, 0.0f, 0.0f, 0.0f) {}
   virtual ~CFX_ListContainer() {}
-  virtual void SetPlateRect(const CPDF_Rect& rect) { m_rcPlate = rect; }
-  CPDF_Rect GetPlateRect() const { return m_rcPlate; }
+  virtual void SetPlateRect(const CFX_FloatRect& rect) { m_rcPlate = rect; }
+  CFX_FloatRect GetPlateRect() const { return m_rcPlate; }
   void SetContentRect(const CLST_Rect& rect) { m_rcContent = rect; }
   CLST_Rect GetContentRect() const { return m_rcContent; }
-  CPDF_Point GetBTPoint() const {
-    return CPDF_Point(m_rcPlate.left, m_rcPlate.top);
+  CFX_FloatPoint GetBTPoint() const {
+    return CFX_FloatPoint(m_rcPlate.left, m_rcPlate.top);
   }
-  CPDF_Point GetETPoint() const {
-    return CPDF_Point(m_rcPlate.right, m_rcPlate.bottom);
+  CFX_FloatPoint GetETPoint() const {
+    return CFX_FloatPoint(m_rcPlate.right, m_rcPlate.bottom);
   }
 
  public:
-  CPDF_Point InnerToOuter(const CPDF_Point& point) const {
-    return CPDF_Point(point.x + GetBTPoint().x, GetBTPoint().y - point.y);
+  CFX_FloatPoint InnerToOuter(const CFX_FloatPoint& point) const {
+    return CFX_FloatPoint(point.x + GetBTPoint().x, GetBTPoint().y - point.y);
   }
-  CPDF_Point OuterToInner(const CPDF_Point& point) const {
-    return CPDF_Point(point.x - GetBTPoint().x, GetBTPoint().y - point.y);
+  CFX_FloatPoint OuterToInner(const CFX_FloatPoint& point) const {
+    return CFX_FloatPoint(point.x - GetBTPoint().x, GetBTPoint().y - point.y);
   }
-  CPDF_Rect InnerToOuter(const CLST_Rect& rect) const {
-    CPDF_Point ptLeftTop = InnerToOuter(CPDF_Point(rect.left, rect.top));
-    CPDF_Point ptRightBottom =
-        InnerToOuter(CPDF_Point(rect.right, rect.bottom));
-    return CPDF_Rect(ptLeftTop.x, ptRightBottom.y, ptRightBottom.x,
-                     ptLeftTop.y);
+  CFX_FloatRect InnerToOuter(const CLST_Rect& rect) const {
+    CFX_FloatPoint ptLeftTop =
+        InnerToOuter(CFX_FloatPoint(rect.left, rect.top));
+    CFX_FloatPoint ptRightBottom =
+        InnerToOuter(CFX_FloatPoint(rect.right, rect.bottom));
+    return CFX_FloatRect(ptLeftTop.x, ptRightBottom.y, ptRightBottom.x,
+                         ptLeftTop.y);
   }
-  CLST_Rect OuterToInner(const CPDF_Rect& rect) const {
-    CPDF_Point ptLeftTop = OuterToInner(CPDF_Point(rect.left, rect.top));
-    CPDF_Point ptRightBottom =
-        OuterToInner(CPDF_Point(rect.right, rect.bottom));
+  CLST_Rect OuterToInner(const CFX_FloatRect& rect) const {
+    CFX_FloatPoint ptLeftTop =
+        OuterToInner(CFX_FloatPoint(rect.left, rect.top));
+    CFX_FloatPoint ptRightBottom =
+        OuterToInner(CFX_FloatPoint(rect.right, rect.bottom));
     return CLST_Rect(ptLeftTop.x, ptLeftTop.y, ptRightBottom.x,
                      ptRightBottom.y);
   }
 
  private:
-  CPDF_Rect m_rcPlate;
+  CFX_FloatRect m_rcPlate;
   CLST_Rect m_rcContent;  // positive forever!
 };
 
@@ -213,8 +215,8 @@
   // IFX_List:
   void SetFontMap(IFX_Edit_FontMap* pFontMap) override;
   void SetFontSize(FX_FLOAT fFontSize) override;
-  CPDF_Rect GetPlateRect() const override;
-  CPDF_Rect GetContentRect() const override;
+  CFX_FloatRect GetPlateRect() const override;
+  CFX_FloatRect GetContentRect() const override;
   FX_FLOAT GetFontSize() const override;
   IFX_Edit* GetItemEdit(int32_t nIndex) const override;
   int32_t GetCount() const override;
@@ -225,8 +227,8 @@
   FX_BOOL IsValid(int32_t nItemIndex) const override;
   int32_t FindNext(int32_t nIndex, FX_WCHAR nChar) const override;
   void Empty() override;
-  CPDF_Rect GetItemRect(int32_t nIndex) const override;
-  int32_t GetItemIndex(const CPDF_Point& point) const override;
+  CFX_FloatRect GetItemRect(int32_t nIndex) const override;
+  int32_t GetItemIndex(const CFX_FloatPoint& point) const override;
   int32_t GetFirstSelected() const override;
 
  protected:
@@ -284,10 +286,10 @@
 
   // CFX_List
   void SetNotify(IFX_List_Notify* pNotify) override;
-  void OnMouseDown(const CPDF_Point& point,
+  void OnMouseDown(const CFX_FloatPoint& point,
                    FX_BOOL bShift,
                    FX_BOOL bCtrl) override;
-  void OnMouseMove(const CPDF_Point& point,
+  void OnMouseMove(const CFX_FloatPoint& point,
                    FX_BOOL bShift,
                    FX_BOOL bCtrl) override;
   void OnVK_UP(FX_BOOL bShift, FX_BOOL bCtrl) override;
@@ -298,15 +300,15 @@
   void OnVK_END(FX_BOOL bShift, FX_BOOL bCtrl) override;
   void OnVK(int32_t nItemIndex, FX_BOOL bShift, FX_BOOL bCtrl) override;
   FX_BOOL OnChar(FX_WORD nChar, FX_BOOL bShift, FX_BOOL bCtrl) override;
-  void SetPlateRect(const CPDF_Rect& rect) override;
-  void SetScrollPos(const CPDF_Point& point) override;
+  void SetPlateRect(const CFX_FloatRect& rect) override;
+  void SetScrollPos(const CFX_FloatPoint& point) override;
   void ScrollToListItem(int32_t nItemIndex) override;
-  CPDF_Rect GetItemRect(int32_t nIndex) const override;
+  CFX_FloatRect GetItemRect(int32_t nIndex) const override;
   int32_t GetCaret() const override { return m_nCaretIndex; }
   int32_t GetSelect() const override { return m_nSelItem; }
   int32_t GetTopItem() const override;
-  CPDF_Rect GetContentRect() const override;
-  int32_t GetItemIndex(const CPDF_Point& point) const override;
+  CFX_FloatRect GetContentRect() const override;
+  int32_t GetItemIndex(const CFX_FloatPoint& point) const override;
   void AddString(const FX_WCHAR* string) override;
   void SetTopItem(int32_t nIndex) override;
   void Select(int32_t nItemIndex) override;
@@ -316,10 +318,10 @@
   CFX_WideString GetText() const override;
   void ReArrange(int32_t nItemIndex) override;
 
-  virtual CPDF_Point InToOut(const CPDF_Point& point) const;
-  virtual CPDF_Point OutToIn(const CPDF_Point& point) const;
-  virtual CPDF_Rect InToOut(const CPDF_Rect& rect) const;
-  virtual CPDF_Rect OutToIn(const CPDF_Rect& rect) const;
+  virtual CFX_FloatPoint InToOut(const CFX_FloatPoint& point) const;
+  virtual CFX_FloatPoint OutToIn(const CFX_FloatPoint& point) const;
+  virtual CFX_FloatRect InToOut(const CFX_FloatRect& rect) const;
+  virtual CFX_FloatRect OutToIn(const CFX_FloatRect& rect) const;
 
  private:
   void SetMultipleSelect(int32_t nItemIndex, FX_BOOL bSelected);
@@ -333,7 +335,7 @@
  private:
   IFX_List_Notify* m_pNotify;
   FX_BOOL m_bNotifyFlag;
-  CPDF_Point m_ptScrollPos;
+  CFX_FloatPoint m_ptScrollPos;
   CPLST_Select m_aSelItems;  // for multiple
   int32_t m_nSelItem;        // for single
   int32_t m_nFootIndex;      // for multiple
diff --git a/fpdfsdk/include/pdfwindow/PWL_Button.h b/fpdfsdk/include/pdfwindow/PWL_Button.h
index 5c65c78..603dc52 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Button.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Button.h
@@ -17,8 +17,8 @@
   // CPWL_Wnd
   CFX_ByteString GetClassName() const override;
   void OnCreate(PWL_CREATEPARAM& cp) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
 
  protected:
   FX_BOOL m_bMouseDown;
diff --git a/fpdfsdk/include/pdfwindow/PWL_Caret.h b/fpdfsdk/include/pdfwindow/PWL_Caret.h
index a1a5022..2459195 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Caret.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Caret.h
@@ -14,8 +14,8 @@
   PWL_CARET_INFO() : bVisible(FALSE), ptHead(0, 0), ptFoot(0, 0) {}
 
   FX_BOOL bVisible;
-  CPDF_Point ptHead;
-  CPDF_Point ptFoot;
+  CFX_FloatPoint ptHead;
+  CFX_FloatPoint ptFoot;
 };
 
 class CPWL_Caret : public CPWL_Wnd {
@@ -28,26 +28,26 @@
   void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
   void DrawThisAppearance(CFX_RenderDevice* pDevice,
                           CFX_Matrix* pUser2Device) override;
-  void InvalidateRect(CPDF_Rect* pRect = NULL) override;
+  void InvalidateRect(CFX_FloatRect* pRect = NULL) override;
   void SetVisible(FX_BOOL bVisible) override {}
   void TimerProc() override;
 
   void SetCaret(FX_BOOL bVisible,
-                const CPDF_Point& ptHead,
-                const CPDF_Point& ptFoot);
-  CFX_ByteString GetCaretAppearanceStream(const CPDF_Point& ptOffset);
-  void SetInvalidRect(CPDF_Rect rc) { m_rcInvalid = rc; }
+                const CFX_FloatPoint& ptHead,
+                const CFX_FloatPoint& ptFoot);
+  CFX_ByteString GetCaretAppearanceStream(const CFX_FloatPoint& ptOffset);
+  void SetInvalidRect(CFX_FloatRect rc) { m_rcInvalid = rc; }
 
  private:
-  void GetCaretApp(CFX_ByteTextBuf& sAppStream, const CPDF_Point& ptOffset);
-  CPDF_Rect GetCaretRect() const;
+  void GetCaretApp(CFX_ByteTextBuf& sAppStream, const CFX_FloatPoint& ptOffset);
+  CFX_FloatRect GetCaretRect() const;
 
   FX_BOOL m_bFlash;
-  CPDF_Point m_ptHead;
-  CPDF_Point m_ptFoot;
+  CFX_FloatPoint m_ptHead;
+  CFX_FloatPoint m_ptFoot;
   FX_FLOAT m_fWidth;
   int32_t m_nDelay;
-  CPDF_Rect m_rcInvalid;
+  CFX_FloatRect m_rcInvalid;
 };
 
 #endif  // FPDFSDK_INCLUDE_PDFWINDOW_PWL_CARET_H_
diff --git a/fpdfsdk/include/pdfwindow/PWL_ComboBox.h b/fpdfsdk/include/pdfwindow/PWL_ComboBox.h
index a6f6a7b..e538300 100644
--- a/fpdfsdk/include/pdfwindow/PWL_ComboBox.h
+++ b/fpdfsdk/include/pdfwindow/PWL_ComboBox.h
@@ -23,7 +23,7 @@
   ~CPWL_CBListBox() override {}
 
   // CPWL_ListBox
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
 
   FX_BOOL OnKeyDownWithExit(FX_WORD nChar, FX_BOOL& bExit, FX_DWORD nFlag);
   FX_BOOL OnCharWithExit(FX_WORD nChar, FX_BOOL& bExit, FX_DWORD nFlag);
@@ -40,8 +40,8 @@
   void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
   void DrawThisAppearance(CFX_RenderDevice* pDevice,
                           CFX_Matrix* pUser2Device) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
 };
 
 class CPWL_ComboBox : public CPWL_Wnd {
@@ -62,7 +62,7 @@
                 intptr_t lParam = 0) override;
   void CreateChildWnd(const PWL_CREATEPARAM& cp) override;
   void RePosChildWnd() override;
-  CPDF_Rect GetFocusRect() const override;
+  CFX_FloatRect GetFocusRect() const override;
   void SetFocus() override;
   void KillFocus() override;
 
@@ -95,7 +95,7 @@
   CPWL_CBButton* m_pButton;
   CPWL_CBListBox* m_pList;
   FX_BOOL m_bPopup;
-  CPDF_Rect m_rcOldWindow;
+  CFX_FloatRect m_rcOldWindow;
   int32_t m_nPopupWhere;
   int32_t m_nSelectItem;
   IPWL_Filler_Notify* m_pFillerNotify;
diff --git a/fpdfsdk/include/pdfwindow/PWL_Edit.h b/fpdfsdk/include/pdfwindow/PWL_Edit.h
index 7352818..e93afaa 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Edit.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Edit.h
@@ -52,19 +52,19 @@
   void OnDestroy() override;
   void OnCreated() override;
   void RePosChildWnd() override;
-  CPDF_Rect GetClientRect() const override;
+  CFX_FloatRect GetClientRect() const override;
   void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
   void DrawThisAppearance(CFX_RenderDevice* pDevice,
                           CFX_Matrix* pUser2Device) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonDblClk(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDblClk(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   FX_BOOL OnMouseWheel(short zDelta,
-                       const CPDF_Point& point,
+                       const CFX_FloatPoint& point,
                        FX_DWORD nFlag) override;
   FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag) override;
   FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag) override;
-  CPDF_Rect GetFocusRect() const override;
+  CFX_FloatRect GetFocusRect() const override;
   void OnSetFocus() override;
   void OnKillFocus() override;
 
@@ -96,14 +96,15 @@
   virtual void SetText(const FX_WCHAR* csText);
   void ReplaceSel(const FX_WCHAR* csText);
 
-  CFX_ByteString GetTextAppearanceStream(const CPDF_Point& ptOffset) const;
-  CFX_ByteString GetCaretAppearanceStream(const CPDF_Point& ptOffset) const;
-  CFX_ByteString GetSelectAppearanceStream(const CPDF_Point& ptOffset) const;
+  CFX_ByteString GetTextAppearanceStream(const CFX_FloatPoint& ptOffset) const;
+  CFX_ByteString GetCaretAppearanceStream(const CFX_FloatPoint& ptOffset) const;
+  CFX_ByteString GetSelectAppearanceStream(
+      const CFX_FloatPoint& ptOffset) const;
 
   FX_BOOL IsTextFull() const;
 
   static FX_FLOAT GetCharArrayAutoFontSize(CPDF_Font* pFont,
-                                           const CPDF_Rect& rcPlate,
+                                           const CFX_FloatRect& rcPlate,
                                            int32_t nCharArray);
 
   void SetFillerNotify(IPWL_Filler_Notify* pNotify) {
@@ -111,10 +112,10 @@
   }
 
   void GeneratePageObjects(CPDF_PageObjectHolder* pObjectHolder,
-                           const CPDF_Point& ptOffset,
+                           const CFX_FloatPoint& ptOffset,
                            CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray);
   void GeneratePageObjects(CPDF_PageObjectHolder* pObjectHolder,
-                           const CPDF_Point& ptOffset);
+                           const CFX_FloatPoint& ptOffset);
 
  protected:
   // IFX_Edit_OprNotify
@@ -141,11 +142,11 @@
   void SetParamByFlag();
 
   FX_FLOAT GetCharArrayAutoFontSize(int32_t nCharArray);
-  CPDF_Point GetWordRightBottomPoint(const CPVT_WordPlace& wpWord);
+  CFX_FloatPoint GetWordRightBottomPoint(const CPVT_WordPlace& wpWord);
 
   CPVT_WordRange CombineWordRange(const CPVT_WordRange& wr1,
                                   const CPVT_WordRange& wr2);
-  CPVT_WordRange GetLatinWordsRange(const CPDF_Point& point) const;
+  CPVT_WordRange GetLatinWordsRange(const CFX_FloatPoint& point) const;
   CPVT_WordRange GetLatinWordsRange(const CPVT_WordPlace& place) const;
   CPVT_WordRange GetArabicWordsRange(const CPVT_WordPlace& place) const;
   CPVT_WordRange GetSameWordsRange(const CPVT_WordPlace& place,
@@ -159,7 +160,7 @@
   IPWL_Filler_Notify* m_pFillerNotify;
   IPWL_SpellCheck* m_pSpellCheck;
   FX_BOOL m_bFocus;
-  CPDF_Rect m_rcOldWindow;
+  CFX_FloatRect m_rcOldWindow;
 
  public:
   void AttachFFLData(void* pData) { m_pFormFiller = pData; }
diff --git a/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h b/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h
index 9bb40a7..f800330 100644
--- a/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h
+++ b/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h
@@ -27,7 +27,7 @@
   virtual ~IPWL_Edit_Notify() {}
   // when the position of caret is changed in edit
   virtual void OnCaretMove(int32_t x1, int32_t y1, int32_t x2, int32_t y2) {}
-  virtual void OnContentChange(const CPDF_Rect& rcContent) {}
+  virtual void OnContentChange(const CFX_FloatRect& rcContent) {}
   // OprType: 0 InsertWord
   // 1 InsertReturn
   // 2 BackSpace
@@ -59,13 +59,13 @@
   CPWL_EditCtrl();
   ~CPWL_EditCtrl() override;
 
-  CPDF_Rect GetContentRect() const;
+  CFX_FloatRect GetContentRect() const;
   void GetCaretPos(int32_t& x, int32_t& y) const;
 
   CFX_WideString GetText() const;
   void SetSel(int32_t nStartChar, int32_t nEndChar);
   void GetSel(int32_t& nStartChar, int32_t& nEndChar) const;
-  void GetTextRange(const CPDF_Rect& rect,
+  void GetTextRange(const CFX_FloatRect& rect,
                     int32_t& nStartChar,
                     int32_t& nEndChar) const;
   CFX_WideString GetText(int32_t& nStartChar, int32_t& nEndChar) const;
@@ -79,8 +79,8 @@
   void Paint();
 
   void EnableRefresh(FX_BOOL bRefresh);
-  CPDF_Point GetScrollPos() const;
-  void SetScrollPos(const CPDF_Point& point);
+  CFX_FloatPoint GetScrollPos() const;
+  void SetScrollPos(const CFX_FloatPoint& point);
 
   void SetEditNotify(IPWL_Edit_Notify* pNotify) { m_pEditNotify = pNotify; }
 
@@ -105,9 +105,9 @@
   void OnCreated() override;
   FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag) override;
   FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnMouseMove(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   void OnNotify(CPWL_Wnd* pWnd,
                 FX_DWORD msg,
                 intptr_t wParam = 0,
@@ -135,13 +135,13 @@
   void IOnSetScrollPosX(FX_FLOAT fx) override {}
   void IOnSetScrollPosY(FX_FLOAT fy) override;
   void IOnSetCaret(FX_BOOL bVisible,
-                   const CPDF_Point& ptHead,
-                   const CPDF_Point& ptFoot,
+                   const CFX_FloatPoint& ptHead,
+                   const CFX_FloatPoint& ptFoot,
                    const CPVT_WordPlace& place) override;
   void IOnCaretChange(const CPVT_SecProps& secProps,
                       const CPVT_WordProps& wordProps) override;
-  void IOnContentChange(const CPDF_Rect& rcContent) override;
-  void IOnInvalidateRect(CPDF_Rect* pRect) override;
+  void IOnContentChange(const CFX_FloatRect& rcContent) override;
+  void IOnInvalidateRect(CFX_FloatRect* pRect) override;
 
   void InsertText(const FX_WCHAR* csText);
   void SetText(const FX_WCHAR* csText);
@@ -157,10 +157,10 @@
   void Delete();
   void Backspace();
 
-  void GetCaretInfo(CPDF_Point& ptHead, CPDF_Point& ptFoot) const;
+  void GetCaretInfo(CFX_FloatPoint& ptHead, CFX_FloatPoint& ptFoot) const;
   void SetCaret(FX_BOOL bVisible,
-                const CPDF_Point& ptHead,
-                const CPDF_Point& ptFoot);
+                const CFX_FloatPoint& ptHead,
+                const CFX_FloatPoint& ptFoot);
 
   void SetEditCaret(FX_BOOL bVisible);
 
diff --git a/fpdfsdk/include/pdfwindow/PWL_IconList.h b/fpdfsdk/include/pdfwindow/PWL_IconList.h
index e4c18a8..71c9f4c 100644
--- a/fpdfsdk/include/pdfwindow/PWL_IconList.h
+++ b/fpdfsdk/include/pdfwindow/PWL_IconList.h
@@ -75,15 +75,15 @@
  protected:
   // CPWL_ListCtrl
   void CreateChildWnd(const PWL_CREATEPARAM& cp) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnMouseMove(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag) override;
 
  private:
   CPWL_IconList_Item* GetListItem(int32_t nItemIndex) const;
   void SelectItem(int32_t nItemIndex, FX_BOOL bSelect);
-  int32_t FindItemIndex(const CPDF_Point& point);
+  int32_t FindItemIndex(const CFX_FloatPoint& point);
 
   int32_t m_nSelectIndex;
   IPWL_IconList_Notify* m_pNotify;
@@ -111,7 +111,7 @@
  protected:
   // CPWL_Wnd
   FX_BOOL OnMouseWheel(short zDelta,
-                       const CPDF_Point& point,
+                       const CFX_FloatPoint& point,
                        FX_DWORD nFlag) override;
   void OnCreated() override;
   void RePosChildWnd() override;
diff --git a/fpdfsdk/include/pdfwindow/PWL_Label.h b/fpdfsdk/include/pdfwindow/PWL_Label.h
index bed519f..5c3fa01 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Label.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Label.h
@@ -21,9 +21,9 @@
   void SetLimitChar(int32_t nLimitChar);
   void SetHorzScale(int32_t nHorzScale);
   void SetCharSpace(FX_FLOAT fCharSpace);
-  CPDF_Rect GetContentRect() const;
+  CFX_FloatRect GetContentRect() const;
   int32_t GetTotalWords();
-  CFX_ByteString GetTextAppearanceStream(const CPDF_Point& ptOffset) const;
+  CFX_ByteString GetTextAppearanceStream(const CFX_FloatPoint& ptOffset) const;
 
  protected:
   // CPWL_Wnd
diff --git a/fpdfsdk/include/pdfwindow/PWL_ListBox.h b/fpdfsdk/include/pdfwindow/PWL_ListBox.h
index 1f42d43..c1d3bd7 100644
--- a/fpdfsdk/include/pdfwindow/PWL_ListBox.h
+++ b/fpdfsdk/include/pdfwindow/PWL_ListBox.h
@@ -35,11 +35,11 @@
                          FX_FLOAT fBigStep) override;
   void IOnSetScrollPosX(FX_FLOAT fx) override {}
   void IOnSetScrollPosY(FX_FLOAT fy) override;
-  void IOnInvalidateRect(CPDF_Rect* pRect) override;
+  void IOnInvalidateRect(CFX_FloatRect* pRect) override;
 
   void IOnSetCaret(FX_BOOL bVisible,
-                   const CPDF_Point& ptHead,
-                   const CPDF_Point& ptFoot,
+                   const CFX_FloatPoint& ptHead,
+                   const CFX_FloatPoint& ptFoot,
                    const CPVT_WordPlace& place);
   void IOnCaretChange(const CPVT_SecProps& secProps,
                       const CPVT_WordProps& wordProps);
@@ -62,11 +62,11 @@
                           CFX_Matrix* pUser2Device) override;
   FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag) override;
   FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnMouseMove(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   FX_BOOL OnMouseWheel(short zDelta,
-                       const CPDF_Point& point,
+                       const CFX_FloatPoint& point,
                        FX_DWORD nFlag) override;
   void KillFocus() override;
   void OnNotify(CPWL_Wnd* pWnd,
@@ -74,7 +74,7 @@
                 intptr_t wParam = 0,
                 intptr_t lParam = 0) override;
   void RePosChildWnd() override;
-  CPDF_Rect GetFocusRect() const override;
+  CFX_FloatRect GetFocusRect() const override;
   void SetFontSize(FX_FLOAT fFontSize) override;
   FX_FLOAT GetFontSize() const override;
 
@@ -98,9 +98,9 @@
   FX_BOOL IsItemSelected(int32_t nItemIndex) const;
   int32_t GetTopVisibleIndex() const;
   int32_t FindNext(int32_t nIndex, FX_WCHAR nChar) const;
-  CPDF_Rect GetContentRect() const;
+  CFX_FloatRect GetContentRect() const;
   FX_FLOAT GetFirstHeight() const;
-  CPDF_Rect GetListRect() const;
+  CFX_FloatRect GetListRect() const;
 
   void SetFillerNotify(IPWL_Filler_Notify* pNotify) {
     m_pFillerNotify = pNotify;
diff --git a/fpdfsdk/include/pdfwindow/PWL_ListCtrl.h b/fpdfsdk/include/pdfwindow/PWL_ListCtrl.h
index 7b04a0c..0345d02 100644
--- a/fpdfsdk/include/pdfwindow/PWL_ListCtrl.h
+++ b/fpdfsdk/include/pdfwindow/PWL_ListCtrl.h
@@ -14,9 +14,9 @@
   CPWL_ListCtrl();
   ~CPWL_ListCtrl() override;
 
-  void SetScrollPos(const CPDF_Point& point);
-  CPDF_Point GetScrollPos() const;
-  CPDF_Rect GetScrollArea() const;
+  void SetScrollPos(const CFX_FloatPoint& point);
+  CFX_FloatPoint GetScrollPos() const;
+  CFX_FloatRect GetScrollArea() const;
   void SetItemSpace(FX_FLOAT fSpace);
   void SetTopSpace(FX_FLOAT fSpace);
   void SetBottomSpace(FX_FLOAT fSpace);
@@ -24,10 +24,10 @@
   void ResetContent(int32_t nStart);
   int32_t GetItemIndex(CPWL_Wnd* pItem);
   FX_FLOAT GetContentsHeight(FX_FLOAT fLimitWidth);
-  CPDF_Point InToOut(const CPDF_Point& point) const;
-  CPDF_Point OutToIn(const CPDF_Point& point) const;
-  CPDF_Rect InToOut(const CPDF_Rect& rect) const;
-  CPDF_Rect OutToIn(const CPDF_Rect& rect) const;
+  CFX_FloatPoint InToOut(const CFX_FloatPoint& point) const;
+  CFX_FloatPoint OutToIn(const CFX_FloatPoint& point) const;
+  CFX_FloatRect InToOut(const CFX_FloatRect& rect) const;
+  CFX_FloatRect OutToIn(const CFX_FloatRect& rect) const;
 
  protected:
   // CPWL_Wnd
@@ -38,8 +38,8 @@
  private:
   void ResetAll(FX_BOOL bMove, int32_t nStart);
 
-  CPDF_Rect m_rcContent;
-  CPDF_Point m_ptScroll;
+  CFX_FloatRect m_rcContent;
+  CFX_FloatPoint m_ptScroll;
   FX_FLOAT m_fItemSpace;
   FX_FLOAT m_fTopSpace;
   FX_FLOAT m_fBottomSpace;
diff --git a/fpdfsdk/include/pdfwindow/PWL_Note.h b/fpdfsdk/include/pdfwindow/PWL_Note.h
index 2d5b564..8087585 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Note.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Note.h
@@ -104,8 +104,8 @@
   // CPWL_Button
   void DrawThisAppearance(CFX_RenderDevice* pDevice,
                           CFX_Matrix* pUser2Device) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
 
  private:
   FX_BOOL m_bMouseDown;
@@ -166,7 +166,7 @@
   CPWL_Note_Options();
   ~CPWL_Note_Options() override;
 
-  CPDF_Rect GetContentRect() const;
+  CFX_FloatRect GetContentRect() const;
   void SetText(const CFX_WideString& sText);
 
   // CPWL_Wnd
@@ -196,7 +196,7 @@
   int32_t CountSubItems() const;
   IPWL_NoteItem* GetSubItems(int32_t index) const;
 
-  virtual IPWL_NoteItem* GetHitNoteItem(const CPDF_Point& point);
+  virtual IPWL_NoteItem* GetHitNoteItem(const CFX_FloatPoint& point);
   void EnableRead(FX_BOOL bEnabled);
   void EnableModify(FX_BOOL bEnabled);
 
@@ -206,7 +206,7 @@
                 FX_DWORD msg,
                 intptr_t wParam = 0,
                 intptr_t lParam = 0) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   void CreateChildWnd(const PWL_CREATEPARAM& cp) override;
 
  private:
@@ -218,7 +218,7 @@
   CPWL_NoteItem();
   ~CPWL_NoteItem() override;
 
-  virtual IPWL_NoteItem* GetHitNoteItem(const CPDF_Point& point);
+  virtual IPWL_NoteItem* GetHitNoteItem(const CFX_FloatPoint& point);
   virtual IPWL_NoteItem* GetFocusedNoteItem() const;
 
   virtual FX_BOOL IsTopItem() const { return FALSE; }
@@ -253,8 +253,8 @@
 
  protected:
   // CPWL_Wnd
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   CFX_ByteString GetClassName() const override;
   void RePosChildWnd() override;
   void CreateChildWnd(const PWL_CREATEPARAM& cp) override;
@@ -270,7 +270,7 @@
   CPWL_NoteItem* GetParentNoteItem() const;
 
   void SetNoteFocus(FX_BOOL bLast);
-  void PopupNoteItemMenu(const CPDF_Point& point);
+  void PopupNoteItemMenu(const CFX_FloatPoint& point);
 
   virtual const CPWL_Note* GetNote() const;
   virtual IPWL_NoteNotify* GetNoteNotify() const;
@@ -316,10 +316,10 @@
   FX_BOOL IsTopItem() const override { return TRUE; }
   const CPWL_Note* GetNote() const override;
   IPWL_NoteNotify* GetNoteNotify() const override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   FX_BOOL OnMouseWheel(short zDelta,
-                       const CPDF_Point& point,
+                       const CFX_FloatPoint& point,
                        FX_DWORD nFlag) override;
   void RePosChildWnd() override;
   void CreateChildWnd(const PWL_CREATEPARAM& cp) override;
diff --git a/fpdfsdk/include/pdfwindow/PWL_ScrollBar.h b/fpdfsdk/include/pdfwindow/PWL_ScrollBar.h
index 439bb65..a43ac91 100644
--- a/fpdfsdk/include/pdfwindow/PWL_ScrollBar.h
+++ b/fpdfsdk/include/pdfwindow/PWL_ScrollBar.h
@@ -43,9 +43,9 @@
   void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
   void DrawThisAppearance(CFX_RenderDevice* pDevice,
                           CFX_Matrix* pUser2Device) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnMouseMove(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
 
  protected:
   PWL_SCROLLBAR_TYPE m_eScrollBarType;
@@ -101,8 +101,8 @@
   void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
   void DrawThisAppearance(CFX_RenderDevice* pDevice,
                           CFX_Matrix* pUser2Device) override;
-  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   void OnNotify(CPWL_Wnd* pWnd,
                 FX_DWORD msg,
                 intptr_t wParam = 0,
@@ -121,22 +121,22 @@
   void MovePosButton(FX_BOOL bRefresh);
   void SetScrollStep(FX_FLOAT fBigStep, FX_FLOAT fSmallStep);
   void NotifyScrollWindow();
-  CPDF_Rect GetScrollArea() const;
+  CFX_FloatRect GetScrollArea() const;
 
  private:
   void CreateButtons(const PWL_CREATEPARAM& cp);
 
-  void OnMinButtonLBDown(const CPDF_Point& point);
-  void OnMinButtonLBUp(const CPDF_Point& point);
-  void OnMinButtonMouseMove(const CPDF_Point& point);
+  void OnMinButtonLBDown(const CFX_FloatPoint& point);
+  void OnMinButtonLBUp(const CFX_FloatPoint& point);
+  void OnMinButtonMouseMove(const CFX_FloatPoint& point);
 
-  void OnMaxButtonLBDown(const CPDF_Point& point);
-  void OnMaxButtonLBUp(const CPDF_Point& point);
-  void OnMaxButtonMouseMove(const CPDF_Point& point);
+  void OnMaxButtonLBDown(const CFX_FloatPoint& point);
+  void OnMaxButtonLBUp(const CFX_FloatPoint& point);
+  void OnMaxButtonMouseMove(const CFX_FloatPoint& point);
 
-  void OnPosButtonLBDown(const CPDF_Point& point);
-  void OnPosButtonLBUp(const CPDF_Point& point);
-  void OnPosButtonMouseMove(const CPDF_Point& point);
+  void OnPosButtonLBDown(const CFX_FloatPoint& point);
+  void OnPosButtonLBUp(const CFX_FloatPoint& point);
+  void OnPosButtonMouseMove(const CFX_FloatPoint& point);
 
   FX_FLOAT TrueToFace(FX_FLOAT);
   FX_FLOAT FaceToTrue(FX_FLOAT);
diff --git a/fpdfsdk/include/pdfwindow/PWL_SpecialButton.h b/fpdfsdk/include/pdfwindow/PWL_SpecialButton.h
index 5d372e8..6135b87 100644
--- a/fpdfsdk/include/pdfwindow/PWL_SpecialButton.h
+++ b/fpdfsdk/include/pdfwindow/PWL_SpecialButton.h
@@ -16,7 +16,7 @@
 
   // CPWL_Button
   CFX_ByteString GetClassName() const override;
-  CPDF_Rect GetFocusRect() const override;
+  CFX_FloatRect GetFocusRect() const override;
 };
 
 class CPWL_CheckBox : public CPWL_Button {
@@ -26,7 +26,7 @@
 
   // CPWL_Button
   CFX_ByteString GetClassName() const override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag) override;
 
   void SetCheck(FX_BOOL bCheck);
@@ -43,7 +43,7 @@
 
   // CPWL_Button
   CFX_ByteString GetClassName() const override;
-  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) override;
   FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag) override;
 
   void SetCheck(FX_BOOL bCheck);
diff --git a/fpdfsdk/include/pdfwindow/PWL_Utils.h b/fpdfsdk/include/pdfwindow/PWL_Utils.h
index cd033d7..71a2b1b 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Utils.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Utils.h
@@ -7,7 +7,7 @@
 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_
 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_UTILS_H_
 
-#include "core/include/fpdfapi/fpdf_parser.h"  // For CPDF_Point.
+#include "core/include/fpdfapi/fpdf_parser.h"  // For CFX_FloatPoint.
 #include "core/include/fpdfdoc/fpdf_vt.h"      // For CPVT_WordRange.
 #include "fpdfsdk/include/fxedit/fx_edit.h"
 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h"
@@ -74,11 +74,11 @@
 #define PPBL_LABELLEFTICONRIGHT 5
 #define PPBL_LABELOVERICON 6
 
-class CPWL_Point : public CPDF_Point {
+class CPWL_Point : public CFX_FloatPoint {
  public:
-  CPWL_Point() : CPDF_Point(0.0f, 0.0f) {}
-  CPWL_Point(FX_FLOAT fx, FX_FLOAT fy) : CPDF_Point(fx, fy) {}
-  CPWL_Point(const CPWL_Point& point) : CPDF_Point(point.x, point.y) {}
+  CPWL_Point() : CFX_FloatPoint(0.0f, 0.0f) {}
+  CPWL_Point(FX_FLOAT fx, FX_FLOAT fy) : CFX_FloatPoint(fx, fy) {}
+  CPWL_Point(const CPWL_Point& point) : CFX_FloatPoint(point.x, point.y) {}
 };
 
 enum PWL_PATHDATA_TYPE {
@@ -104,24 +104,28 @@
 
 class CPWL_Utils {
  public:
-  static CPDF_Rect InflateRect(const CPDF_Rect& rcRect, FX_FLOAT fSize);
-  static CPDF_Rect DeflateRect(const CPDF_Rect& rcRect, FX_FLOAT fSize);
-  static FX_BOOL IntersectRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2);
-  static FX_BOOL ContainsRect(const CPDF_Rect& rcParent,
-                              const CPDF_Rect& rcChild);
-  static CPDF_Rect ScaleRect(const CPDF_Rect& rcRect, FX_FLOAT fScale);
+  static CFX_FloatRect InflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize);
+  static CFX_FloatRect DeflateRect(const CFX_FloatRect& rcRect, FX_FLOAT fSize);
+  static FX_BOOL IntersectRect(const CFX_FloatRect& rect1,
+                               const CFX_FloatRect& rect2);
+  static FX_BOOL ContainsRect(const CFX_FloatRect& rcParent,
+                              const CFX_FloatRect& rcChild);
+  static CFX_FloatRect ScaleRect(const CFX_FloatRect& rcRect, FX_FLOAT fScale);
   static CPVT_WordRange OverlapWordRange(const CPVT_WordRange& wr1,
                                          const CPVT_WordRange& wr2);
-  static CPDF_Rect GetCenterSquare(const CPDF_Rect& rect);
+  static CFX_FloatRect GetCenterSquare(const CFX_FloatRect& rect);
   static CPWL_Color SubstractColor(const CPWL_Color& sColor,
                                    FX_FLOAT fColorSub);
   static CPWL_Color DevideColor(const CPWL_Color& sColor,
                                 FX_FLOAT fColorDevide);
-  static CPDF_Rect MaxRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2);
-  static CPDF_Rect OffsetRect(const CPDF_Rect& rect, FX_FLOAT x, FX_FLOAT y);
-  static CPDF_Point OffsetPoint(const CPDF_Point& point,
-                                FX_FLOAT x,
-                                FX_FLOAT y);
+  static CFX_FloatRect MaxRect(const CFX_FloatRect& rect1,
+                               const CFX_FloatRect& rect2);
+  static CFX_FloatRect OffsetRect(const CFX_FloatRect& rect,
+                                  FX_FLOAT x,
+                                  FX_FLOAT y);
+  static CFX_FloatPoint OffsetPoint(const CFX_FloatPoint& point,
+                                    FX_FLOAT x,
+                                    FX_FLOAT y);
   static FX_COLORREF PWLColorToFXColor(const CPWL_Color& color,
                                        int32_t nTransparancy = 255);
   static FX_BOOL IsBlackOrWhite(const CPWL_Color& color);
@@ -129,7 +133,7 @@
 
   static CFX_ByteString GetColorAppStream(const CPWL_Color& color,
                                           const FX_BOOL& bFillOrStroke = TRUE);
-  static CFX_ByteString GetBorderAppStream(const CPDF_Rect& rect,
+  static CFX_ByteString GetBorderAppStream(const CFX_FloatRect& rect,
                                            FX_FLOAT fWidth,
                                            const CPWL_Color& color,
                                            const CPWL_Color& crLeftTop,
@@ -137,19 +141,19 @@
                                            int32_t nStyle,
                                            const CPWL_Dash& dash);
   static CFX_ByteString GetCircleBorderAppStream(
-      const CPDF_Rect& rect,
+      const CFX_FloatRect& rect,
       FX_FLOAT fWidth,
       const CPWL_Color& color,
       const CPWL_Color& crLeftTop,
       const CPWL_Color& crRightBottom,
       int32_t nStyle,
       const CPWL_Dash& dash);
-  static CFX_ByteString GetRectFillAppStream(const CPDF_Rect& rect,
+  static CFX_ByteString GetRectFillAppStream(const CFX_FloatRect& rect,
                                              const CPWL_Color& color);
-  static CFX_ByteString GetCircleFillAppStream(const CPDF_Rect& rect,
+  static CFX_ByteString GetCircleFillAppStream(const CFX_FloatRect& rect,
                                                const CPWL_Color& color);
 
-  static CFX_ByteString GetPushButtonAppStream(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetPushButtonAppStream(const CFX_FloatRect& rcBBox,
                                                IFX_Edit_FontMap* pFontMap,
                                                CPDF_Stream* pIconStream,
                                                CPDF_IconFit& IconFit,
@@ -157,28 +161,28 @@
                                                const CPWL_Color& crText,
                                                FX_FLOAT fFontSize,
                                                int32_t nLayOut);
-  static CFX_ByteString GetCheckBoxAppStream(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetCheckBoxAppStream(const CFX_FloatRect& rcBBox,
                                              int32_t nStyle,
                                              const CPWL_Color& crText);
-  static CFX_ByteString GetRadioButtonAppStream(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetRadioButtonAppStream(const CFX_FloatRect& rcBBox,
                                                 int32_t nStyle,
                                                 const CPWL_Color& crText);
 
   static CFX_ByteString GetEditAppStream(IFX_Edit* pEdit,
-                                         const CPDF_Point& ptOffset,
+                                         const CFX_FloatPoint& ptOffset,
                                          const CPVT_WordRange* pRange = NULL,
                                          FX_BOOL bContinuous = TRUE,
                                          FX_WORD SubWord = 0);
   static CFX_ByteString GetEditSelAppStream(
       IFX_Edit* pEdit,
-      const CPDF_Point& ptOffset,
+      const CFX_FloatPoint& ptOffset,
       const CPVT_WordRange* pRange = NULL);
   static CFX_ByteString GetSpellCheckAppStream(
       IFX_Edit* pEdit,
       IPWL_SpellCheck* pSpellCheck,
-      const CPDF_Point& ptOffset,
+      const CFX_FloatPoint& ptOffset,
       const CPVT_WordRange* pRange = NULL);
-  static CFX_ByteString GetTextAppStream(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetTextAppStream(const CFX_FloatRect& rcBBox,
                                          IFX_Edit_FontMap* pFontMap,
                                          const CFX_WideString& sText,
                                          int32_t nAlignmentH,
@@ -187,31 +191,31 @@
                                          FX_BOOL bMultiLine,
                                          FX_BOOL bAutoReturn,
                                          const CPWL_Color& crText);
-  static CFX_ByteString GetDropButtonAppStream(const CPDF_Rect& rcBBox);
+  static CFX_ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox);
 
   static void DrawFillRect(CFX_RenderDevice* pDevice,
                            CFX_Matrix* pUser2Device,
-                           const CPDF_Rect& rect,
+                           const CFX_FloatRect& rect,
                            const CPWL_Color& color,
                            int32_t nTransparancy);
   static void DrawFillRect(CFX_RenderDevice* pDevice,
                            CFX_Matrix* pUser2Device,
-                           const CPDF_Rect& rect,
+                           const CFX_FloatRect& rect,
                            const FX_COLORREF& color);
   static void DrawStrokeRect(CFX_RenderDevice* pDevice,
                              CFX_Matrix* pUser2Device,
-                             const CPDF_Rect& rect,
+                             const CFX_FloatRect& rect,
                              const FX_COLORREF& color,
                              FX_FLOAT fWidth);
   static void DrawStrokeLine(CFX_RenderDevice* pDevice,
                              CFX_Matrix* pUser2Device,
-                             const CPDF_Point& ptMoveTo,
-                             const CPDF_Point& ptLineTo,
+                             const CFX_FloatPoint& ptMoveTo,
+                             const CFX_FloatPoint& ptLineTo,
                              const FX_COLORREF& color,
                              FX_FLOAT fWidth);
   static void DrawBorder(CFX_RenderDevice* pDevice,
                          CFX_Matrix* pUser2Device,
-                         const CPDF_Rect& rect,
+                         const CFX_FloatRect& rect,
                          FX_FLOAT fWidth,
                          const CPWL_Color& color,
                          const CPWL_Color& crLeftTop,
@@ -220,22 +224,22 @@
                          int32_t nTransparancy);
   static void DrawFillArea(CFX_RenderDevice* pDevice,
                            CFX_Matrix* pUser2Device,
-                           const CPDF_Point* pPts,
+                           const CFX_FloatPoint* pPts,
                            int32_t nCount,
                            const FX_COLORREF& color);
   static void DrawShadow(CFX_RenderDevice* pDevice,
                          CFX_Matrix* pUser2Device,
                          FX_BOOL bVertical,
                          FX_BOOL bHorizontal,
-                         CPDF_Rect rect,
+                         CFX_FloatRect rect,
                          int32_t nTransparancy,
                          int32_t nStartGray,
                          int32_t nEndGray);
   static void DrawEditSpellCheck(CFX_RenderDevice* pDevice,
                                  CFX_Matrix* pUser2Device,
                                  IFX_Edit* pEdit,
-                                 const CPDF_Rect& rcClip,
-                                 const CPDF_Point& ptOffset,
+                                 const CFX_FloatRect& rcClip,
+                                 const CFX_FloatPoint& ptOffset,
                                  const CPVT_WordRange* pRange,
                                  IPWL_SpellCheck* pSpellCheck);
 
@@ -284,13 +288,13 @@
  public:
   static CFX_ByteString GetIconAppStream(
       int32_t nType,
-      const CPDF_Rect& rect,
+      const CFX_FloatRect& rect,
       const CPWL_Color& crFill,
       const CPWL_Color& crStroke = PWL_DEFAULT_BLACKCOLOR);
   static void DrawIconAppStream(CFX_RenderDevice* pDevice,
                                 CFX_Matrix* pUser2Device,
                                 int32_t nType,
-                                const CPDF_Rect& rect,
+                                const CFX_FloatRect& rect,
                                 const CPWL_Color& crFill,
                                 const CPWL_Color& crStroke,
                                 const int32_t nTransparancy);
@@ -302,107 +306,107 @@
                                    const CPWL_PathData* pPathData,
                                    int32_t nCount);
 
-  static CFX_ByteString GetAppStream_Check(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetAppStream_Check(const CFX_FloatRect& rcBBox,
                                            const CPWL_Color& crText);
-  static CFX_ByteString GetAppStream_Circle(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetAppStream_Circle(const CFX_FloatRect& rcBBox,
                                             const CPWL_Color& crText);
-  static CFX_ByteString GetAppStream_Cross(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetAppStream_Cross(const CFX_FloatRect& rcBBox,
                                            const CPWL_Color& crText);
-  static CFX_ByteString GetAppStream_Diamond(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetAppStream_Diamond(const CFX_FloatRect& rcBBox,
                                              const CPWL_Color& crText);
-  static CFX_ByteString GetAppStream_Square(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetAppStream_Square(const CFX_FloatRect& rcBBox,
                                             const CPWL_Color& crText);
-  static CFX_ByteString GetAppStream_Star(const CPDF_Rect& rcBBox,
+  static CFX_ByteString GetAppStream_Star(const CFX_FloatRect& rcBBox,
                                           const CPWL_Color& crText);
 
-  static CFX_ByteString GetAP_Check(const CPDF_Rect& crBBox);
-  static CFX_ByteString GetAP_Circle(const CPDF_Rect& crBBox);
-  static CFX_ByteString GetAP_Cross(const CPDF_Rect& crBBox);
-  static CFX_ByteString GetAP_Diamond(const CPDF_Rect& crBBox);
-  static CFX_ByteString GetAP_Square(const CPDF_Rect& crBBox);
-  static CFX_ByteString GetAP_Star(const CPDF_Rect& crBBox);
-  static CFX_ByteString GetAP_HalfCircle(const CPDF_Rect& crBBox,
+  static CFX_ByteString GetAP_Check(const CFX_FloatRect& crBBox);
+  static CFX_ByteString GetAP_Circle(const CFX_FloatRect& crBBox);
+  static CFX_ByteString GetAP_Cross(const CFX_FloatRect& crBBox);
+  static CFX_ByteString GetAP_Diamond(const CFX_FloatRect& crBBox);
+  static CFX_ByteString GetAP_Square(const CFX_FloatRect& crBBox);
+  static CFX_ByteString GetAP_Star(const CFX_FloatRect& crBBox);
+  static CFX_ByteString GetAP_HalfCircle(const CFX_FloatRect& crBBox,
                                          FX_FLOAT fRotate);
 
   static void GetGraphics_Checkmark(CFX_ByteString& sPathData,
                                     CFX_PathData& path,
-                                    const CPDF_Rect& crBBox,
+                                    const CFX_FloatRect& crBBox,
                                     const PWL_PATH_TYPE type);
   static void GetGraphics_Circle(CFX_ByteString& sPathData,
                                  CFX_PathData& path,
-                                 const CPDF_Rect& crBBox,
+                                 const CFX_FloatRect& crBBox,
                                  const PWL_PATH_TYPE type);
   static void GetGraphics_Comment(CFX_ByteString& sPathData,
                                   CFX_PathData& path,
-                                  const CPDF_Rect& crBBox,
+                                  const CFX_FloatRect& crBBox,
                                   const PWL_PATH_TYPE type);
   static void GetGraphics_Cross(CFX_ByteString& sPathData,
                                 CFX_PathData& path,
-                                const CPDF_Rect& crBBox,
+                                const CFX_FloatRect& crBBox,
                                 const PWL_PATH_TYPE type);
   static void GetGraphics_Help(CFX_ByteString& sPathData,
                                CFX_PathData& path,
-                               const CPDF_Rect& crBBox,
+                               const CFX_FloatRect& crBBox,
                                const PWL_PATH_TYPE type);
   static void GetGraphics_InsertText(CFX_ByteString& sPathData,
                                      CFX_PathData& path,
-                                     const CPDF_Rect& crBBox,
+                                     const CFX_FloatRect& crBBox,
                                      const PWL_PATH_TYPE type);
   static void GetGraphics_Key(CFX_ByteString& sPathData,
                               CFX_PathData& path,
-                              const CPDF_Rect& crBBox,
+                              const CFX_FloatRect& crBBox,
                               const PWL_PATH_TYPE type);
   static void GetGraphics_NewParagraph(CFX_ByteString& sPathData,
                                        CFX_PathData& path,
-                                       const CPDF_Rect& crBBox,
+                                       const CFX_FloatRect& crBBox,
                                        const PWL_PATH_TYPE type);
   static void GetGraphics_TextNote(CFX_ByteString& sPathData,
                                    CFX_PathData& path,
-                                   const CPDF_Rect& crBBox,
+                                   const CFX_FloatRect& crBBox,
                                    const PWL_PATH_TYPE type);
   static void GetGraphics_Paragraph(CFX_ByteString& sPathData,
                                     CFX_PathData& path,
-                                    const CPDF_Rect& crBBox,
+                                    const CFX_FloatRect& crBBox,
                                     const PWL_PATH_TYPE type);
   static void GetGraphics_RightArrow(CFX_ByteString& sPathData,
                                      CFX_PathData& path,
-                                     const CPDF_Rect& crBBox,
+                                     const CFX_FloatRect& crBBox,
                                      const PWL_PATH_TYPE type);
   static void GetGraphics_RightPointer(CFX_ByteString& sPathData,
                                        CFX_PathData& path,
-                                       const CPDF_Rect& crBBox,
+                                       const CFX_FloatRect& crBBox,
                                        const PWL_PATH_TYPE type);
   static void GetGraphics_Star(CFX_ByteString& sPathData,
                                CFX_PathData& path,
-                               const CPDF_Rect& crBBox,
+                               const CFX_FloatRect& crBBox,
                                const PWL_PATH_TYPE type);
   static void GetGraphics_UpArrow(CFX_ByteString& sPathData,
                                   CFX_PathData& path,
-                                  const CPDF_Rect& crBBox,
+                                  const CFX_FloatRect& crBBox,
                                   const PWL_PATH_TYPE type);
   static void GetGraphics_UpLeftArrow(CFX_ByteString& sPathData,
                                       CFX_PathData& path,
-                                      const CPDF_Rect& crBBox,
+                                      const CFX_FloatRect& crBBox,
                                       const PWL_PATH_TYPE type);
   static void GetGraphics_Graph(CFX_ByteString& sPathData,
                                 CFX_PathData& path,
-                                const CPDF_Rect& crBBox,
+                                const CFX_FloatRect& crBBox,
                                 const PWL_PATH_TYPE type);
   static void GetGraphics_Paperclip(CFX_ByteString& sPathData,
                                     CFX_PathData& path,
-                                    const CPDF_Rect& crBBox,
+                                    const CFX_FloatRect& crBBox,
                                     const PWL_PATH_TYPE type);
   static void GetGraphics_Attachment(CFX_ByteString& sPathData,
                                      CFX_PathData& path,
-                                     const CPDF_Rect& crBBox,
+                                     const CFX_FloatRect& crBBox,
                                      const PWL_PATH_TYPE type);
   static void GetGraphics_Tag(CFX_ByteString& sPathData,
                               CFX_PathData& path,
-                              const CPDF_Rect& crBBox,
+                              const CFX_FloatRect& crBBox,
                               const PWL_PATH_TYPE type);
   static void GetGraphics_Foxit(CFX_ByteString& sPathData,
                                 CFX_PathData& path,
-                                const CPDF_Rect& crBBox,
+                                const CFX_FloatRect& crBBox,
                                 const PWL_PATH_TYPE type);
 };
 
diff --git a/fpdfsdk/include/pdfwindow/PWL_Wnd.h b/fpdfsdk/include/pdfwindow/PWL_Wnd.h
index 1bc5023..19046e6 100644
--- a/fpdfsdk/include/pdfwindow/PWL_Wnd.h
+++ b/fpdfsdk/include/pdfwindow/PWL_Wnd.h
@@ -228,7 +228,7 @@
         eCursorType(FXCT_ARROW),
         mtChild(1, 0, 0, 1, 0, 0) {}
 
-  CPDF_Rect rcRectWnd;                // required
+  CFX_FloatRect rcRectWnd;            // required
   IFX_SystemHandler* pSystemHandler;  // required
   IFX_Edit_FontMap* pFontMap;         // required for text window
   IPWL_Provider* pProvider;           // required for self coordinate
@@ -293,25 +293,25 @@
   void InvalidateFocusHandler(IPWL_FocusHandler* handler);
   void InvalidateProvider(IPWL_Provider* provider);
   void Destroy();
-  void Move(const CPDF_Rect& rcNew, FX_BOOL bReset, FX_BOOL bRefresh);
-  virtual void InvalidateRect(CPDF_Rect* pRect = NULL);
+  void Move(const CFX_FloatRect& rcNew, FX_BOOL bReset, FX_BOOL bRefresh);
+  virtual void InvalidateRect(CFX_FloatRect* pRect = NULL);
 
   void DrawAppearance(CFX_RenderDevice* pDevice, CFX_Matrix* pUser2Device);
 
   virtual FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag);
   virtual FX_BOOL OnKeyUp(FX_WORD nChar, FX_DWORD nFlag);
   virtual FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag);
-  virtual FX_BOOL OnLButtonDblClk(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnMButtonDblClk(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnMButtonDown(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnMButtonUp(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnRButtonDown(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag);
-  virtual FX_BOOL OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnLButtonDblClk(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnMButtonDblClk(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnMButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnMButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnRButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag);
+  virtual FX_BOOL OnMouseMove(const CFX_FloatPoint& point, FX_DWORD nFlag);
   virtual FX_BOOL OnMouseWheel(short zDelta,
-                               const CPDF_Point& point,
+                               const CFX_FloatPoint& point,
                                FX_DWORD nFlag);
 
   virtual void SetFocus();
@@ -327,7 +327,7 @@
   virtual void SetTextStrokeColor(const CPWL_Color& color);
   virtual void SetVisible(FX_BOOL bVisible);
 
-  virtual CPDF_Rect GetFocusRect() const;
+  virtual CFX_FloatRect GetFocusRect() const;
   virtual CPWL_Color GetBackgroundColor() const;
   virtual CPWL_Color GetBorderColor() const;
   virtual CPWL_Color GetTextColor() const;
@@ -340,25 +340,25 @@
   virtual void SetFontSize(FX_FLOAT fFontSize);
 
   void SetBackgroundColor(const CPWL_Color& color);
-  void SetClipRect(const CPDF_Rect& rect);
+  void SetClipRect(const CFX_FloatRect& rect);
   void SetBorderStyle(int32_t eBorderStyle);
 
-  virtual CPDF_Rect GetWindowRect() const;
-  virtual CPDF_Rect GetClientRect() const;
-  CPDF_Point GetCenterPoint() const;
+  virtual CFX_FloatRect GetWindowRect() const;
+  virtual CFX_FloatRect GetClientRect() const;
+  CFX_FloatPoint GetCenterPoint() const;
   int32_t GetBorderWidth() const;
   FX_BOOL IsVisible() const { return m_bVisible; }
   FX_BOOL HasFlag(FX_DWORD dwFlags) const;
   void AddFlag(FX_DWORD dwFlags);
   void RemoveFlag(FX_DWORD dwFlags);
-  const CPDF_Rect& GetClipRect() const;
+  const CFX_FloatRect& GetClipRect() const;
   CPWL_Wnd* GetParentWindow() const;
   int32_t GetBorderStyle() const;
   const CPWL_Dash& GetBorderDash() const;
   void* GetAttachedData() const;
 
-  FX_BOOL WndHitTest(const CPDF_Point& point) const;
-  FX_BOOL ClientHitTest(const CPDF_Point& point) const;
+  FX_BOOL WndHitTest(const CFX_FloatPoint& point) const;
+  FX_BOOL ClientHitTest(const CFX_FloatPoint& point) const;
   FX_BOOL IsCaptureMouse() const;
 
   const CPWL_Wnd* GetFocused() const;
@@ -378,10 +378,10 @@
   void SetChildMatrix(const CFX_Matrix& mt);
   CFX_Matrix GetWindowMatrix() const;
 
-  virtual CPDF_Point ChildToParent(const CPDF_Point& point) const;
-  virtual CPDF_Rect ChildToParent(const CPDF_Rect& rect) const;
-  virtual CPDF_Point ParentToChild(const CPDF_Point& point) const;
-  virtual CPDF_Rect ParentToChild(const CPDF_Rect& rect) const;
+  virtual CFX_FloatPoint ChildToParent(const CFX_FloatPoint& point) const;
+  virtual CFX_FloatRect ChildToParent(const CFX_FloatRect& rect) const;
+  virtual CFX_FloatPoint ParentToChild(const CFX_FloatPoint& point) const;
+  virtual CFX_FloatRect ParentToChild(const CFX_FloatRect& rect) const;
 
   // those methods only implemented by listctrl item
   virtual FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth) { return 0; }
@@ -423,10 +423,11 @@
   const PWL_CREATEPARAM& GetCreationParam() const;
   FX_BOOL IsNotifying() const { return m_bNotifying; }
 
-  void InvalidateRectMove(const CPDF_Rect& rcOld, const CPDF_Rect& rcNew);
+  void InvalidateRectMove(const CFX_FloatRect& rcOld,
+                          const CFX_FloatRect& rcNew);
 
-  void PWLtoWnd(const CPDF_Point& point, int32_t& x, int32_t& y) const;
-  FX_RECT PWLtoWnd(const CPDF_Rect& rect) const;
+  void PWLtoWnd(const CFX_FloatPoint& point, int32_t& x, int32_t& y) const;
+  FX_RECT PWLtoWnd(const CFX_FloatRect& rect) const;
   FX_HWND GetAttachedHWnd() const;
 
   FX_BOOL IsWndCaptureMouse(const CPWL_Wnd* pWnd) const;
@@ -459,8 +460,8 @@
 
   CPWL_ScrollBar* m_pVScrollBar;
 
-  CPDF_Rect m_rcWindow;
-  CPDF_Rect m_rcClip;
+  CFX_FloatRect m_rcWindow;
+  CFX_FloatRect m_rcClip;
 
   FX_BOOL m_bCreated;
   FX_BOOL m_bVisible;
diff --git a/fpdfsdk/src/formfiller/FFL_CheckBox.cpp b/fpdfsdk/src/formfiller/FFL_CheckBox.cpp
index f76613e..78a689a 100644
--- a/fpdfsdk/src/formfiller/FFL_CheckBox.cpp
+++ b/fpdfsdk/src/formfiller/FFL_CheckBox.cpp
@@ -73,7 +73,7 @@
 FX_BOOL CFFL_CheckBox::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                    CPDFSDK_Annot* pAnnot,
                                    FX_UINT nFlags,
-                                   const CPDF_Point& point) {
+                                   const CFX_FloatPoint& point) {
   CFFL_Button::OnLButtonUp(pPageView, pAnnot, nFlags, point);
 
   if (IsValid()) {
diff --git a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
index ce73f7d..e596ba0 100644
--- a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
@@ -36,18 +36,18 @@
 }
 
 void CFFL_FormFiller::SetWindowRect(CPDFSDK_PageView* pPageView,
-                                    const CPDF_Rect& rcWindow) {
+                                    const CFX_FloatRect& rcWindow) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
-    pWnd->Move(CPDF_Rect(rcWindow), TRUE, FALSE);
+    pWnd->Move(CFX_FloatRect(rcWindow), TRUE, FALSE);
   }
 }
 
-CPDF_Rect CFFL_FormFiller::GetWindowRect(CPDFSDK_PageView* pPageView) {
+CFX_FloatRect CFFL_FormFiller::GetWindowRect(CPDFSDK_PageView* pPageView) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
     return pWnd->GetWindowRect();
   }
 
-  return CPDF_Rect(0, 0, 0, 0);
+  return CFX_FloatRect(0, 0, 0, 0);
 }
 
 FX_RECT CFFL_FormFiller::GetViewBBox(CPDFSDK_PageView* pPageView,
@@ -55,20 +55,20 @@
   ASSERT(pPageView);
   ASSERT(pAnnot);
 
-  CPDF_Rect rcAnnot = m_pWidget->GetRect();
+  CFX_FloatRect rcAnnot = m_pWidget->GetRect();
 
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
-    CPDF_Rect rcWindow = pWnd->GetWindowRect();
+    CFX_FloatRect rcWindow = pWnd->GetWindowRect();
     rcAnnot = PWLtoFFL(rcWindow);
   }
 
-  CPDF_Rect rcWin = rcAnnot;
+  CFX_FloatRect rcWin = rcAnnot;
 
-  CPDF_Rect rcFocus = GetFocusBox(pPageView);
+  CFX_FloatRect rcFocus = GetFocusBox(pPageView);
   if (!rcFocus.IsEmpty())
     rcWin.Union(rcFocus);
 
-  CPDF_Rect rect = CPWL_Utils::InflateRect(rcWin, 1);
+  CFX_FloatRect rect = CPWL_Utils::InflateRect(rcWin, 1);
 
   return rect.GetOutterRect();
 }
@@ -118,7 +118,7 @@
 FX_BOOL CFFL_FormFiller::OnLButtonDown(CPDFSDK_PageView* pPageView,
                                        CPDFSDK_Annot* pAnnot,
                                        FX_UINT nFlags,
-                                       const CPDF_Point& point) {
+                                       const CFX_FloatPoint& point) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, TRUE)) {
     m_bValid = TRUE;
     FX_RECT rect = GetViewBBox(pPageView, pAnnot);
@@ -136,7 +136,7 @@
 FX_BOOL CFFL_FormFiller::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                      CPDFSDK_Annot* pAnnot,
                                      FX_UINT nFlags,
-                                     const CPDF_Point& point) {
+                                     const CFX_FloatPoint& point) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
     FX_RECT rcFFL = GetViewBBox(pPageView, pAnnot);
     InvalidateRect(rcFFL.left, rcFFL.top, rcFFL.right, rcFFL.bottom);
@@ -150,7 +150,7 @@
 FX_BOOL CFFL_FormFiller::OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                          CPDFSDK_Annot* pAnnot,
                                          FX_UINT nFlags,
-                                         const CPDF_Point& point) {
+                                         const CFX_FloatPoint& point) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
     pWnd->OnLButtonDblClk(WndtoPWL(pPageView, point), nFlags);
     return TRUE;
@@ -162,7 +162,7 @@
 FX_BOOL CFFL_FormFiller::OnMouseMove(CPDFSDK_PageView* pPageView,
                                      CPDFSDK_Annot* pAnnot,
                                      FX_UINT nFlags,
-                                     const CPDF_Point& point) {
+                                     const CFX_FloatPoint& point) {
   if ((m_ptOldPos.x != point.x) || (m_ptOldPos.y != point.y)) {
     m_ptOldPos = point;
   }
@@ -179,7 +179,7 @@
                                       CPDFSDK_Annot* pAnnot,
                                       FX_UINT nFlags,
                                       short zDelta,
-                                      const CPDF_Point& point) {
+                                      const CFX_FloatPoint& point) {
   if (!IsValid())
     return FALSE;
 
@@ -193,7 +193,7 @@
 FX_BOOL CFFL_FormFiller::OnRButtonDown(CPDFSDK_PageView* pPageView,
                                        CPDFSDK_Annot* pAnnot,
                                        FX_UINT nFlags,
-                                       const CPDF_Point& point) {
+                                       const CFX_FloatPoint& point) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, TRUE)) {
     pWnd->OnRButtonDown(WndtoPWL(pPageView, point), nFlags);
     return TRUE;
@@ -205,7 +205,7 @@
 FX_BOOL CFFL_FormFiller::OnRButtonUp(CPDFSDK_PageView* pPageView,
                                      CPDFSDK_Annot* pAnnot,
                                      FX_UINT nFlags,
-                                     const CPDF_Point& point) {
+                                     const CFX_FloatPoint& point) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
     pWnd->OnRButtonUp(WndtoPWL(pPageView, point), nFlags);
     return TRUE;
@@ -420,7 +420,7 @@
 CFX_Matrix CFFL_FormFiller::GetCurMatrix() {
   CFX_Matrix mt;
 
-  CPDF_Rect rcDA;
+  CFX_FloatRect rcDA;
   m_pWidget->GetPDFAnnot()->GetRect(rcDA);
 
   switch (m_pWidget->GetRotate()) {
@@ -451,16 +451,16 @@
   return L"";
 }
 
-CPDF_Rect CFFL_FormFiller::GetPDFWindowRect() const {
-  CPDF_Rect rectAnnot;
+CFX_FloatRect CFFL_FormFiller::GetPDFWindowRect() const {
+  CFX_FloatRect rectAnnot;
   m_pWidget->GetPDFAnnot()->GetRect(rectAnnot);
 
   FX_FLOAT fWidth = rectAnnot.right - rectAnnot.left;
   FX_FLOAT fHeight = rectAnnot.top - rectAnnot.bottom;
   if ((m_pWidget->GetRotate() / 90) & 0x01)
-    return CPDF_Rect(0, 0, fHeight, fWidth);
+    return CFX_FloatRect(0, 0, fHeight, fWidth);
 
-  return CPDF_Rect(0, 0, fWidth, fHeight);
+  return CFX_FloatRect(0, 0, fWidth, fHeight);
 }
 
 CPDFSDK_PageView* CFFL_FormFiller::GetCurPageView() {
@@ -469,61 +469,61 @@
   return pSDKDoc ? pSDKDoc->GetPageView(pPage) : nullptr;
 }
 
-CPDF_Rect CFFL_FormFiller::GetFocusBox(CPDFSDK_PageView* pPageView) {
+CFX_FloatRect CFFL_FormFiller::GetFocusBox(CPDFSDK_PageView* pPageView) {
   if (CPWL_Wnd* pWnd = GetPDFWindow(pPageView, FALSE)) {
-    CPDF_Rect rcFocus = FFLtoWnd(pPageView, PWLtoFFL(pWnd->GetFocusRect()));
-    CPDF_Rect rcPage = pPageView->GetPDFPage()->GetPageBBox();
+    CFX_FloatRect rcFocus = FFLtoWnd(pPageView, PWLtoFFL(pWnd->GetFocusRect()));
+    CFX_FloatRect rcPage = pPageView->GetPDFPage()->GetPageBBox();
     if (rcPage.Contains(rcFocus))
       return rcFocus;
   }
-  return CPDF_Rect(0, 0, 0, 0);
+  return CFX_FloatRect(0, 0, 0, 0);
 }
 
-CPDF_Rect CFFL_FormFiller::FFLtoPWL(const CPDF_Rect& rect) {
+CFX_FloatRect CFFL_FormFiller::FFLtoPWL(const CFX_FloatRect& rect) {
   CFX_Matrix mt;
   mt.SetReverse(GetCurMatrix());
 
-  CPDF_Rect temp = rect;
+  CFX_FloatRect temp = rect;
   mt.TransformRect(temp);
 
   return temp;
 }
 
-CPDF_Rect CFFL_FormFiller::PWLtoFFL(const CPDF_Rect& rect) {
+CFX_FloatRect CFFL_FormFiller::PWLtoFFL(const CFX_FloatRect& rect) {
   CFX_Matrix mt = GetCurMatrix();
 
-  CPDF_Rect temp = rect;
+  CFX_FloatRect temp = rect;
   mt.TransformRect(temp);
 
   return temp;
 }
 
-CPDF_Point CFFL_FormFiller::FFLtoPWL(const CPDF_Point& point) {
+CFX_FloatPoint CFFL_FormFiller::FFLtoPWL(const CFX_FloatPoint& point) {
   CFX_Matrix mt;
   mt.SetReverse(GetCurMatrix());
 
-  CPDF_Point pt = point;
+  CFX_FloatPoint pt = point;
   mt.Transform(pt.x, pt.y);
 
   return pt;
 }
 
-CPDF_Point CFFL_FormFiller::PWLtoFFL(const CPDF_Point& point) {
+CFX_FloatPoint CFFL_FormFiller::PWLtoFFL(const CFX_FloatPoint& point) {
   CFX_Matrix mt = GetCurMatrix();
 
-  CPDF_Point pt = point;
+  CFX_FloatPoint pt = point;
   mt.Transform(pt.x, pt.y);
 
   return pt;
 }
 
-CPDF_Point CFFL_FormFiller::WndtoPWL(CPDFSDK_PageView* pPageView,
-                                     const CPDF_Point& pt) {
+CFX_FloatPoint CFFL_FormFiller::WndtoPWL(CPDFSDK_PageView* pPageView,
+                                         const CFX_FloatPoint& pt) {
   return FFLtoPWL(pt);
 }
 
-CPDF_Rect CFFL_FormFiller::FFLtoWnd(CPDFSDK_PageView* pPageView,
-                                    const CPDF_Rect& rect) {
+CFX_FloatRect CFFL_FormFiller::FFLtoWnd(CPDFSDK_PageView* pPageView,
+                                        const CFX_FloatRect& rect) {
   return rect;
 }
 
@@ -650,8 +650,8 @@
 FX_BOOL CFFL_Button::OnLButtonDown(CPDFSDK_PageView* pPageView,
                                    CPDFSDK_Annot* pAnnot,
                                    FX_UINT nFlags,
-                                   const CPDF_Point& point) {
-  CPDF_Rect rcAnnot = pAnnot->GetRect();
+                                   const CFX_FloatPoint& point) {
+  CFX_FloatRect rcAnnot = pAnnot->GetRect();
   if (!rcAnnot.Contains(point.x, point.y))
     return FALSE;
 
@@ -665,8 +665,8 @@
 FX_BOOL CFFL_Button::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                  CPDFSDK_Annot* pAnnot,
                                  FX_UINT nFlags,
-                                 const CPDF_Point& point) {
-  CPDF_Rect rcAnnot = pAnnot->GetRect();
+                                 const CFX_FloatPoint& point) {
+  CFX_FloatRect rcAnnot = pAnnot->GetRect();
   if (!rcAnnot.Contains(point.x, point.y))
     return FALSE;
 
@@ -681,7 +681,7 @@
 FX_BOOL CFFL_Button::OnMouseMove(CPDFSDK_PageView* pPageView,
                                  CPDFSDK_Annot* pAnnot,
                                  FX_UINT nFlags,
-                                 const CPDF_Point& point) {
+                                 const CFX_FloatPoint& point) {
   ASSERT(m_pApp);
 
   return TRUE;
diff --git a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
index a5100f6..21a4bb6 100644
--- a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
@@ -29,8 +29,8 @@
 
 FX_BOOL CFFL_IFormFiller::Annot_HitTest(CPDFSDK_PageView* pPageView,
                                         CPDFSDK_Annot* pAnnot,
-                                        CPDF_Point point) {
-  CPDF_Rect rc = pAnnot->GetRect();
+                                        CFX_FloatPoint point) {
+  CFX_FloatRect rc = pAnnot->GetRect();
   if (rc.Contains(point.x, point.y))
     return TRUE;
   return FALSE;
@@ -44,10 +44,10 @@
   ASSERT(pPageView);
 
   CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot();
-  CPDF_Rect rcAnnot;
+  CFX_FloatRect rcAnnot;
   pPDFAnnot->GetRect(rcAnnot);
 
-  CPDF_Rect rcWin = CPWL_Utils::InflateRect(rcAnnot, 1);
+  CFX_FloatRect rcWin = CPWL_Utils::InflateRect(rcAnnot, 1);
   return rcWin.GetOutterRect();
 }
 
@@ -67,7 +67,7 @@
 
         CPDFSDK_Document* pDocument = m_pApp->GetSDKDocument();
         if (pDocument->GetFocusAnnot() == pAnnot) {
-          CPDF_Rect rcFocus = pFormFiller->GetFocusBox(pPageView);
+          CFX_FloatRect rcFocus = pFormFiller->GetFocusBox(pPageView);
           if (!rcFocus.IsEmpty()) {
             CFX_PathData path;
             path.SetPointCount(5);
@@ -196,7 +196,7 @@
 FX_BOOL CFFL_IFormFiller::OnLButtonDown(CPDFSDK_PageView* pPageView,
                                         CPDFSDK_Annot* pAnnot,
                                         FX_UINT nFlags,
-                                        const CPDF_Point& point) {
+                                        const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
 
   if (!m_bNotifying) {
@@ -238,7 +238,7 @@
 FX_BOOL CFFL_IFormFiller::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                       CPDFSDK_Annot* pAnnot,
                                       FX_UINT nFlags,
-                                      const CPDF_Point& point) {
+                                      const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
   CPDFSDK_Widget* pWidget = (CPDFSDK_Widget*)pAnnot;
   CPDFSDK_Document* pDocument = m_pApp->GetSDKDocument();
@@ -318,7 +318,7 @@
 FX_BOOL CFFL_IFormFiller::OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                           CPDFSDK_Annot* pAnnot,
                                           FX_UINT nFlags,
-                                          const CPDF_Point& point) {
+                                          const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
 
   if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) {
@@ -331,7 +331,7 @@
 FX_BOOL CFFL_IFormFiller::OnMouseMove(CPDFSDK_PageView* pPageView,
                                       CPDFSDK_Annot* pAnnot,
                                       FX_UINT nFlags,
-                                      const CPDF_Point& point) {
+                                      const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
 
   // change cursor
@@ -346,7 +346,7 @@
                                        CPDFSDK_Annot* pAnnot,
                                        FX_UINT nFlags,
                                        short zDelta,
-                                       const CPDF_Point& point) {
+                                       const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
 
   if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) {
@@ -359,7 +359,7 @@
 FX_BOOL CFFL_IFormFiller::OnRButtonDown(CPDFSDK_PageView* pPageView,
                                         CPDFSDK_Annot* pAnnot,
                                         FX_UINT nFlags,
-                                        const CPDF_Point& point) {
+                                        const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
 
   if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) {
@@ -372,7 +372,7 @@
 FX_BOOL CFFL_IFormFiller::OnRButtonUp(CPDFSDK_PageView* pPageView,
                                       CPDFSDK_Annot* pAnnot,
                                       FX_UINT nFlags,
-                                      const CPDF_Point& point) {
+                                      const CFX_FloatPoint& point) {
   ASSERT(pAnnot->GetPDFAnnot()->GetSubType() == "Widget");
 
   if (CFFL_FormFiller* pFormFiller = GetFormFiller(pAnnot, FALSE)) {
@@ -570,12 +570,12 @@
                                        FX_FLOAT& fPopupRet) {
   CFFL_PrivateData* pData = (CFFL_PrivateData*)pPrivateData;
 
-  CPDF_Rect rcPageView(0, 0, 0, 0);
+  CFX_FloatRect rcPageView(0, 0, 0, 0);
   rcPageView.right = pData->pWidget->GetPDFPage()->GetPageWidth();
   rcPageView.bottom = pData->pWidget->GetPDFPage()->GetPageHeight();
   rcPageView.Normalize();
 
-  CPDF_Rect rcAnnot = pData->pWidget->GetRect();
+  CFX_FloatRect rcAnnot = pData->pWidget->GetRect();
 
   FX_FLOAT fTop = 0.0f;
   FX_FLOAT fBottom = 0.0f;
diff --git a/fpdfsdk/src/formfiller/FFL_RadioButton.cpp b/fpdfsdk/src/formfiller/FFL_RadioButton.cpp
index 2a742c0..845df11 100644
--- a/fpdfsdk/src/formfiller/FFL_RadioButton.cpp
+++ b/fpdfsdk/src/formfiller/FFL_RadioButton.cpp
@@ -74,7 +74,7 @@
 FX_BOOL CFFL_RadioButton::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                       CPDFSDK_Annot* pAnnot,
                                       FX_UINT nFlags,
-                                      const CPDF_Point& point) {
+                                      const CFX_FloatPoint& point) {
   CFFL_Button::OnLButtonUp(pPageView, pAnnot, nFlags, point);
 
   if (IsValid()) {
diff --git a/fpdfsdk/src/formfiller/FFL_TextField.cpp b/fpdfsdk/src/formfiller/FFL_TextField.cpp
index ca4e07b..42f2aad 100644
--- a/fpdfsdk/src/formfiller/FFL_TextField.cpp
+++ b/fpdfsdk/src/formfiller/FFL_TextField.cpp
@@ -112,7 +112,7 @@
         CPDFSDK_PageView* pPageView = GetCurPageView();
         ASSERT(pPageView);
         m_bValid = !m_bValid;
-        CPDF_Rect rcAnnot = pAnnot->GetRect();
+        CFX_FloatRect rcAnnot = pAnnot->GetRect();
         m_pApp->FFI_Invalidate(pAnnot->GetUnderlyingPage(), rcAnnot.left,
                                rcAnnot.top, rcAnnot.right, rcAnnot.bottom);
 
diff --git a/fpdfsdk/src/fpdf_flatten.cpp b/fpdfsdk/src/fpdf_flatten.cpp
index 9aee35f..759f758 100644
--- a/fpdfsdk/src/fpdf_flatten.cpp
+++ b/fpdfsdk/src/fpdf_flatten.cpp
@@ -11,12 +11,12 @@
 #include "fpdfsdk/include/fsdk_define.h"
 
 typedef CFX_ArrayTemplate<CPDF_Dictionary*> CPDF_ObjectArray;
-typedef CFX_ArrayTemplate<CPDF_Rect> CPDF_RectArray;
+typedef CFX_ArrayTemplate<CFX_FloatRect> CPDF_RectArray;
 
 enum FPDF_TYPE { MAX, MIN };
 enum FPDF_VALUE { TOP, LEFT, RIGHT, BOTTOM };
 
-FX_BOOL IsValiableRect(CPDF_Rect rect, CPDF_Rect rcPage) {
+FX_BOOL IsValiableRect(CFX_FloatRect rect, CFX_FloatRect rcPage) {
   if (rect.left - rect.right > 0.000001f || rect.bottom - rect.top > 0.000001f)
     return FALSE;
 
@@ -46,7 +46,7 @@
     if (!pPageObject)
       continue;
 
-    CPDF_Rect rc;
+    CFX_FloatRect rc;
     rc.left = pPageObject->m_Left;
     rc.right = pPageObject->m_Right;
     rc.bottom = pPageObject->m_Bottom;
@@ -62,7 +62,7 @@
                   CPDF_ObjectArray* pObjectArray) {
   if (!pStream)
     return;
-  CPDF_Rect rect;
+  CFX_FloatRect rect;
   if (pStream->KeyExist("Rect"))
     rect = pStream->GetRectBy("Rect");
   else if (pStream->KeyExist("BBox"))
@@ -127,25 +127,25 @@
   switch (value) {
     case LEFT: {
       for (int i = 0; i < nRects; i++)
-        pArray[i] = CPDF_Rect(array.GetAt(i)).left;
+        pArray[i] = CFX_FloatRect(array.GetAt(i)).left;
 
       break;
     }
     case TOP: {
       for (int i = 0; i < nRects; i++)
-        pArray[i] = CPDF_Rect(array.GetAt(i)).top;
+        pArray[i] = CFX_FloatRect(array.GetAt(i)).top;
 
       break;
     }
     case RIGHT: {
       for (int i = 0; i < nRects; i++)
-        pArray[i] = CPDF_Rect(array.GetAt(i)).right;
+        pArray[i] = CFX_FloatRect(array.GetAt(i)).right;
 
       break;
     }
     case BOTTOM: {
       for (int i = 0; i < nRects; i++)
-        pArray[i] = CPDF_Rect(array.GetAt(i)).bottom;
+        pArray[i] = CFX_FloatRect(array.GetAt(i)).bottom;
 
       break;
     }
@@ -166,8 +166,8 @@
   return fRet;
 }
 
-CPDF_Rect CalculateRect(CPDF_RectArray* pRectArray) {
-  CPDF_Rect rcRet;
+CFX_FloatRect CalculateRect(CPDF_RectArray* pRectArray) {
+  CFX_FloatRect rcRet;
 
   rcRet.left = GetMinMaxValue(*pRectArray, MIN, LEFT);
   rcRet.top = GetMinMaxValue(*pRectArray, MAX, TOP);
@@ -245,8 +245,8 @@
   }
 }
 
-CFX_Matrix GetMatrix(CPDF_Rect rcAnnot,
-                     CPDF_Rect rcStream,
+CFX_Matrix GetMatrix(CFX_FloatRect rcAnnot,
+                     CFX_FloatRect rcStream,
                      const CFX_Matrix& matrix) {
   if (rcStream.IsEmpty())
     return CFX_Matrix();
@@ -266,8 +266,8 @@
                FX_FLOAT& fd,
                FX_FLOAT& fe,
                FX_FLOAT& ff,
-               CPDF_Rect rcAnnot,
-               CPDF_Rect rcStream,
+               CFX_FloatRect rcAnnot,
+               CFX_FloatRect rcStream,
                const CFX_Matrix& matrix) {
   FX_FLOAT fStreamWidth = 0.0f;
   FX_FLOAT fStreamHeight = 0.0f;
@@ -323,15 +323,15 @@
   if (iRet == FLATTEN_NOTHINGTODO || iRet == FLATTEN_FAIL)
     return iRet;
 
-  CPDF_Rect rcOriginalCB;
-  CPDF_Rect rcMerger = CalculateRect(&RectArray);
-  CPDF_Rect rcOriginalMB = pPageDict->GetRectBy("MediaBox");
+  CFX_FloatRect rcOriginalCB;
+  CFX_FloatRect rcMerger = CalculateRect(&RectArray);
+  CFX_FloatRect rcOriginalMB = pPageDict->GetRectBy("MediaBox");
 
   if (pPageDict->KeyExist("CropBox"))
     rcOriginalMB = pPageDict->GetRectBy("CropBox");
 
   if (rcOriginalMB.IsEmpty()) {
-    rcOriginalMB = CPDF_Rect(0.0f, 0.0f, 612.0f, 792.0f);
+    rcOriginalMB = CFX_FloatRect(0.0f, 0.0f, 612.0f, 792.0f);
   }
 
   rcMerger.left =
@@ -407,7 +407,7 @@
     pNewOXbjectDic->SetAtName("Subtype", "Form");
     pNewOXbjectDic->SetAtInteger("FormType", 1);
     pNewOXbjectDic->SetAtName("Name", "FRM");
-    CPDF_Rect rcBBox = pPageDict->GetRectBy("ArtBox");
+    CFX_FloatRect rcBBox = pPageDict->GetRectBy("ArtBox");
     pNewOXbjectDic->SetAtRect("BBox", rcBBox);
   }
 
@@ -416,7 +416,7 @@
     if (!pAnnotDic)
       continue;
 
-    CPDF_Rect rcAnnot = pAnnotDic->GetRectBy("Rect");
+    CFX_FloatRect rcAnnot = pAnnotDic->GetRectBy("Rect");
     rcAnnot.Normalize();
 
     CFX_ByteString sAnnotState = pAnnotDic->GetStringBy("AS");
@@ -452,7 +452,7 @@
     CPDF_Dictionary* pAPDic = pAPStream->GetDict();
     CFX_Matrix matrix = pAPDic->GetMatrixBy("Matrix");
 
-    CPDF_Rect rcStream;
+    CFX_FloatRect rcStream;
     if (pAPDic->KeyExist("Rect"))
       rcStream = pAPDic->GetRectBy("Rect");
     else if (pAPDic->KeyExist("BBox"))
diff --git a/fpdfsdk/src/fpdfdoc.cpp b/fpdfsdk/src/fpdfdoc.cpp
index 4a4e1de..c88dccd 100644
--- a/fpdfsdk/src/fpdfdoc.cpp
+++ b/fpdfsdk/src/fpdfdoc.cpp
@@ -288,7 +288,7 @@
     return FALSE;
   CPDF_Dictionary* pAnnotDict =
       ToDictionary(static_cast<CPDF_Object*>(linkAnnot));
-  CPDF_Rect rt = pAnnotDict->GetRectBy("Rect");
+  CFX_FloatRect rt = pAnnotDict->GetRectBy("Rect");
   rect->left = rt.left;
   rect->bottom = rt.bottom;
   rect->right = rt.right;
diff --git a/fpdfsdk/src/fpdfeditpage.cpp b/fpdfsdk/src/fpdfeditpage.cpp
index b833a61..46026b5 100644
--- a/fpdfsdk/src/fpdfeditpage.cpp
+++ b/fpdfsdk/src/fpdfeditpage.cpp
@@ -277,7 +277,7 @@
   for (size_t i = 0; i < AnnotList.Count(); ++i) {
     CPDF_Annot* pAnnot = AnnotList.GetAt(i);
     // transformAnnots Rectangle
-    CPDF_Rect rect;
+    CFX_FloatRect rect;
     pAnnot->GetRect(rect);
     CFX_Matrix matrix((FX_FLOAT)a, (FX_FLOAT)b, (FX_FLOAT)c, (FX_FLOAT)d,
                       (FX_FLOAT)e, (FX_FLOAT)f);
diff --git a/fpdfsdk/src/fpdfformfill.cpp b/fpdfsdk/src/fpdfformfill.cpp
index c1f332b..a14c66f 100644
--- a/fpdfsdk/src/fpdfformfill.cpp
+++ b/fpdfsdk/src/fpdfformfill.cpp
@@ -187,7 +187,7 @@
   if (!pPageView)
     return FALSE;
 
-  CPDF_Point pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
+  CFX_FloatPoint pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
   return pPageView->OnMouseMove(pt, modifier);
 }
 
@@ -200,7 +200,7 @@
   if (!pPageView)
     return FALSE;
 
-  CPDF_Point pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
+  CFX_FloatPoint pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
   return pPageView->OnLButtonDown(pt, modifier);
 }
 
@@ -213,7 +213,7 @@
   if (!pPageView)
     return FALSE;
 
-  CPDF_Point pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
+  CFX_FloatPoint pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
   return pPageView->OnLButtonUp(pt, modifier);
 }
 
@@ -227,7 +227,7 @@
   if (!pPageView)
     return FALSE;
 
-  CPDF_Point pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
+  CFX_FloatPoint pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
   return pPageView->OnRButtonDown(pt, modifier);
 }
 
@@ -240,7 +240,7 @@
   if (!pPageView)
     return FALSE;
 
-  CPDF_Point pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
+  CFX_FloatPoint pt((FX_FLOAT)page_x, (FX_FLOAT)page_y);
   return pPageView->OnRButtonUp(pt, modifier);
 }
 #endif  // PDF_ENABLE_XFA
diff --git a/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp b/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp
index 2baef4c..f9bf170 100644
--- a/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp
+++ b/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp
@@ -192,7 +192,7 @@
 }
 
 void CPDFXFA_Document::FXRect2PDFRect(const CFX_RectF& fxRectF,
-                                      CPDF_Rect& pdfRect) {
+                                      CFX_FloatRect& pdfRect) {
   pdfRect.left = fxRectF.left;
   pdfRect.top = fxRectF.bottom();
   pdfRect.right = fxRectF.right();
@@ -220,7 +220,7 @@
   if (m_iDocType != DOCTYPE_DYNAMIC_XFA)
     return;
 
-  CPDF_Rect rcPage;
+  CFX_FloatRect rcPage;
   FXRect2PDFRect(rt, rcPage);
 
   CPDFXFA_Page* pPage = GetPage(pPageView);
@@ -285,7 +285,7 @@
   if (pPage == NULL)
     return;
 
-  CPDF_Rect rcCaret;
+  CFX_FloatRect rcCaret;
   FXRect2PDFRect(*pRtAnchor, rcCaret);
 
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
@@ -327,7 +327,7 @@
   FS_RECTF pageViewRect;
   pEnv->FFI_GetPageViewRect(pPage, pageViewRect);
 
-  CPDF_Rect rcAnchor;
+  CFX_FloatRect rcAnchor;
 
   rcAnchor.left = rtAnchor.left;
   rcAnchor.top = rtAnchor.bottom();
diff --git a/fpdfsdk/src/fsdk_annothandler.cpp b/fpdfsdk/src/fsdk_annothandler.cpp
index 661eaef..28b8114 100644
--- a/fpdfsdk/src/fsdk_annothandler.cpp
+++ b/fpdfsdk/src/fsdk_annothandler.cpp
@@ -156,7 +156,7 @@
     CPDFSDK_PageView* pPageView,
     CPDFSDK_Annot* pAnnot,
     FX_DWORD nFlags,
-    const CPDF_Point& point) {
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -164,10 +164,11 @@
   }
   return FALSE;
 }
-FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnLButtonUp(CPDFSDK_PageView* pPageView,
-                                                   CPDFSDK_Annot* pAnnot,
-                                                   FX_DWORD nFlags,
-                                                   const CPDF_Point& point) {
+FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnLButtonUp(
+    CPDFSDK_PageView* pPageView,
+    CPDFSDK_Annot* pAnnot,
+    FX_DWORD nFlags,
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -179,7 +180,7 @@
     CPDFSDK_PageView* pPageView,
     CPDFSDK_Annot* pAnnot,
     FX_DWORD nFlags,
-    const CPDF_Point& point) {
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -187,10 +188,11 @@
   }
   return FALSE;
 }
-FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnMouseMove(CPDFSDK_PageView* pPageView,
-                                                   CPDFSDK_Annot* pAnnot,
-                                                   FX_DWORD nFlags,
-                                                   const CPDF_Point& point) {
+FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnMouseMove(
+    CPDFSDK_PageView* pPageView,
+    CPDFSDK_Annot* pAnnot,
+    FX_DWORD nFlags,
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -198,11 +200,12 @@
   }
   return FALSE;
 }
-FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnMouseWheel(CPDFSDK_PageView* pPageView,
-                                                    CPDFSDK_Annot* pAnnot,
-                                                    FX_DWORD nFlags,
-                                                    short zDelta,
-                                                    const CPDF_Point& point) {
+FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnMouseWheel(
+    CPDFSDK_PageView* pPageView,
+    CPDFSDK_Annot* pAnnot,
+    FX_DWORD nFlags,
+    short zDelta,
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -215,7 +218,7 @@
     CPDFSDK_PageView* pPageView,
     CPDFSDK_Annot* pAnnot,
     FX_DWORD nFlags,
-    const CPDF_Point& point) {
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -223,10 +226,11 @@
   }
   return FALSE;
 }
-FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnRButtonUp(CPDFSDK_PageView* pPageView,
-                                                   CPDFSDK_Annot* pAnnot,
-                                                   FX_DWORD nFlags,
-                                                   const CPDF_Point& point) {
+FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnRButtonUp(
+    CPDFSDK_PageView* pPageView,
+    CPDFSDK_Annot* pAnnot,
+    FX_DWORD nFlags,
+    const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
 
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
@@ -331,7 +335,7 @@
 }
 #endif  // PDF_ENABLE_XFA
 
-CPDF_Rect CPDFSDK_AnnotHandlerMgr::Annot_OnGetViewBBox(
+CFX_FloatRect CPDFSDK_AnnotHandlerMgr::Annot_OnGetViewBBox(
     CPDFSDK_PageView* pPageView,
     CPDFSDK_Annot* pAnnot) {
   ASSERT(pAnnot);
@@ -343,7 +347,7 @@
 
 FX_BOOL CPDFSDK_AnnotHandlerMgr::Annot_OnHitTest(CPDFSDK_PageView* pPageView,
                                                  CPDFSDK_Annot* pAnnot,
-                                                 const CPDF_Point& point) {
+                                                 const CFX_FloatPoint& point) {
   ASSERT(pAnnot);
   if (IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot)) {
     if (pAnnotHandler->CanAnswer(pAnnot))
@@ -493,7 +497,7 @@
 FX_BOOL CPDFSDK_BFAnnotHandler::OnLButtonDown(CPDFSDK_PageView* pPageView,
                                               CPDFSDK_Annot* pAnnot,
                                               FX_DWORD nFlags,
-                                              const CPDF_Point& point) {
+                                              const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -508,7 +512,7 @@
 FX_BOOL CPDFSDK_BFAnnotHandler::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                             CPDFSDK_Annot* pAnnot,
                                             FX_DWORD nFlags,
-                                            const CPDF_Point& point) {
+                                            const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -523,7 +527,7 @@
 FX_BOOL CPDFSDK_BFAnnotHandler::OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                                 CPDFSDK_Annot* pAnnot,
                                                 FX_DWORD nFlags,
-                                                const CPDF_Point& point) {
+                                                const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -538,7 +542,7 @@
 FX_BOOL CPDFSDK_BFAnnotHandler::OnMouseMove(CPDFSDK_PageView* pPageView,
                                             CPDFSDK_Annot* pAnnot,
                                             FX_DWORD nFlags,
-                                            const CPDF_Point& point) {
+                                            const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -554,7 +558,7 @@
                                              CPDFSDK_Annot* pAnnot,
                                              FX_DWORD nFlags,
                                              short zDelta,
-                                             const CPDF_Point& point) {
+                                             const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -570,7 +574,7 @@
 FX_BOOL CPDFSDK_BFAnnotHandler::OnRButtonDown(CPDFSDK_PageView* pPageView,
                                               CPDFSDK_Annot* pAnnot,
                                               FX_DWORD nFlags,
-                                              const CPDF_Point& point) {
+                                              const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -584,7 +588,7 @@
 FX_BOOL CPDFSDK_BFAnnotHandler::OnRButtonUp(CPDFSDK_PageView* pPageView,
                                             CPDFSDK_Annot* pAnnot,
                                             FX_DWORD nFlags,
-                                            const CPDF_Point& point) {
+                                            const CFX_FloatPoint& point) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -694,8 +698,8 @@
   return TRUE;
 }
 
-CPDF_Rect CPDFSDK_BFAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView,
-                                              CPDFSDK_Annot* pAnnot) {
+CFX_FloatRect CPDFSDK_BFAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView,
+                                                  CPDFSDK_Annot* pAnnot) {
   CFX_ByteString sSubType = pAnnot->GetSubType();
 
   if (sSubType == BFFT_SIGNATURE) {
@@ -704,16 +708,16 @@
       return m_pFormFiller->GetViewBBox(pPageView, pAnnot);
   }
 
-  return CPDF_Rect(0, 0, 0, 0);
+  return CFX_FloatRect(0, 0, 0, 0);
 }
 
 FX_BOOL CPDFSDK_BFAnnotHandler::HitTest(CPDFSDK_PageView* pPageView,
                                         CPDFSDK_Annot* pAnnot,
-                                        const CPDF_Point& point) {
+                                        const CFX_FloatPoint& point) {
   ASSERT(pPageView);
   ASSERT(pAnnot);
 
-  CPDF_Rect rect = GetViewBBox(pPageView, pAnnot);
+  CFX_FloatRect rect = GetViewBBox(pPageView, pAnnot);
   return rect.Contains(point.x, point.y);
 }
 
@@ -777,8 +781,8 @@
   delete pWidget;
 }
 
-CPDF_Rect CPDFSDK_XFAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView,
-                                               CPDFSDK_Annot* pAnnot) {
+CFX_FloatRect CPDFSDK_XFAAnnotHandler::GetViewBBox(CPDFSDK_PageView* pPageView,
+                                                   CPDFSDK_Annot* pAnnot) {
   ASSERT(pAnnot);
 
   IXFA_WidgetHandler* pWidgetHandler = GetXFAWidgetHandler(pAnnot);
@@ -803,7 +807,7 @@
 
 FX_BOOL CPDFSDK_XFAAnnotHandler::HitTest(CPDFSDK_PageView* pPageView,
                                          CPDFSDK_Annot* pAnnot,
-                                         const CPDF_Point& point) {
+                                         const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -850,7 +854,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnLButtonDown(CPDFSDK_PageView* pPageView,
                                                CPDFSDK_Annot* pAnnot,
                                                FX_DWORD nFlags,
-                                               const CPDF_Point& point) {
+                                               const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -862,7 +866,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnLButtonUp(CPDFSDK_PageView* pPageView,
                                              CPDFSDK_Annot* pAnnot,
                                              FX_DWORD nFlags,
-                                             const CPDF_Point& point) {
+                                             const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -874,7 +878,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnLButtonDblClk(CPDFSDK_PageView* pPageView,
                                                  CPDFSDK_Annot* pAnnot,
                                                  FX_DWORD nFlags,
-                                                 const CPDF_Point& point) {
+                                                 const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -886,7 +890,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnMouseMove(CPDFSDK_PageView* pPageView,
                                              CPDFSDK_Annot* pAnnot,
                                              FX_DWORD nFlags,
-                                             const CPDF_Point& point) {
+                                             const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -899,7 +903,7 @@
                                               CPDFSDK_Annot* pAnnot,
                                               FX_DWORD nFlags,
                                               short zDelta,
-                                              const CPDF_Point& point) {
+                                              const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -911,7 +915,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnRButtonDown(CPDFSDK_PageView* pPageView,
                                                CPDFSDK_Annot* pAnnot,
                                                FX_DWORD nFlags,
-                                               const CPDF_Point& point) {
+                                               const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -923,7 +927,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnRButtonUp(CPDFSDK_PageView* pPageView,
                                              CPDFSDK_Annot* pAnnot,
                                              FX_DWORD nFlags,
-                                             const CPDF_Point& point) {
+                                             const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
@@ -935,7 +939,7 @@
 FX_BOOL CPDFSDK_XFAAnnotHandler::OnRButtonDblClk(CPDFSDK_PageView* pPageView,
                                                  CPDFSDK_Annot* pAnnot,
                                                  FX_DWORD nFlags,
-                                                 const CPDF_Point& point) {
+                                                 const CFX_FloatPoint& point) {
   if (!pPageView || !pAnnot)
     return FALSE;
 
diff --git a/fpdfsdk/src/fsdk_baseannot.cpp b/fpdfsdk/src/fsdk_baseannot.cpp
index 79418d9..705205f 100644
--- a/fpdfsdk/src/fsdk_baseannot.cpp
+++ b/fpdfsdk/src/fsdk_baseannot.cpp
@@ -537,15 +537,15 @@
   return m_pAnnot->GetAnnotDict();
 }
 
-void CPDFSDK_BAAnnot::SetRect(const CPDF_Rect& rect) {
+void CPDFSDK_BAAnnot::SetRect(const CFX_FloatRect& rect) {
   ASSERT(rect.right - rect.left >= GetMinWidth());
   ASSERT(rect.top - rect.bottom >= GetMinHeight());
 
   m_pAnnot->GetAnnotDict()->SetAtRect("Rect", rect);
 }
 
-CPDF_Rect CPDFSDK_BAAnnot::GetRect() const {
-  CPDF_Rect rect;
+CFX_FloatRect CPDFSDK_BAAnnot::GetRect() const {
+  CFX_FloatRect rect;
   m_pAnnot->GetRect(rect);
   return rect;
 }
@@ -835,7 +835,7 @@
 }
 
 void CPDFSDK_BAAnnot::WriteAppearance(const CFX_ByteString& sAPType,
-                                      const CPDF_Rect& rcBBox,
+                                      const CFX_FloatRect& rcBBox,
                                       const CFX_Matrix& matrix,
                                       const CFX_ByteString& sContents,
                                       const CFX_ByteString& sAPState) {
diff --git a/fpdfsdk/src/fsdk_baseform.cpp b/fpdfsdk/src/fsdk_baseform.cpp
index 1bae4dd..0359c0b 100644
--- a/fpdfsdk/src/fsdk_baseform.cpp
+++ b/fpdfsdk/src/fsdk_baseform.cpp
@@ -816,7 +816,7 @@
       !IsWidgetAppearanceValid(CPDF_Annot::Normal)) {
     CFX_PathData pathData;
 
-    CPDF_Rect rcAnnot = GetRect();
+    CFX_FloatRect rcAnnot = GetRect();
 
     pathData.AppendRect(rcAnnot.left, rcAnnot.bottom, rcAnnot.right,
                         rcAnnot.top);
@@ -841,7 +841,7 @@
                                 CPDFSDK_PageView* pPageView) {
   int nFieldType = GetFieldType();
   if (m_pInterForm->IsNeedHighLight(nFieldType)) {
-    CPDF_Rect rc = GetRect();
+    CFX_FloatRect rc = GetRect();
     FX_COLORREF color = m_pInterForm->GetHighlightColor(nFieldType);
     uint8_t alpha = m_pInterForm->GetHighlightAlpha();
 
@@ -868,7 +868,7 @@
 
 void CPDFSDK_Widget::ResetAppearance_PushButton() {
   CPDF_FormControl* pControl = GetFormControl();
-  CPDF_Rect rcWindow = GetRotatedRect();
+  CFX_FloatRect rcWindow = GetRotatedRect();
   int32_t nLayout = 0;
   switch (pControl->GetTextPosition()) {
     case TEXTPOS_ICON:
@@ -937,7 +937,7 @@
       break;
   }
 
-  CPDF_Rect rcClient = CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
+  CFX_FloatRect rcClient = CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
 
   CPWL_Color crText(COLORTYPE_GRAY, 0);
 
@@ -1125,8 +1125,8 @@
       break;
   }
 
-  CPDF_Rect rcWindow = GetRotatedRect();
-  CPDF_Rect rcClient = CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
+  CFX_FloatRect rcWindow = GetRotatedRect();
+  CFX_FloatRect rcClient = CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
 
   CPDF_DefaultAppearance da = pControl->GetDefaultAppearance();
   if (da.HasColor()) {
@@ -1251,8 +1251,8 @@
       break;
   }
 
-  CPDF_Rect rcWindow = GetRotatedRect();
-  CPDF_Rect rcClient = CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
+  CFX_FloatRect rcWindow = GetRotatedRect();
+  CFX_FloatRect rcClient = CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
 
   CPDF_DefaultAppearance da = pControl->GetDefaultAppearance();
   if (da.HasColor()) {
@@ -1290,7 +1290,7 @@
 
   CFX_ByteString csAP_N_ON;
 
-  CPDF_Rect rcCenter =
+  CFX_FloatRect rcCenter =
       CPWL_Utils::DeflateRect(CPWL_Utils::GetCenterSquare(rcWindow), 1.0f);
 
   if (nStyle == PCS_CIRCLE) {
@@ -1375,8 +1375,8 @@
   CPDF_FormField* pField = pControl->GetField();
   CFX_ByteTextBuf sBody, sLines;
 
-  CPDF_Rect rcClient = GetClientRect();
-  CPDF_Rect rcButton = rcClient;
+  CFX_FloatRect rcClient = GetClientRect();
+  CFX_FloatRect rcButton = rcClient;
   rcButton.left = rcButton.right - 13;
   rcButton.Normalize();
 
@@ -1388,7 +1388,7 @@
     CBA_FontMap font_map(this, pEnv->GetSysHandler());
     pEdit->SetFontMap(&font_map);
 
-    CPDF_Rect rcEdit = rcClient;
+    CFX_FloatRect rcEdit = rcClient;
     rcEdit.right = rcButton.left;
     rcEdit.Normalize();
 
@@ -1414,10 +1414,10 @@
         pEdit->SetText(pField->GetOptionLabel(nCurSel).c_str());
     }
 
-    CPDF_Rect rcContent = pEdit->GetContentRect();
+    CFX_FloatRect rcContent = pEdit->GetContentRect();
 
     CFX_ByteString sEdit =
-        CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, 0.0f));
+        CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, 0.0f));
     if (sEdit.GetLength() > 0) {
       sBody << "/Tx BMC\n"
             << "q\n";
@@ -1447,7 +1447,7 @@
 void CPDFSDK_Widget::ResetAppearance_ListBox() {
   CPDF_FormControl* pControl = GetFormControl();
   CPDF_FormField* pField = pControl->GetField();
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
   CFX_ByteTextBuf sBody, sLines;
 
   if (IFX_Edit* pEdit = IFX_Edit::NewEdit()) {
@@ -1459,7 +1459,8 @@
     CBA_FontMap font_map(this, pEnv->GetSysHandler());
     pEdit->SetFontMap(&font_map);
 
-    pEdit->SetPlateRect(CPDF_Rect(rcClient.left, 0.0f, rcClient.right, 0.0f));
+    pEdit->SetPlateRect(
+        CFX_FloatRect(rcClient.left, 0.0f, rcClient.right, 0.0f));
 
     FX_FLOAT fFontSize = GetFontSize();
 
@@ -1488,12 +1489,12 @@
 
       pEdit->SetText(pField->GetOptionLabel(i).c_str());
 
-      CPDF_Rect rcContent = pEdit->GetContentRect();
+      CFX_FloatRect rcContent = pEdit->GetContentRect();
       FX_FLOAT fItemHeight = rcContent.Height();
 
       if (bSelected) {
-        CPDF_Rect rcItem =
-            CPDF_Rect(rcClient.left, fy - fItemHeight, rcClient.right, fy);
+        CFX_FloatRect rcItem =
+            CFX_FloatRect(rcClient.left, fy - fItemHeight, rcClient.right, fy);
         sList << "q\n" << CPWL_Utils::GetColorAppStream(
                               CPWL_Color(COLORTYPE_RGB, 0, 51.0f / 255.0f,
                                          113.0f / 255.0f),
@@ -1504,12 +1505,12 @@
 
         sList << "BT\n" << CPWL_Utils::GetColorAppStream(
                                CPWL_Color(COLORTYPE_GRAY, 1), TRUE)
-              << CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, fy))
+              << CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, fy))
               << "ET\n";
       } else {
         CPWL_Color crText = GetTextPWLColor();
         sList << "BT\n" << CPWL_Utils::GetColorAppStream(crText, TRUE)
-              << CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, fy))
+              << CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, fy))
               << "ET\n";
       }
 
@@ -1546,7 +1547,7 @@
     CBA_FontMap font_map(this, pEnv->GetSysHandler());
     pEdit->SetFontMap(&font_map);
 
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
     pEdit->SetPlateRect(rcClient);
     pEdit->SetAlignmentH(pControl->GetControlAlignment());
 
@@ -1605,10 +1606,10 @@
     else
       pEdit->SetText(pField->GetValue().c_str());
 
-    CPDF_Rect rcContent = pEdit->GetContentRect();
+    CFX_FloatRect rcContent = pEdit->GetContentRect();
 
     CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream(
-        pEdit, CPDF_Point(0.0f, 0.0f), NULL, !bCharArray, subWord);
+        pEdit, CFX_FloatPoint(0.0f, 0.0f), NULL, !bCharArray, subWord);
 
     if (sEdit.GetLength() > 0) {
       sBody << "/Tx BMC\n"
@@ -1680,8 +1681,8 @@
   WriteAppearance("N", GetRotatedRect(), GetMatrix(), sAP);
 }
 
-CPDF_Rect CPDFSDK_Widget::GetClientRect() const {
-  CPDF_Rect rcWindow = GetRotatedRect();
+CFX_FloatRect CPDFSDK_Widget::GetClientRect() const {
+  CFX_FloatRect rcWindow = GetRotatedRect();
   FX_FLOAT fBorderWidth = (FX_FLOAT)GetBorderWidth();
   switch (GetBorderStyle()) {
     case BBS_BEVELED:
@@ -1693,22 +1694,22 @@
   return CPWL_Utils::DeflateRect(rcWindow, fBorderWidth);
 }
 
-CPDF_Rect CPDFSDK_Widget::GetRotatedRect() const {
-  CPDF_Rect rectAnnot = GetRect();
+CFX_FloatRect CPDFSDK_Widget::GetRotatedRect() const {
+  CFX_FloatRect rectAnnot = GetRect();
   FX_FLOAT fWidth = rectAnnot.right - rectAnnot.left;
   FX_FLOAT fHeight = rectAnnot.top - rectAnnot.bottom;
 
   CPDF_FormControl* pControl = GetFormControl();
-  CPDF_Rect rcPDFWindow;
+  CFX_FloatRect rcPDFWindow;
   switch (abs(pControl->GetRotation() % 360)) {
     case 0:
     case 180:
     default:
-      rcPDFWindow = CPDF_Rect(0, 0, fWidth, fHeight);
+      rcPDFWindow = CFX_FloatRect(0, 0, fWidth, fHeight);
       break;
     case 90:
     case 270:
-      rcPDFWindow = CPDF_Rect(0, 0, fHeight, fWidth);
+      rcPDFWindow = CFX_FloatRect(0, 0, fHeight, fWidth);
       break;
   }
 
@@ -1724,7 +1725,7 @@
 }
 
 CFX_ByteString CPDFSDK_Widget::GetBorderAppStream() const {
-  CPDF_Rect rcWindow = GetRotatedRect();
+  CFX_FloatRect rcWindow = GetRotatedRect();
   CPWL_Color crBorder = GetBorderPWLColor();
   CPWL_Color crBackground = GetFillPWLColor();
   CPWL_Color crLeftTop, crRightBottom;
@@ -1766,7 +1767,7 @@
 CFX_Matrix CPDFSDK_Widget::GetMatrix() const {
   CFX_Matrix mt;
   CPDF_FormControl* pControl = GetFormControl();
-  CPDF_Rect rcAnnot = GetRect();
+  CFX_FloatRect rcAnnot = GetRect();
   FX_FLOAT fWidth = rcAnnot.right - rcAnnot.left;
   FX_FLOAT fHeight = rcAnnot.top - rcAnnot.bottom;
 
@@ -2785,7 +2786,7 @@
         int nLeftTopIndex = -1;
         FX_FLOAT fTop = 0.0f;
         for (int i = sa.size() - 1; i >= 0; i--) {
-          CPDF_Rect rcAnnot = GetAnnotRect(sa[i]);
+          CFX_FloatRect rcAnnot = GetAnnotRect(sa[i]);
           if (rcAnnot.top > fTop) {
             nLeftTopIndex = i;
             fTop = rcAnnot.top;
@@ -2793,13 +2794,13 @@
         }
         if (nLeftTopIndex >= 0) {
           CPDFSDK_Annot* pLeftTopAnnot = sa[nLeftTopIndex];
-          CPDF_Rect rcLeftTop = GetAnnotRect(pLeftTopAnnot);
+          CFX_FloatRect rcLeftTop = GetAnnotRect(pLeftTopAnnot);
           m_Annots.push_back(pLeftTopAnnot);
           sa.erase(sa.begin() + nLeftTopIndex);
 
           std::vector<int> aSelect;
           for (int i = 0; i < sa.size(); ++i) {
-            CPDF_Rect rcAnnot = GetAnnotRect(sa[i]);
+            CFX_FloatRect rcAnnot = GetAnnotRect(sa[i]);
             FX_FLOAT fCenterY = (rcAnnot.top + rcAnnot.bottom) / 2.0f;
             if (fCenterY > rcLeftTop.bottom && fCenterY < rcLeftTop.top)
               aSelect.push_back(i);
@@ -2825,7 +2826,7 @@
         int nLeftTopIndex = -1;
         FX_FLOAT fLeft = -1.0f;
         for (int i = sa.size() - 1; i >= 0; --i) {
-          CPDF_Rect rcAnnot = GetAnnotRect(sa[i]);
+          CFX_FloatRect rcAnnot = GetAnnotRect(sa[i]);
           if (fLeft < 0) {
             nLeftTopIndex = 0;
             fLeft = rcAnnot.left;
@@ -2837,13 +2838,13 @@
 
         if (nLeftTopIndex >= 0) {
           CPDFSDK_Annot* pLeftTopAnnot = sa[nLeftTopIndex];
-          CPDF_Rect rcLeftTop = GetAnnotRect(pLeftTopAnnot);
+          CFX_FloatRect rcLeftTop = GetAnnotRect(pLeftTopAnnot);
           m_Annots.push_back(pLeftTopAnnot);
           sa.erase(sa.begin() + nLeftTopIndex);
 
           std::vector<int> aSelect;
           for (int i = 0; i < sa.size(); ++i) {
-            CPDF_Rect rcAnnot = GetAnnotRect(sa[i]);
+            CFX_FloatRect rcAnnot = GetAnnotRect(sa[i]);
             FX_FLOAT fCenterX = (rcAnnot.left + rcAnnot.right) / 2.0f;
             if (fCenterX > rcLeftTop.left && fCenterX < rcLeftTop.right)
               aSelect.push_back(i);
@@ -2860,8 +2861,8 @@
   }
 }
 
-CPDF_Rect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) {
-  CPDF_Rect rcAnnot;
+CFX_FloatRect CBA_AnnotIterator::GetAnnotRect(const CPDFSDK_Annot* pAnnot) {
+  CFX_FloatRect rcAnnot;
   pAnnot->GetPDFAnnot()->GetRect(rcAnnot);
   return rcAnnot;
 }
diff --git a/fpdfsdk/src/fsdk_baseform_embeddertest.cpp b/fpdfsdk/src/fsdk_baseform_embeddertest.cpp
index 109b22f..4fd3bb7 100644
--- a/fpdfsdk/src/fsdk_baseform_embeddertest.cpp
+++ b/fpdfsdk/src/fsdk_baseform_embeddertest.cpp
@@ -13,7 +13,7 @@
 
 namespace {
 
-void CheckRect(const CPDF_Rect& actual, const CPDF_Rect& expected) {
+void CheckRect(const CFX_FloatRect& actual, const CFX_FloatRect& expected) {
   EXPECT_EQ(expected.left, actual.left);
   EXPECT_EQ(expected.bottom, actual.bottom);
   EXPECT_EQ(expected.right, actual.right);
@@ -30,10 +30,10 @@
   EXPECT_TRUE(LoadPage(1));
   EXPECT_TRUE(LoadPage(2));
 
-  CPDF_Rect LeftBottom(200, 200, 220, 220);
-  CPDF_Rect RightBottom(400, 201, 420, 221);
-  CPDF_Rect LeftTop(201, 400, 221, 420);
-  CPDF_Rect RightTop(401, 401, 421, 421);
+  CFX_FloatRect LeftBottom(200, 200, 220, 220);
+  CFX_FloatRect RightBottom(400, 201, 420, 221);
+  CFX_FloatRect LeftTop(201, 400, 221, 420);
+  CFX_FloatRect RightTop(401, 401, 421, 421);
 
   CPDFSDK_Document* pSDKDoc =
       CPDFSDK_Document::FromFPDFFormHandle(form_handle());
diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp
index 9e62716..933f451 100644
--- a/fpdfsdk/src/fsdk_mgr.cpp
+++ b/fpdfsdk/src/fsdk_mgr.cpp
@@ -58,7 +58,7 @@
  public:
   // IFX_SystemHandler
   void InvalidateRect(FX_HWND hWnd, FX_RECT rect) override;
-  void OutputSelectedRect(void* pFormFiller, CPDF_Rect& rect) override;
+  void OutputSelectedRect(void* pFormFiller, CFX_FloatRect& rect) override;
   FX_BOOL IsSelectionImplemented() override;
   CFX_WideString GetClipboardText(FX_HWND hWnd) override { return L""; }
   FX_BOOL SetClipboardText(FX_HWND hWnd, CFX_WideString string) override {
@@ -132,19 +132,20 @@
   device2page.Transform((FX_FLOAT)rect.left, (FX_FLOAT)rect.top, left, top);
   device2page.Transform((FX_FLOAT)rect.right, (FX_FLOAT)rect.bottom, right,
                         bottom);
-  CPDF_Rect rcPDF(left, bottom, right, top);
+  CFX_FloatRect rcPDF(left, bottom, right, top);
   rcPDF.Normalize();
 
   m_pEnv->FFI_Invalidate(pPage, rcPDF.left, rcPDF.top, rcPDF.right,
                          rcPDF.bottom);
 }
-void CFX_SystemHandler::OutputSelectedRect(void* pFormFiller, CPDF_Rect& rect) {
+void CFX_SystemHandler::OutputSelectedRect(void* pFormFiller,
+                                           CFX_FloatRect& rect) {
   CFFL_FormFiller* pFFL = (CFFL_FormFiller*)pFormFiller;
   if (pFFL) {
-    CPDF_Point leftbottom = CPDF_Point(rect.left, rect.bottom);
-    CPDF_Point righttop = CPDF_Point(rect.right, rect.top);
-    CPDF_Point ptA = pFFL->PWLtoFFL(leftbottom);
-    CPDF_Point ptB = pFFL->PWLtoFFL(righttop);
+    CFX_FloatPoint leftbottom = CFX_FloatPoint(rect.left, rect.bottom);
+    CFX_FloatPoint righttop = CFX_FloatPoint(rect.right, rect.top);
+    CFX_FloatPoint ptA = pFFL->PWLtoFFL(leftbottom);
+    CFX_FloatPoint ptB = pFFL->PWLtoFFL(righttop);
     CPDFSDK_Annot* pAnnot = pFFL->GetSDKAnnot();
     UnderlyingPageType* pPage = pAnnot->GetUnderlyingPage();
     ASSERT(pPage);
@@ -758,7 +759,7 @@
   CPDFSDK_AnnotHandlerMgr* pAnnotMgr = pEnv->GetAnnotHandlerMgr();
   CPDFSDK_AnnotIterator annotIterator(this, false);
   while (CPDFSDK_Annot* pSDKAnnot = annotIterator.Next()) {
-    CPDF_Rect rc = pAnnotMgr->Annot_OnGetViewBBox(this, pSDKAnnot);
+    CFX_FloatRect rc = pAnnotMgr->Annot_OnGetViewBBox(this, pSDKAnnot);
     if (rc.Contains(pageX, pageY))
       return pSDKAnnot;
   }
@@ -778,7 +779,7 @@
 #endif  // PDF_ENABLE_XFA
     if (bHitTest) {
       pAnnotMgr->Annot_OnGetViewBBox(this, pSDKAnnot);
-      CPDF_Point point(pageX, pageY);
+      CFX_FloatPoint point(pageX, pageY);
       if (pAnnotMgr->Annot_OnHitTest(this, pSDKAnnot, point))
         return pSDKAnnot;
     }
@@ -914,7 +915,7 @@
 }
 #endif  // PDF_ENABLE_XFA
 
-FX_BOOL CPDFSDK_PageView::OnLButtonDown(const CPDF_Point& point,
+FX_BOOL CPDFSDK_PageView::OnLButtonDown(const CFX_FloatPoint& point,
                                         FX_UINT nFlag) {
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
   ASSERT(pEnv);
@@ -933,7 +934,7 @@
 }
 
 #ifdef PDF_ENABLE_XFA
-FX_BOOL CPDFSDK_PageView::OnRButtonDown(const CPDF_Point& point,
+FX_BOOL CPDFSDK_PageView::OnRButtonDown(const CFX_FloatPoint& point,
                                         FX_UINT nFlag) {
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
   ASSERT(pEnv);
@@ -953,7 +954,8 @@
   return TRUE;
 }
 
-FX_BOOL CPDFSDK_PageView::OnRButtonUp(const CPDF_Point& point, FX_UINT nFlag) {
+FX_BOOL CPDFSDK_PageView::OnRButtonUp(const CFX_FloatPoint& point,
+                                      FX_UINT nFlag) {
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
   ASSERT(pEnv);
   CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = pEnv->GetAnnotHandlerMgr();
@@ -972,7 +974,8 @@
 }
 #endif  // PDF_ENABLE_XFA
 
-FX_BOOL CPDFSDK_PageView::OnLButtonUp(const CPDF_Point& point, FX_UINT nFlag) {
+FX_BOOL CPDFSDK_PageView::OnLButtonUp(const CFX_FloatPoint& point,
+                                      FX_UINT nFlag) {
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
   ASSERT(pEnv);
   CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = pEnv->GetAnnotHandlerMgr();
@@ -988,7 +991,7 @@
   return bRet;
 }
 
-FX_BOOL CPDFSDK_PageView::OnMouseMove(const CPDF_Point& point, int nFlag) {
+FX_BOOL CPDFSDK_PageView::OnMouseMove(const CFX_FloatPoint& point, int nFlag) {
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
   CPDFSDK_AnnotHandlerMgr* pAnnotHandlerMgr = pEnv->GetAnnotHandlerMgr();
   if (CPDFSDK_Annot* pFXAnnot = GetFXWidgetAtPoint(point.x, point.y)) {
@@ -1021,7 +1024,7 @@
 
 FX_BOOL CPDFSDK_PageView::OnMouseWheel(double deltaX,
                                        double deltaY,
-                                       const CPDF_Point& point,
+                                       const CFX_FloatPoint& point,
                                        int nFlag) {
   if (CPDFSDK_Annot* pAnnot = GetFXWidgetAtPoint(point.x, point.y)) {
     CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
@@ -1146,14 +1149,14 @@
 
 void CPDFSDK_PageView::UpdateRects(CFX_RectArray& rects) {
   for (int i = 0; i < rects.GetSize(); i++) {
-    CPDF_Rect rc = rects.GetAt(i);
+    CFX_FloatRect rc = rects.GetAt(i);
     CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
     pEnv->FFI_Invalidate(m_page, rc.left, rc.top, rc.right, rc.bottom);
   }
 }
 
 void CPDFSDK_PageView::UpdateView(CPDFSDK_Annot* pAnnot) {
-  CPDF_Rect rcWindow = pAnnot->GetRect();
+  CFX_FloatRect rcWindow = pAnnot->GetRect();
   CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
   pEnv->FFI_Invalidate(m_page, rcWindow.left, rcWindow.top, rcWindow.right,
                        rcWindow.bottom);
diff --git a/fpdfsdk/src/fxedit/fxet_ap.cpp b/fpdfsdk/src/fxedit/fxet_ap.cpp
index 2803b60..562f566 100644
--- a/fpdfsdk/src/fxedit/fxet_ap.cpp
+++ b/fpdfsdk/src/fxedit/fxet_ap.cpp
@@ -60,13 +60,13 @@
 
 CFX_ByteString IFX_Edit::GetEditAppearanceStream(
     IFX_Edit* pEdit,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     const CPVT_WordRange* pRange /* = NULL*/,
     FX_BOOL bContinuous /* = TRUE*/,
     FX_WORD SubWord /* = 0*/) {
   CFX_ByteTextBuf sEditStream, sWords;
 
-  CPDF_Point ptOld(0.0f, 0.0f), ptNew(0.0f, 0.0f);
+  CFX_FloatPoint ptOld(0.0f, 0.0f), ptNew(0.0f, 0.0f);
   int32_t nCurFontIndex = -1;
 
   if (IFX_Edit_Iterator* pIterator = pEdit->GetIterator()) {
@@ -92,13 +92,13 @@
 
           CPVT_Word word;
           if (pIterator->GetWord(word)) {
-            ptNew = CPDF_Point(word.ptWord.x + ptOffset.x,
-                               word.ptWord.y + ptOffset.y);
+            ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x,
+                                   word.ptWord.y + ptOffset.y);
           } else {
             CPVT_Line line;
             pIterator->GetLine(line);
-            ptNew = CPDF_Point(line.ptLine.x + ptOffset.x,
-                               line.ptLine.y + ptOffset.y);
+            ptNew = CFX_FloatPoint(line.ptLine.x + ptOffset.x,
+                                   line.ptLine.y + ptOffset.y);
           }
 
           if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) {
@@ -129,8 +129,8 @@
       } else {
         CPVT_Word word;
         if (pIterator->GetWord(word)) {
-          ptNew = CPDF_Point(word.ptWord.x + ptOffset.x,
-                             word.ptWord.y + ptOffset.y);
+          ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x,
+                                 word.ptWord.y + ptOffset.y);
 
           if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) {
             sEditStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y
@@ -176,7 +176,7 @@
 
 CFX_ByteString IFX_Edit::GetSelectAppearanceStream(
     IFX_Edit* pEdit,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     const CPVT_WordRange* pRange) {
   CFX_ByteTextBuf sRet;
 
diff --git a/fpdfsdk/src/fxedit/fxet_edit.cpp b/fpdfsdk/src/fxedit/fxet_edit.cpp
index 0e66b0e..1b68dc0 100644
--- a/fpdfsdk/src/fxedit/fxet_edit.cpp
+++ b/fpdfsdk/src/fxedit/fxet_edit.cpp
@@ -155,7 +155,7 @@
 }
 
 void CFX_Edit_Refresh::Push(const CPVT_WordRange& linerange,
-                            const CPDF_Rect& rect) {
+                            const CFX_FloatRect& rect) {
   m_NewLineRects.Add(linerange, rect);
 }
 
@@ -175,7 +175,7 @@
 
 void CFX_Edit_Refresh::Analyse(int32_t nAlignment) {
   FX_BOOL bLineTopChanged = FALSE;
-  CPDF_Rect rcResult;
+  CFX_FloatRect rcResult;
   FX_FLOAT fWidthDiff;
 
   int32_t szMax = std::max(m_OldLineRects.GetSize(), m_NewLineRects.GetSize());
@@ -240,7 +240,7 @@
   }
 }
 
-void CFX_Edit_Refresh::AddRefresh(const CPDF_Rect& rect) {
+void CFX_Edit_Refresh::AddRefresh(const CFX_FloatRect& rect) {
   m_RefreshRects.Add(rect);
 }
 
@@ -814,9 +814,9 @@
   return NULL;
 }
 
-void CFX_Edit::SetPlateRect(const CPDF_Rect& rect, FX_BOOL bPaint) {
+void CFX_Edit::SetPlateRect(const CFX_FloatRect& rect, FX_BOOL bPaint) {
   m_pVT->SetPlateRect(rect);
-  m_ptScrollPos = CPDF_Point(rect.left, rect.top);
+  m_ptScrollPos = CFX_FloatPoint(rect.left, rect.top);
   if (bPaint)
     Paint();
 }
@@ -1631,11 +1631,11 @@
   return m_pVT->GetCharArray();
 }
 
-CPDF_Rect CFX_Edit::GetPlateRect() const {
+CFX_FloatRect CFX_Edit::GetPlateRect() const {
   return m_pVT->GetPlateRect();
 }
 
-CPDF_Rect CFX_Edit::GetContentRect() const {
+CFX_FloatRect CFX_Edit::GetContentRect() const {
   return VTToEdit(m_pVT->GetContentRect());
 }
 
@@ -1659,12 +1659,12 @@
     return GetWholeWordRange();
 
   if (m_pVT->IsValid()) {
-    CPDF_Rect rcPlate = m_pVT->GetPlateRect();
+    CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
 
-    CPVT_WordPlace place1 =
-        m_pVT->SearchWordPlace(EditToVT(CPDF_Point(rcPlate.left, rcPlate.top)));
+    CPVT_WordPlace place1 = m_pVT->SearchWordPlace(
+        EditToVT(CFX_FloatPoint(rcPlate.left, rcPlate.top)));
     CPVT_WordPlace place2 = m_pVT->SearchWordPlace(
-        EditToVT(CPDF_Point(rcPlate.right, rcPlate.bottom)));
+        EditToVT(CFX_FloatPoint(rcPlate.right, rcPlate.bottom)));
 
     return CPVT_WordRange(place1, place2);
   }
@@ -1672,7 +1672,7 @@
   return CPVT_WordRange();
 }
 
-CPVT_WordPlace CFX_Edit::SearchWordPlace(const CPDF_Point& point) const {
+CPVT_WordPlace CFX_Edit::SearchWordPlace(const CFX_FloatPoint& point) const {
   if (m_pVT->IsValid()) {
     return m_pVT->SearchWordPlace(EditToVT(point));
   }
@@ -1712,7 +1712,7 @@
 
 void CFX_Edit::SetContentChanged() {
   if (m_bNotify && m_pNotify) {
-    CPDF_Rect rcContent = m_pVT->GetContentRect();
+    CFX_FloatRect rcContent = m_pVT->GetContentRect();
     if (rcContent.Width() != m_rcOldContent.Width() ||
         rcContent.Height() != m_rcOldContent.Height()) {
       if (!m_bNotifyFlag) {
@@ -1751,9 +1751,9 @@
   return m_SelState.IsExist();
 }
 
-CPDF_Point CFX_Edit::VTToEdit(const CPDF_Point& point) const {
-  CPDF_Rect rcContent = m_pVT->GetContentRect();
-  CPDF_Rect rcPlate = m_pVT->GetPlateRect();
+CFX_FloatPoint CFX_Edit::VTToEdit(const CFX_FloatPoint& point) const {
+  CFX_FloatRect rcContent = m_pVT->GetContentRect();
+  CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
 
   FX_FLOAT fPadding = 0.0f;
 
@@ -1769,13 +1769,13 @@
       break;
   }
 
-  return CPDF_Point(point.x - (m_ptScrollPos.x - rcPlate.left),
-                    point.y - (m_ptScrollPos.y + fPadding - rcPlate.top));
+  return CFX_FloatPoint(point.x - (m_ptScrollPos.x - rcPlate.left),
+                        point.y - (m_ptScrollPos.y + fPadding - rcPlate.top));
 }
 
-CPDF_Point CFX_Edit::EditToVT(const CPDF_Point& point) const {
-  CPDF_Rect rcContent = m_pVT->GetContentRect();
-  CPDF_Rect rcPlate = m_pVT->GetPlateRect();
+CFX_FloatPoint CFX_Edit::EditToVT(const CFX_FloatPoint& point) const {
+  CFX_FloatRect rcContent = m_pVT->GetContentRect();
+  CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
 
   FX_FLOAT fPadding = 0.0f;
 
@@ -1791,28 +1791,32 @@
       break;
   }
 
-  return CPDF_Point(point.x + (m_ptScrollPos.x - rcPlate.left),
-                    point.y + (m_ptScrollPos.y + fPadding - rcPlate.top));
+  return CFX_FloatPoint(point.x + (m_ptScrollPos.x - rcPlate.left),
+                        point.y + (m_ptScrollPos.y + fPadding - rcPlate.top));
 }
 
-CPDF_Rect CFX_Edit::VTToEdit(const CPDF_Rect& rect) const {
-  CPDF_Point ptLeftBottom = VTToEdit(CPDF_Point(rect.left, rect.bottom));
-  CPDF_Point ptRightTop = VTToEdit(CPDF_Point(rect.right, rect.top));
+CFX_FloatRect CFX_Edit::VTToEdit(const CFX_FloatRect& rect) const {
+  CFX_FloatPoint ptLeftBottom =
+      VTToEdit(CFX_FloatPoint(rect.left, rect.bottom));
+  CFX_FloatPoint ptRightTop = VTToEdit(CFX_FloatPoint(rect.right, rect.top));
 
-  return CPDF_Rect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x, ptRightTop.y);
+  return CFX_FloatRect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x,
+                       ptRightTop.y);
 }
 
-CPDF_Rect CFX_Edit::EditToVT(const CPDF_Rect& rect) const {
-  CPDF_Point ptLeftBottom = EditToVT(CPDF_Point(rect.left, rect.bottom));
-  CPDF_Point ptRightTop = EditToVT(CPDF_Point(rect.right, rect.top));
+CFX_FloatRect CFX_Edit::EditToVT(const CFX_FloatRect& rect) const {
+  CFX_FloatPoint ptLeftBottom =
+      EditToVT(CFX_FloatPoint(rect.left, rect.bottom));
+  CFX_FloatPoint ptRightTop = EditToVT(CFX_FloatPoint(rect.right, rect.top));
 
-  return CPDF_Rect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x, ptRightTop.y);
+  return CFX_FloatRect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x,
+                       ptRightTop.y);
 }
 
 void CFX_Edit::SetScrollInfo() {
   if (m_bNotify && m_pNotify) {
-    CPDF_Rect rcPlate = m_pVT->GetPlateRect();
-    CPDF_Rect rcContent = m_pVT->GetContentRect();
+    CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
+    CFX_FloatRect rcContent = m_pVT->GetContentRect();
 
     if (!m_bNotifyFlag) {
       m_bNotifyFlag = TRUE;
@@ -1868,21 +1872,21 @@
   }
 }
 
-void CFX_Edit::SetScrollPos(const CPDF_Point& point) {
+void CFX_Edit::SetScrollPos(const CFX_FloatPoint& point) {
   SetScrollPosX(point.x);
   SetScrollPosY(point.y);
   SetScrollLimit();
   SetCaretInfo();
 }
 
-CPDF_Point CFX_Edit::GetScrollPos() const {
+CFX_FloatPoint CFX_Edit::GetScrollPos() const {
   return m_ptScrollPos;
 }
 
 void CFX_Edit::SetScrollLimit() {
   if (m_pVT->IsValid()) {
-    CPDF_Rect rcContent = m_pVT->GetContentRect();
-    CPDF_Rect rcPlate = m_pVT->GetPlateRect();
+    CFX_FloatRect rcContent = m_pVT->GetContentRect();
+    CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
 
     if (rcPlate.Width() > rcContent.Width()) {
       SetScrollPosX(rcPlate.left);
@@ -1912,8 +1916,8 @@
   SetScrollLimit();
 
   if (m_pVT->IsValid()) {
-    CPDF_Point ptHead(0, 0);
-    CPDF_Point ptFoot(0, 0);
+    CFX_FloatPoint ptHead(0, 0);
+    CFX_FloatPoint ptFoot(0, 0);
 
     if (IPDF_VariableText_Iterator* pIterator = m_pVT->GetIterator()) {
       pIterator->SetAt(m_wpCaret);
@@ -1933,10 +1937,10 @@
       }
     }
 
-    CPDF_Point ptHeadEdit = VTToEdit(ptHead);
-    CPDF_Point ptFootEdit = VTToEdit(ptFoot);
+    CFX_FloatPoint ptHeadEdit = VTToEdit(ptHead);
+    CFX_FloatPoint ptFootEdit = VTToEdit(ptFoot);
 
-    CPDF_Rect rcPlate = m_pVT->GetPlateRect();
+    CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
 
     if (!FX_EDIT_IsFloatEqual(rcPlate.left, rcPlate.right)) {
       if (FX_EDIT_IsFloatSmaller(ptHeadEdit.x, rcPlate.left) ||
@@ -2003,10 +2007,10 @@
         if (lineinfo.lineplace.LineCmp(wpEnd) > 0)
           break;
 
-        CPDF_Rect rcLine(lineinfo.ptLine.x,
-                         lineinfo.ptLine.y + lineinfo.fLineDescent,
-                         lineinfo.ptLine.x + lineinfo.fLineWidth,
-                         lineinfo.ptLine.y + lineinfo.fLineAscent);
+        CFX_FloatRect rcLine(lineinfo.ptLine.x,
+                             lineinfo.ptLine.y + lineinfo.fLineDescent,
+                             lineinfo.ptLine.x + lineinfo.fLineWidth,
+                             lineinfo.ptLine.y + lineinfo.fLineAscent);
 
         m_Refresh.Push(CPVT_WordRange(lineinfo.lineplace, lineinfo.lineEnd),
                        VTToEdit(rcLine));
@@ -2038,17 +2042,17 @@
 
         if (place.LineCmp(wrTemp.BeginPos) == 0 ||
             place.LineCmp(wrTemp.EndPos) == 0) {
-          CPDF_Rect rcWord(wordinfo.ptWord.x,
-                           lineinfo.ptLine.y + lineinfo.fLineDescent,
-                           wordinfo.ptWord.x + wordinfo.fWidth,
-                           lineinfo.ptLine.y + lineinfo.fLineAscent);
+          CFX_FloatRect rcWord(wordinfo.ptWord.x,
+                               lineinfo.ptLine.y + lineinfo.fLineDescent,
+                               wordinfo.ptWord.x + wordinfo.fWidth,
+                               lineinfo.ptLine.y + lineinfo.fLineAscent);
 
           m_Refresh.AddRefresh(VTToEdit(rcWord));
         } else {
-          CPDF_Rect rcLine(lineinfo.ptLine.x,
-                           lineinfo.ptLine.y + lineinfo.fLineDescent,
-                           lineinfo.ptLine.x + lineinfo.fLineWidth,
-                           lineinfo.ptLine.y + lineinfo.fLineAscent);
+          CFX_FloatRect rcLine(lineinfo.ptLine.x,
+                               lineinfo.ptLine.y + lineinfo.fLineDescent,
+                               lineinfo.ptLine.x + lineinfo.fLineWidth,
+                               lineinfo.ptLine.y + lineinfo.fLineAscent);
 
           m_Refresh.AddRefresh(VTToEdit(rcLine));
 
@@ -2081,29 +2085,29 @@
 
       if (place.LineCmp(wrTemp.BeginPos) == 0 ||
           place.LineCmp(wrTemp.EndPos) == 0) {
-        CPDF_Rect rcWord(wordinfo.ptWord.x,
-                         lineinfo.ptLine.y + lineinfo.fLineDescent,
-                         wordinfo.ptWord.x + wordinfo.fWidth,
-                         lineinfo.ptLine.y + lineinfo.fLineAscent);
+        CFX_FloatRect rcWord(wordinfo.ptWord.x,
+                             lineinfo.ptLine.y + lineinfo.fLineDescent,
+                             wordinfo.ptWord.x + wordinfo.fWidth,
+                             lineinfo.ptLine.y + lineinfo.fLineAscent);
 
         if (m_bNotify && m_pNotify) {
           if (!m_bNotifyFlag) {
             m_bNotifyFlag = TRUE;
-            CPDF_Rect rcRefresh = VTToEdit(rcWord);
+            CFX_FloatRect rcRefresh = VTToEdit(rcWord);
             m_pNotify->IOnInvalidateRect(&rcRefresh);
             m_bNotifyFlag = FALSE;
           }
         }
       } else {
-        CPDF_Rect rcLine(lineinfo.ptLine.x,
-                         lineinfo.ptLine.y + lineinfo.fLineDescent,
-                         lineinfo.ptLine.x + lineinfo.fLineWidth,
-                         lineinfo.ptLine.y + lineinfo.fLineAscent);
+        CFX_FloatRect rcLine(lineinfo.ptLine.x,
+                             lineinfo.ptLine.y + lineinfo.fLineDescent,
+                             lineinfo.ptLine.x + lineinfo.fLineWidth,
+                             lineinfo.ptLine.y + lineinfo.fLineAscent);
 
         if (m_bNotify && m_pNotify) {
           if (!m_bNotifyFlag) {
             m_bNotifyFlag = TRUE;
-            CPDF_Rect rcRefresh = VTToEdit(rcLine);
+            CFX_FloatRect rcRefresh = VTToEdit(rcLine);
             m_pNotify->IOnInvalidateRect(&rcRefresh);
             m_bNotifyFlag = FALSE;
           }
@@ -2123,7 +2127,7 @@
 void CFX_Edit::SetCaretInfo() {
   if (m_bNotify && m_pNotify) {
     if (!m_bNotifyFlag) {
-      CPDF_Point ptHead(0.0f, 0.0f), ptFoot(0.0f, 0.0f);
+      CFX_FloatPoint ptHead(0.0f, 0.0f), ptFoot(0.0f, 0.0f);
 
       if (IPDF_VariableText_Iterator* pIterator = m_pVT->GetIterator()) {
         pIterator->SetAt(m_wpCaret);
@@ -2195,7 +2199,7 @@
   }
 }
 
-void CFX_Edit::OnMouseDown(const CPDF_Point& point,
+void CFX_Edit::OnMouseDown(const CFX_FloatPoint& point,
                            FX_BOOL bShift,
                            FX_BOOL bCtrl) {
   if (m_pVT->IsValid()) {
@@ -2209,7 +2213,7 @@
   }
 }
 
-void CFX_Edit::OnMouseMove(const CPDF_Point& point,
+void CFX_Edit::OnMouseMove(const CFX_FloatPoint& point,
                            FX_BOOL bShift,
                            FX_BOOL bCtrl) {
   if (m_pVT->IsValid()) {
@@ -2853,8 +2857,8 @@
 
 FX_BOOL CFX_Edit::IsTextOverflow() const {
   if (!m_bEnableScroll && !m_bEnableOverflow) {
-    CPDF_Rect rcPlate = m_pVT->GetPlateRect();
-    CPDF_Rect rcContent = m_pVT->GetContentRect();
+    CFX_FloatRect rcPlate = m_pVT->GetPlateRect();
+    CFX_FloatRect rcContent = m_pVT->GetContentRect();
 
     if (m_pVT->IsMultiLine() && GetTotalLines() > 1) {
       if (FX_EDIT_IsFloatBigger(rcContent.Height(), rcPlate.Height()))
diff --git a/fpdfsdk/src/fxedit/fxet_list.cpp b/fpdfsdk/src/fxedit/fxet_list.cpp
index 4e8ae0c..313cc48 100644
--- a/fpdfsdk/src/fxedit/fxet_list.cpp
+++ b/fpdfsdk/src/fxedit/fxet_list.cpp
@@ -155,11 +155,11 @@
   return m_aListItems.GetSize();
 }
 
-CPDF_Rect CFX_List::GetPlateRect() const {
+CFX_FloatRect CFX_List::GetPlateRect() const {
   return CFX_ListContainer::GetPlateRect();
 }
 
-CPDF_Rect CFX_List::GetContentRect() const {
+CFX_FloatRect CFX_List::GetContentRect() const {
   return InnerToOuter(CFX_ListContainer::GetContentRect());
 }
 
@@ -167,8 +167,8 @@
   return m_fFontSize;
 }
 
-int32_t CFX_List::GetItemIndex(const CPDF_Point& point) const {
-  CPDF_Point pt = OuterToInner(point);
+int32_t CFX_List::GetItemIndex(const CFX_FloatPoint& point) const {
+  CFX_FloatPoint pt = OuterToInner(point);
 
   FX_BOOL bFirst = TRUE;
   FX_BOOL bLast = TRUE;
@@ -250,15 +250,15 @@
   return nCircleIndex;
 }
 
-CPDF_Rect CFX_List::GetItemRect(int32_t nIndex) const {
+CFX_FloatRect CFX_List::GetItemRect(int32_t nIndex) const {
   if (CFX_ListItem* pListItem = m_aListItems.GetAt(nIndex)) {
-    CPDF_Rect rcItem = pListItem->GetRect();
+    CFX_FloatRect rcItem = pListItem->GetRect();
     rcItem.left = 0.0f;
     rcItem.right = GetPlateRect().Width();
     return InnerToOuter(rcItem);
   }
 
-  return CPDF_Rect();
+  return CFX_FloatRect();
 }
 
 FX_BOOL CFX_List::IsItemSelected(int32_t nIndex) const {
@@ -423,35 +423,37 @@
   m_pNotify = pNotify;
 }
 
-CPDF_Point CFX_ListCtrl::InToOut(const CPDF_Point& point) const {
-  CPDF_Rect rcPlate = GetPlateRect();
+CFX_FloatPoint CFX_ListCtrl::InToOut(const CFX_FloatPoint& point) const {
+  CFX_FloatRect rcPlate = GetPlateRect();
 
-  return CPDF_Point(point.x - (m_ptScrollPos.x - rcPlate.left),
-                    point.y - (m_ptScrollPos.y - rcPlate.top));
+  return CFX_FloatPoint(point.x - (m_ptScrollPos.x - rcPlate.left),
+                        point.y - (m_ptScrollPos.y - rcPlate.top));
 }
 
-CPDF_Point CFX_ListCtrl::OutToIn(const CPDF_Point& point) const {
-  CPDF_Rect rcPlate = GetPlateRect();
+CFX_FloatPoint CFX_ListCtrl::OutToIn(const CFX_FloatPoint& point) const {
+  CFX_FloatRect rcPlate = GetPlateRect();
 
-  return CPDF_Point(point.x + (m_ptScrollPos.x - rcPlate.left),
-                    point.y + (m_ptScrollPos.y - rcPlate.top));
+  return CFX_FloatPoint(point.x + (m_ptScrollPos.x - rcPlate.left),
+                        point.y + (m_ptScrollPos.y - rcPlate.top));
 }
 
-CPDF_Rect CFX_ListCtrl::InToOut(const CPDF_Rect& rect) const {
-  CPDF_Point ptLeftBottom = InToOut(CPDF_Point(rect.left, rect.bottom));
-  CPDF_Point ptRightTop = InToOut(CPDF_Point(rect.right, rect.top));
+CFX_FloatRect CFX_ListCtrl::InToOut(const CFX_FloatRect& rect) const {
+  CFX_FloatPoint ptLeftBottom = InToOut(CFX_FloatPoint(rect.left, rect.bottom));
+  CFX_FloatPoint ptRightTop = InToOut(CFX_FloatPoint(rect.right, rect.top));
 
-  return CPDF_Rect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x, ptRightTop.y);
+  return CFX_FloatRect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x,
+                       ptRightTop.y);
 }
 
-CPDF_Rect CFX_ListCtrl::OutToIn(const CPDF_Rect& rect) const {
-  CPDF_Point ptLeftBottom = OutToIn(CPDF_Point(rect.left, rect.bottom));
-  CPDF_Point ptRightTop = OutToIn(CPDF_Point(rect.right, rect.top));
+CFX_FloatRect CFX_ListCtrl::OutToIn(const CFX_FloatRect& rect) const {
+  CFX_FloatPoint ptLeftBottom = OutToIn(CFX_FloatPoint(rect.left, rect.bottom));
+  CFX_FloatPoint ptRightTop = OutToIn(CFX_FloatPoint(rect.right, rect.top));
 
-  return CPDF_Rect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x, ptRightTop.y);
+  return CFX_FloatRect(ptLeftBottom.x, ptLeftBottom.y, ptRightTop.x,
+                       ptRightTop.y);
 }
 
-void CFX_ListCtrl::OnMouseDown(const CPDF_Point& point,
+void CFX_ListCtrl::OnMouseDown(const CFX_FloatPoint& point,
                                FX_BOOL bShift,
                                FX_BOOL bCtrl) {
   int32_t nHitIndex = GetItemIndex(point);
@@ -490,7 +492,7 @@
     ScrollToListItem(nHitIndex);
 }
 
-void CFX_ListCtrl::OnMouseMove(const CPDF_Point& point,
+void CFX_ListCtrl::OnMouseMove(const CFX_FloatPoint& point,
                                FX_BOOL bShift,
                                FX_BOOL bCtrl) {
   int32_t nHitIndex = GetItemIndex(point);
@@ -578,15 +580,15 @@
   return FALSE;
 }
 
-void CFX_ListCtrl::SetPlateRect(const CPDF_Rect& rect) {
+void CFX_ListCtrl::SetPlateRect(const CFX_FloatRect& rect) {
   CFX_ListContainer::SetPlateRect(rect);
   m_ptScrollPos.x = rect.left;
-  SetScrollPos(CPDF_Point(rect.left, rect.top));
+  SetScrollPos(CFX_FloatPoint(rect.left, rect.top));
   ReArrange(0);
   InvalidateItem(-1);
 }
 
-CPDF_Rect CFX_ListCtrl::GetItemRect(int32_t nIndex) const {
+CFX_FloatRect CFX_ListCtrl::GetItemRect(int32_t nIndex) const {
   return InToOut(CFX_List::GetItemRect(nIndex));
 }
 
@@ -650,14 +652,14 @@
     if (nItemIndex == -1) {
       if (!m_bNotifyFlag) {
         m_bNotifyFlag = TRUE;
-        CPDF_Rect rcRefresh = GetPlateRect();
+        CFX_FloatRect rcRefresh = GetPlateRect();
         m_pNotify->IOnInvalidateRect(&rcRefresh);
         m_bNotifyFlag = FALSE;
       }
     } else {
       if (!m_bNotifyFlag) {
         m_bNotifyFlag = TRUE;
-        CPDF_Rect rcRefresh = GetItemRect(nItemIndex);
+        CFX_FloatRect rcRefresh = GetItemRect(nItemIndex);
         rcRefresh.left -= 1.0f;
         rcRefresh.right += 1.0f;
         rcRefresh.bottom -= 1.0f;
@@ -701,8 +703,8 @@
 }
 
 FX_BOOL CFX_ListCtrl::IsItemVisible(int32_t nItemIndex) const {
-  CPDF_Rect rcPlate = GetPlateRect();
-  CPDF_Rect rcItem = GetItemRect(nItemIndex);
+  CFX_FloatRect rcPlate = GetPlateRect();
+  CFX_FloatRect rcItem = GetItemRect(nItemIndex);
 
   return rcItem.bottom >= rcPlate.bottom && rcItem.top <= rcPlate.top;
 }
@@ -711,9 +713,9 @@
   if (!IsValid(nItemIndex))
     return;
 
-  CPDF_Rect rcPlate = GetPlateRect();
-  CPDF_Rect rcItem = CFX_List::GetItemRect(nItemIndex);
-  CPDF_Rect rcItemCtrl = GetItemRect(nItemIndex);
+  CFX_FloatRect rcPlate = GetPlateRect();
+  CFX_FloatRect rcItem = CFX_List::GetItemRect(nItemIndex);
+  CFX_FloatRect rcItemCtrl = GetItemRect(nItemIndex);
 
   if (FX_EDIT_IsFloatSmaller(rcItemCtrl.bottom, rcPlate.bottom)) {
     if (FX_EDIT_IsFloatSmaller(rcItemCtrl.top, rcPlate.top)) {
@@ -728,8 +730,8 @@
 
 void CFX_ListCtrl::SetScrollInfo() {
   if (m_pNotify) {
-    CPDF_Rect rcPlate = GetPlateRect();
-    CPDF_Rect rcContent = CFX_List::GetContentRect();
+    CFX_FloatRect rcPlate = GetPlateRect();
+    CFX_FloatRect rcContent = CFX_List::GetContentRect();
 
     if (!m_bNotifyFlag) {
       m_bNotifyFlag = TRUE;
@@ -741,14 +743,14 @@
   }
 }
 
-void CFX_ListCtrl::SetScrollPos(const CPDF_Point& point) {
+void CFX_ListCtrl::SetScrollPos(const CFX_FloatPoint& point) {
   SetScrollPosY(point.y);
 }
 
 void CFX_ListCtrl::SetScrollPosY(FX_FLOAT fy) {
   if (!FX_EDIT_IsFloatEqual(m_ptScrollPos.y, fy)) {
-    CPDF_Rect rcPlate = GetPlateRect();
-    CPDF_Rect rcContent = CFX_List::GetContentRect();
+    CFX_FloatRect rcPlate = GetPlateRect();
+    CFX_FloatRect rcContent = CFX_List::GetContentRect();
 
     if (rcPlate.Height() > rcContent.Height()) {
       fy = rcPlate.top;
@@ -773,7 +775,7 @@
   }
 }
 
-CPDF_Rect CFX_ListCtrl::GetContentRect() const {
+CFX_FloatRect CFX_ListCtrl::GetContentRect() const {
   return InToOut(CFX_List::GetContentRect());
 }
 
@@ -785,7 +787,7 @@
 void CFX_ListCtrl::SetTopItem(int32_t nIndex) {
   if (IsValid(nIndex)) {
     GetPlateRect();
-    CPDF_Rect rcItem = CFX_List::GetItemRect(nIndex);
+    CFX_FloatRect rcItem = CFX_List::GetItemRect(nIndex);
     SetScrollPosY(rcItem.top);
   }
 }
@@ -808,7 +810,7 @@
   m_aSelItems.DeselectAll();
 }
 
-int32_t CFX_ListCtrl::GetItemIndex(const CPDF_Point& point) const {
+int32_t CFX_ListCtrl::GetItemIndex(const CFX_FloatPoint& point) const {
   return CFX_List::GetItemIndex(OutToIn(point));
 }
 
diff --git a/fpdfsdk/src/fxedit/fxet_pageobjs.cpp b/fpdfsdk/src/fxedit/fxet_pageobjs.cpp
index ed96b96..752e537 100644
--- a/fpdfsdk/src/fxedit/fxet_pageobjs.cpp
+++ b/fpdfsdk/src/fxedit/fxet_pageobjs.cpp
@@ -13,22 +13,22 @@
 #define FX_EDIT_UNDERLINEHALFWIDTH 0.5f
 #define FX_EDIT_CROSSOUTHALFWIDTH 0.5f
 
-CPDF_Rect GetUnderLineRect(const CPVT_Word& word) {
-  return CPDF_Rect(word.ptWord.x, word.ptWord.y + word.fDescent * 0.5f,
-                   word.ptWord.x + word.fWidth,
-                   word.ptWord.y + word.fDescent * 0.25f);
+CFX_FloatRect GetUnderLineRect(const CPVT_Word& word) {
+  return CFX_FloatRect(word.ptWord.x, word.ptWord.y + word.fDescent * 0.5f,
+                       word.ptWord.x + word.fWidth,
+                       word.ptWord.y + word.fDescent * 0.25f);
 }
 
-CPDF_Rect GetCrossoutRect(const CPVT_Word& word) {
-  return CPDF_Rect(word.ptWord.x,
-                   word.ptWord.y + (word.fAscent + word.fDescent) * 0.5f +
-                       word.fDescent * 0.25f,
-                   word.ptWord.x + word.fWidth,
-                   word.ptWord.y + (word.fAscent + word.fDescent) * 0.5f);
+CFX_FloatRect GetCrossoutRect(const CPVT_Word& word) {
+  return CFX_FloatRect(word.ptWord.x,
+                       word.ptWord.y + (word.fAscent + word.fDescent) * 0.5f +
+                           word.fDescent * 0.25f,
+                       word.ptWord.x + word.fWidth,
+                       word.ptWord.y + (word.fAscent + word.fDescent) * 0.5f);
 }
 
 static void DrawTextString(CFX_RenderDevice* pDevice,
-                           const CPDF_Point& pt,
+                           const CFX_FloatPoint& pt,
                            CPDF_Font* pFont,
                            FX_FLOAT fFontSize,
                            CFX_Matrix* pUser2Device,
@@ -49,7 +49,7 @@
       ro.m_ColorMode = RENDER_COLOR_NORMAL;
 
       if (crTextStroke != 0) {
-        CPDF_Point pt1(0, 0), pt2(1, 0);
+        CFX_FloatPoint pt1(0, 0), pt2(1, 0);
         pUser2Device->Transform(pt1.x, pt1.y);
         pUser2Device->Transform(pt2.x, pt2.y);
         CFX_GraphStateData gsd;
@@ -69,7 +69,7 @@
       ro.m_ColorMode = RENDER_COLOR_NORMAL;
 
       if (crTextStroke != 0) {
-        CPDF_Point pt1(0, 0), pt2(1, 0);
+        CFX_FloatPoint pt1(0, 0), pt2(1, 0);
         pUser2Device->Transform(pt1.x, pt1.y);
         pUser2Device->Transform(pt2.x, pt2.y);
         CFX_GraphStateData gsd;
@@ -92,13 +92,13 @@
                              CFX_Matrix* pUser2Device,
                              IFX_Edit* pEdit,
                              FX_COLORREF color,
-                             const CPDF_Rect& rcClip,
-                             const CPDF_Point& ptOffset,
+                             const CFX_FloatRect& rcClip,
+                             const CFX_FloatPoint& ptOffset,
                              const CPVT_WordRange* pRange) {
   pDevice->SaveState();
 
   if (!rcClip.IsEmpty()) {
-    CPDF_Rect rcTemp = rcClip;
+    CFX_FloatRect rcTemp = rcClip;
     pUser2Device->TransformRect(rcTemp);
     FX_RECT rcDevClip;
     rcDevClip.left = (int32_t)rcTemp.left;
@@ -123,7 +123,7 @@
         CPVT_Word word;
         if (pIterator->GetWord(word)) {
           CFX_PathData pathUnderline;
-          CPDF_Rect rcUnderline = GetUnderLineRect(word);
+          CFX_FloatRect rcUnderline = GetUnderLineRect(word);
           rcUnderline.left += ptOffset.x;
           rcUnderline.right += ptOffset.x;
           rcUnderline.top += ptOffset.y;
@@ -146,8 +146,8 @@
                         IFX_Edit* pEdit,
                         FX_COLORREF crTextFill,
                         FX_COLORREF crTextStroke,
-                        const CPDF_Rect& rcClip,
-                        const CPDF_Point& ptOffset,
+                        const CFX_FloatRect& rcClip,
+                        const CFX_FloatPoint& ptOffset,
                         const CPVT_WordRange* pRange,
                         IFX_SystemHandler* pSystemHandler,
                         void* pFFLData) {
@@ -169,12 +169,12 @@
 
   CFX_ByteTextBuf sTextBuf;
   int32_t nFontIndex = -1;
-  CPDF_Point ptBT(0.0f, 0.0f);
+  CFX_FloatPoint ptBT(0.0f, 0.0f);
 
   pDevice->SaveState();
 
   if (!rcClip.IsEmpty()) {
-    CPDF_Rect rcTemp = rcClip;
+    CFX_FloatRect rcTemp = rcClip;
     pUser2Device->TransformRect(rcTemp);
     FX_RECT rcDevClip;
     rcDevClip.left = (int32_t)rcTemp.left;
@@ -218,9 +218,9 @@
             pIterator->GetLine(line);
 
             if (pSystemHandler && pSystemHandler->IsSelectionImplemented()) {
-              CPDF_Rect rc(word.ptWord.x, line.ptLine.y + line.fLineDescent,
-                           word.ptWord.x + word.fWidth,
-                           line.ptLine.y + line.fLineAscent);
+              CFX_FloatRect rc(word.ptWord.x, line.ptLine.y + line.fLineDescent,
+                               word.ptWord.x + word.fWidth,
+                               line.ptLine.y + line.fLineAscent);
               rc.Intersect(rcClip);
               pSystemHandler->OutputSelectedRect(pFFLData, rc);
             } else {
@@ -239,8 +239,8 @@
             if (place.LineCmp(oldplace) != 0 || word.nFontIndex != nFontIndex ||
                 crOldFill != crCurFill) {
               if (sTextBuf.GetLength() > 0) {
-                DrawTextString(pDevice, CPDF_Point(ptBT.x + ptOffset.x,
-                                                   ptBT.y + ptOffset.y),
+                DrawTextString(pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x,
+                                                       ptBT.y + ptOffset.y),
                                pFontMap->GetPDFFont(nFontIndex), fFontSize,
                                pUser2Device, sTextBuf.GetByteString(),
                                crOldFill, crTextStroke, nHorzScale);
@@ -256,8 +256,8 @@
                                          SubWord);
           } else {
             DrawTextString(
-                pDevice, CPDF_Point(word.ptWord.x + ptOffset.x,
-                                    word.ptWord.y + ptOffset.y),
+                pDevice, CFX_FloatPoint(word.ptWord.x + ptOffset.x,
+                                        word.ptWord.y + ptOffset.y),
                 pFontMap->GetPDFFont(word.nFontIndex), fFontSize, pUser2Device,
                 GetPDFWordString(pFontMap, word.nFontIndex, word.Word, SubWord),
                 crCurFill, crTextStroke, nHorzScale);
@@ -268,7 +268,7 @@
 
       if (sTextBuf.GetLength() > 0) {
         DrawTextString(
-            pDevice, CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
+            pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
             pFontMap->GetPDFFont(nFontIndex), fFontSize, pUser2Device,
             sTextBuf.GetByteString(), crOldFill, crTextStroke, nHorzScale);
       }
@@ -281,8 +281,8 @@
 void IFX_Edit::DrawRichEdit(CFX_RenderDevice* pDevice,
                             CFX_Matrix* pUser2Device,
                             IFX_Edit* pEdit,
-                            const CPDF_Rect& rcClip,
-                            const CPDF_Point& ptOffset,
+                            const CFX_FloatRect& rcClip,
+                            const CFX_FloatPoint& ptOffset,
                             const CPVT_WordRange* pRange) {
   CPVT_WordRange wrSelect = pEdit->GetSelectWordRange();
 
@@ -294,12 +294,12 @@
 
   CFX_ByteTextBuf sTextBuf;
   CPVT_WordProps wp;
-  CPDF_Point ptBT(0.0f, 0.0f);
+  CFX_FloatPoint ptBT(0.0f, 0.0f);
 
   pDevice->SaveState();
 
   if (!rcClip.IsEmpty()) {
-    CPDF_Rect rcTemp = rcClip;
+    CFX_FloatRect rcTemp = rcClip;
     pUser2Device->TransformRect(rcTemp);
     FX_RECT rcDevClip;
     rcDevClip.left = (int32_t)rcTemp.left;
@@ -357,11 +357,11 @@
               FXSYS_memcmp(&word.WordProps, &wp, sizeof(CPVT_WordProps)) != 0 ||
               crOld != crCurText) {
             if (sTextBuf.GetLength() > 0) {
-              DrawTextString(
-                  pDevice, CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
-                  pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize,
-                  pUser2Device, sTextBuf.GetByteString(), crOld, 0,
-                  wp.nHorzScale);
+              DrawTextString(pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x,
+                                                     ptBT.y + ptOffset.y),
+                             pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize,
+                             pUser2Device, sTextBuf.GetByteString(), crOld, 0,
+                             wp.nHorzScale);
 
               sTextBuf.Clear();
             }
@@ -375,7 +375,7 @@
 
           if (word.WordProps.nWordStyle & PVTWORD_STYLE_UNDERLINE) {
             CFX_PathData pathUnderline;
-            CPDF_Rect rcUnderline = GetUnderLineRect(word);
+            CFX_FloatRect rcUnderline = GetUnderLineRect(word);
             pathUnderline.AppendRect(rcUnderline.left, rcUnderline.bottom,
                                      rcUnderline.right, rcUnderline.top);
 
@@ -385,7 +385,7 @@
 
           if (word.WordProps.nWordStyle & PVTWORD_STYLE_CROSSOUT) {
             CFX_PathData pathCrossout;
-            CPDF_Rect rcCrossout = GetCrossoutRect(word);
+            CFX_FloatRect rcCrossout = GetCrossoutRect(word);
             pathCrossout.AppendRect(rcCrossout.left, rcCrossout.bottom,
                                     rcCrossout.right, rcCrossout.top);
 
@@ -399,7 +399,7 @@
 
       if (sTextBuf.GetLength() > 0) {
         DrawTextString(
-            pDevice, CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
+            pDevice, CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
             pFontMap->GetPDFFont(wp.nFontIndex), wp.fFontSize, pUser2Device,
             sTextBuf.GetByteString(), crOld, 0, wp.nHorzScale);
       }
@@ -411,7 +411,7 @@
 
 static void AddRectToPageObjects(CPDF_PageObjectHolder* pObjectHolder,
                                  FX_COLORREF crFill,
-                                 const CPDF_Rect& rcFill) {
+                                 const CFX_FloatRect& rcFill) {
   std::unique_ptr<CPDF_PathObject> pPathObj(new CPDF_PathObject);
   CFX_PathData* pPathData = pPathObj->m_Path.GetModify();
   pPathData->AppendRect(rcFill.left, rcFill.bottom, rcFill.right, rcFill.top);
@@ -435,7 +435,7 @@
     FX_FLOAT fFontSize,
     FX_FLOAT fCharSpace,
     int32_t nHorzScale,
-    const CPDF_Point& point,
+    const CFX_FloatPoint& point,
     const CFX_ByteString& text) {
   std::unique_ptr<CPDF_TextObject> pTxtObj(new CPDF_TextObject);
   CPDF_TextStateData* pTextStateData = pTxtObj->m_TextState.GetModify();
@@ -469,7 +469,7 @@
 void IFX_Edit::GeneratePageObjects(
     CPDF_PageObjectHolder* pObjectHolder,
     IFX_Edit* pEdit,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     const CPVT_WordRange* pRange,
     FX_COLORREF crText,
     CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray) {
@@ -478,7 +478,7 @@
   int32_t nOldFontIndex = -1;
 
   CFX_ByteTextBuf sTextBuf;
-  CPDF_Point ptBT(0.0f, 0.0f);
+  CFX_FloatPoint ptBT(0.0f, 0.0f);
 
   ObjArray.RemoveAll();
 
@@ -504,7 +504,7 @@
               ObjArray.Add(AddTextObjToPageObjects(
                   pObjectHolder, crText, pFontMap->GetPDFFont(nOldFontIndex),
                   fFontSize, 0.0f, 100,
-                  CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
+                  CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
                   sTextBuf.GetByteString()));
 
               sTextBuf.Clear();
@@ -523,7 +523,7 @@
         ObjArray.Add(AddTextObjToPageObjects(
             pObjectHolder, crText, pFontMap->GetPDFFont(nOldFontIndex),
             fFontSize, 0.0f, 100,
-            CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
+            CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
             sTextBuf.GetByteString()));
       }
     }
@@ -533,7 +533,7 @@
 void IFX_Edit::GenerateRichPageObjects(
     CPDF_PageObjectHolder* pObjectHolder,
     IFX_Edit* pEdit,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     const CPVT_WordRange* pRange,
     CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray) {
   FX_COLORREF crCurText = ArgbEncode(255, 0, 0, 0);
@@ -541,7 +541,7 @@
 
   CFX_ByteTextBuf sTextBuf;
   CPVT_WordProps wp;
-  CPDF_Point ptBT(0.0f, 0.0f);
+  CFX_FloatPoint ptBT(0.0f, 0.0f);
 
   ObjArray.RemoveAll();
 
@@ -574,7 +574,7 @@
               ObjArray.Add(AddTextObjToPageObjects(
                   pObjectHolder, crOld, pFontMap->GetPDFFont(wp.nFontIndex),
                   wp.fFontSize, wp.fCharSpace, wp.nHorzScale,
-                  CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
+                  CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
                   sTextBuf.GetByteString()));
 
               sTextBuf.Clear();
@@ -589,7 +589,7 @@
                                        word.Word, 0);
 
           if (word.WordProps.nWordStyle & PVTWORD_STYLE_UNDERLINE) {
-            CPDF_Rect rcUnderline = GetUnderLineRect(word);
+            CFX_FloatRect rcUnderline = GetUnderLineRect(word);
             rcUnderline.left += ptOffset.x;
             rcUnderline.right += ptOffset.x;
             rcUnderline.top += ptOffset.y;
@@ -599,7 +599,7 @@
           }
 
           if (word.WordProps.nWordStyle & PVTWORD_STYLE_CROSSOUT) {
-            CPDF_Rect rcCrossout = GetCrossoutRect(word);
+            CFX_FloatRect rcCrossout = GetCrossoutRect(word);
             rcCrossout.left += ptOffset.x;
             rcCrossout.right += ptOffset.x;
             rcCrossout.top += ptOffset.y;
@@ -616,7 +616,7 @@
         ObjArray.Add(AddTextObjToPageObjects(
             pObjectHolder, crOld, pFontMap->GetPDFFont(wp.nFontIndex),
             wp.fFontSize, wp.fCharSpace, wp.nHorzScale,
-            CPDF_Point(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
+            CFX_FloatPoint(ptBT.x + ptOffset.x, ptBT.y + ptOffset.y),
             sTextBuf.GetByteString()));
       }
     }
@@ -625,7 +625,7 @@
 
 void IFX_Edit::GenerateUnderlineObjects(CPDF_PageObjectHolder* pObjectHolder,
                                         IFX_Edit* pEdit,
-                                        const CPDF_Point& ptOffset,
+                                        const CFX_FloatPoint& ptOffset,
                                         const CPVT_WordRange* pRange,
                                         FX_COLORREF color) {
   if (IFX_Edit_Iterator* pIterator = pEdit->GetIterator()) {
@@ -644,7 +644,7 @@
 
         CPVT_Word word;
         if (pIterator->GetWord(word)) {
-          CPDF_Rect rcUnderline = GetUnderLineRect(word);
+          CFX_FloatRect rcUnderline = GetUnderLineRect(word);
           rcUnderline.left += ptOffset.x;
           rcUnderline.right += ptOffset.x;
           rcUnderline.top += ptOffset.y;
diff --git a/fpdfsdk/src/javascript/Document.cpp b/fpdfsdk/src/javascript/Document.cpp
index c49524d..8b2b315 100644
--- a/fpdfsdk/src/javascript/Document.cpp
+++ b/fpdfsdk/src/javascript/Document.cpp
@@ -494,7 +494,7 @@
     return TRUE;
 
   for (CPDFSDK_Widget* pWidget : widgets) {
-    CPDF_Rect rcAnnot = pWidget->GetRect();
+    CFX_FloatRect rcAnnot = pWidget->GetRect();
     --rcAnnot.left;
     --rcAnnot.bottom;
     ++rcAnnot.right;
diff --git a/fpdfsdk/src/javascript/Field.cpp b/fpdfsdk/src/javascript/Field.cpp
index 82187c2..9b6a7fa 100644
--- a/fpdfsdk/src/javascript/Field.cpp
+++ b/fpdfsdk/src/javascript/Field.cpp
@@ -2095,7 +2095,7 @@
     pArray[2] = (FX_FLOAT)Lower_Rightx.ToInt();
     pArray[3] = (FX_FLOAT)Upper_Lefty.ToInt();
 
-    CPDF_Rect crRect(pArray);
+    CFX_FloatRect crRect(pArray);
     if (m_bDelay) {
       AddDelay_Rect(FP_RECT, crRect);
     } else {
@@ -2133,7 +2133,7 @@
 void Field::SetRect(CPDFSDK_Document* pDocument,
                     const CFX_WideString& swFieldName,
                     int nControlIndex,
-                    const CPDF_Rect& rect) {
+                    const CFX_FloatRect& rect) {
   CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm();
 
   std::vector<CPDF_FormField*> FieldArray =
@@ -2146,13 +2146,13 @@
         ASSERT(pFormControl);
 
         if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) {
-          CPDF_Rect crRect = rect;
+          CFX_FloatRect crRect = rect;
 
           CPDF_Page* pPDFPage = pWidget->GetPDFPage();
           crRect.Intersect(pPDFPage->GetPageBBox());
 
           if (!crRect.IsEmpty()) {
-            CPDF_Rect rcOld = pWidget->GetRect();
+            CFX_FloatRect rcOld = pWidget->GetRect();
             if (crRect.left != rcOld.left || crRect.right != rcOld.right ||
                 crRect.top != rcOld.top || crRect.bottom != rcOld.bottom) {
               pWidget->SetRect(crRect);
@@ -2170,13 +2170,13 @@
       if (CPDF_FormControl* pFormControl =
               pFormField->GetControl(nControlIndex)) {
         if (CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormControl)) {
-          CPDF_Rect crRect = rect;
+          CFX_FloatRect crRect = rect;
 
           CPDF_Page* pPDFPage = pWidget->GetPDFPage();
           crRect.Intersect(pPDFPage->GetPageBBox());
 
           if (!crRect.IsEmpty()) {
-            CPDF_Rect rcOld = pWidget->GetRect();
+            CFX_FloatRect rcOld = pWidget->GetRect();
             if (crRect.left != rcOld.left || crRect.right != rcOld.right ||
                 crRect.top != rcOld.top || crRect.bottom != rcOld.bottom) {
               pWidget->SetRect(crRect);
@@ -3402,7 +3402,7 @@
   m_pJSDoc->AddDelayData(pNewData);
 }
 
-void Field::AddDelay_Rect(enum FIELD_PROP prop, const CPDF_Rect& rect) {
+void Field::AddDelay_Rect(enum FIELD_PROP prop, const CFX_FloatRect& rect) {
   CJS_DelayData* pNewData = new CJS_DelayData;
   pNewData->sFieldName = m_FieldName;
   pNewData->nControlIndex = m_nFormControlIndex;
@@ -3592,6 +3592,6 @@
                      int nPageIndex,
                      int nFieldType,
                      const CFX_WideString& sName,
-                     const CPDF_Rect& rcCoords) {
+                     const CFX_FloatRect& rcCoords) {
   // Not supported.
 }
diff --git a/fpdfsdk/src/javascript/Field.h b/fpdfsdk/src/javascript/Field.h
index 21552c4..4fba1dd 100644
--- a/fpdfsdk/src/javascript/Field.h
+++ b/fpdfsdk/src/javascript/Field.h
@@ -81,7 +81,7 @@
   bool b;
   CFX_ByteString string;
   CFX_WideString widestring;
-  CPDF_Rect rect;
+  CFX_FloatRect rect;
   CPWL_Color color;
   CFX_DWordArray wordarray;
   CJS_WideStringArray widestringarray;
@@ -390,7 +390,7 @@
   static void SetRect(CPDFSDK_Document* pDocument,
                       const CFX_WideString& swFieldName,
                       int nControlIndex,
-                      const CPDF_Rect& rect);
+                      const CFX_FloatRect& rect);
   static void SetRichText(CPDFSDK_Document* pDocument,
                           const CFX_WideString& swFieldName,
                           int nControlIndex,
@@ -435,7 +435,7 @@
                        int nPageIndex,
                        int nFieldType,
                        const CFX_WideString& sName,
-                       const CPDF_Rect& rcCoords);
+                       const CFX_FloatRect& rcCoords);
 
   static void UpdateFormField(CPDFSDK_Document* pDocument,
                               CPDF_FormField* pFormField,
@@ -473,7 +473,7 @@
   void AddDelay_Bool(enum FIELD_PROP prop, bool b);
   void AddDelay_String(enum FIELD_PROP prop, const CFX_ByteString& string);
   void AddDelay_WideString(enum FIELD_PROP prop, const CFX_WideString& string);
-  void AddDelay_Rect(enum FIELD_PROP prop, const CPDF_Rect& rect);
+  void AddDelay_Rect(enum FIELD_PROP prop, const CFX_FloatRect& rect);
   void AddDelay_Color(enum FIELD_PROP prop, const CPWL_Color& color);
   void AddDelay_WordArray(enum FIELD_PROP prop, const CFX_DWordArray& array);
   void AddDelay_WideStringArray(enum FIELD_PROP prop,
diff --git a/fpdfsdk/src/pdfwindow/PWL_Button.cpp b/fpdfsdk/src/pdfwindow/PWL_Button.cpp
index 5c78383..2c6c36c 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Button.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Button.cpp
@@ -21,7 +21,8 @@
   cp.eCursorType = FXCT_HAND;
 }
 
-FX_BOOL CPWL_Button::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Button::OnLButtonDown(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   m_bMouseDown = TRUE;
@@ -30,7 +31,7 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_Button::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Button::OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   ReleaseCapture();
diff --git a/fpdfsdk/src/pdfwindow/PWL_Caret.cpp b/fpdfsdk/src/pdfwindow/PWL_Caret.cpp
index 75c9510..320b2bf 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Caret.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Caret.cpp
@@ -24,14 +24,14 @@
 }
 
 void CPWL_Caret::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
-  GetCaretApp(sAppStream, CPDF_Point(0.0f, 0.0f));
+  GetCaretApp(sAppStream, CFX_FloatPoint(0.0f, 0.0f));
 }
 
 void CPWL_Caret::DrawThisAppearance(CFX_RenderDevice* pDevice,
                                     CFX_Matrix* pUser2Device) {
   if (IsVisible() && m_bFlash) {
-    CPDF_Rect rcRect = GetCaretRect();
-    CPDF_Rect rcClip = GetClipRect();
+    CFX_FloatRect rcRect = GetCaretRect();
+    CFX_FloatRect rcClip = GetClipRect();
 
     CFX_PathData path;
 
@@ -65,12 +65,12 @@
 }
 
 void CPWL_Caret::GetCaretApp(CFX_ByteTextBuf& sAppStream,
-                             const CPDF_Point& ptOffset) {
+                             const CFX_FloatPoint& ptOffset) {
   if (IsVisible() && m_bFlash) {
     CFX_ByteTextBuf sCaret;
 
-    CPDF_Rect rcRect = GetCaretRect();
-    CPDF_Rect rcClip = GetClipRect();
+    CFX_FloatRect rcRect = GetCaretRect();
+    CFX_FloatRect rcClip = GetClipRect();
 
     rcRect = CPWL_Utils::OffsetRect(rcRect, ptOffset.x, ptOffset.y);
     rcClip = CPWL_Utils::OffsetRect(rcClip, ptOffset.x, ptOffset.y);
@@ -90,7 +90,7 @@
 }
 
 CFX_ByteString CPWL_Caret::GetCaretAppearanceStream(
-    const CPDF_Point& ptOffset) {
+    const CFX_FloatPoint& ptOffset) {
   CFX_ByteTextBuf sCaret;
   GetCaretApp(sCaret, ptOffset);
   return sCaret.GetByteString();
@@ -105,13 +105,14 @@
   }
 }
 
-CPDF_Rect CPWL_Caret::GetCaretRect() const {
-  return CPDF_Rect(m_ptFoot.x, m_ptFoot.y, m_ptHead.x + m_fWidth, m_ptHead.y);
+CFX_FloatRect CPWL_Caret::GetCaretRect() const {
+  return CFX_FloatRect(m_ptFoot.x, m_ptFoot.y, m_ptHead.x + m_fWidth,
+                       m_ptHead.y);
 }
 
 void CPWL_Caret::SetCaret(FX_BOOL bVisible,
-                          const CPDF_Point& ptHead,
-                          const CPDF_Point& ptFoot) {
+                          const CFX_FloatPoint& ptHead,
+                          const CFX_FloatPoint& ptFoot) {
   if (bVisible) {
     if (IsVisible()) {
       if (m_ptHead.x != ptHead.x || m_ptHead.y != ptHead.y ||
@@ -135,8 +136,8 @@
       Move(m_rcInvalid, FALSE, TRUE);
     }
   } else {
-    m_ptHead = CPDF_Point(0, 0);
-    m_ptFoot = CPDF_Point(0, 0);
+    m_ptHead = CFX_FloatPoint(0, 0);
+    m_ptFoot = CFX_FloatPoint(0, 0);
 
     m_bFlash = FALSE;
     if (IsVisible()) {
@@ -146,9 +147,9 @@
   }
 }
 
-void CPWL_Caret::InvalidateRect(CPDF_Rect* pRect) {
+void CPWL_Caret::InvalidateRect(CFX_FloatRect* pRect) {
   if (pRect) {
-    CPDF_Rect rcRefresh = CPWL_Utils::InflateRect(*pRect, 0.5f);
+    CFX_FloatRect rcRefresh = CPWL_Utils::InflateRect(*pRect, 0.5f);
     rcRefresh.top += 1;
     rcRefresh.bottom -= 1;
 
diff --git a/fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp b/fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp
index 7582ae4..bdc6724 100644
--- a/fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_ComboBox.cpp
@@ -20,7 +20,8 @@
 #define IsFloatSmaller(fa, fb) ((fa) < (fb) && !IsFloatZero((fa) - (fb)))
 #define IsFloatEqual(fa, fb) IsFloatZero((fa) - (fb))
 
-FX_BOOL CPWL_CBListBox::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_CBListBox::OnLButtonUp(const CFX_FloatPoint& point,
+                                    FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   if (m_bMouseDown) {
@@ -110,19 +111,19 @@
 void CPWL_CBButton::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
   CPWL_Wnd::GetThisAppearanceStream(sAppStream);
 
-  CPDF_Rect rectWnd = CPWL_Wnd::GetWindowRect();
+  CFX_FloatRect rectWnd = CPWL_Wnd::GetWindowRect();
 
   if (IsVisible() && !rectWnd.IsEmpty()) {
     CFX_ByteTextBuf sButton;
 
-    CPDF_Point ptCenter = GetCenterPoint();
+    CFX_FloatPoint ptCenter = GetCenterPoint();
 
-    CPDF_Point pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN,
-                   ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
-    CPDF_Point pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN,
-                   ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
-    CPDF_Point pt3(ptCenter.x,
-                   ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
+    CFX_FloatPoint pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN,
+                       ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
+    CFX_FloatPoint pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN,
+                       ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
+    CFX_FloatPoint pt3(ptCenter.x,
+                       ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
 
     if (IsFloatBigger(rectWnd.right - rectWnd.left,
                       PWL_CBBUTTON_TRIANGLE_HALFLEN * 2) &&
@@ -143,17 +144,17 @@
                                        CFX_Matrix* pUser2Device) {
   CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
 
-  CPDF_Rect rectWnd = CPWL_Wnd::GetWindowRect();
+  CFX_FloatRect rectWnd = CPWL_Wnd::GetWindowRect();
 
   if (IsVisible() && !rectWnd.IsEmpty()) {
-    CPDF_Point ptCenter = GetCenterPoint();
+    CFX_FloatPoint ptCenter = GetCenterPoint();
 
-    CPDF_Point pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN,
-                   ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
-    CPDF_Point pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN,
-                   ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
-    CPDF_Point pt3(ptCenter.x,
-                   ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
+    CFX_FloatPoint pt1(ptCenter.x - PWL_CBBUTTON_TRIANGLE_HALFLEN,
+                       ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
+    CFX_FloatPoint pt2(ptCenter.x + PWL_CBBUTTON_TRIANGLE_HALFLEN,
+                       ptCenter.y + PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
+    CFX_FloatPoint pt3(ptCenter.x,
+                       ptCenter.y - PWL_CBBUTTON_TRIANGLE_HALFLEN * 0.5f);
 
     if (IsFloatBigger(rectWnd.right - rectWnd.left,
                       PWL_CBBUTTON_TRIANGLE_HALFLEN * 2) &&
@@ -175,7 +176,8 @@
   }
 }
 
-FX_BOOL CPWL_CBButton::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_CBButton::OnLButtonDown(const CFX_FloatPoint& point,
+                                     FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   SetCapture();
@@ -188,7 +190,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_CBButton::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_CBButton::OnLButtonUp(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   ReleaseCapture();
@@ -297,7 +300,7 @@
     if (!HasFlag(PCBS_ALLOWCUSTOMTEXT))
       ecp.dwFlags |= PWS_READONLY;
 
-    ecp.rcRectWnd = CPDF_Rect(0, 0, 0, 0);
+    ecp.rcRectWnd = CFX_FloatRect(0, 0, 0, 0);
     ecp.dwBorderWidth = 0;
     ecp.nBorderStyle = PBS_SOLID;
 
@@ -333,7 +336,7 @@
     lcp.nBorderStyle = PBS_SOLID;
     lcp.dwBorderWidth = 1;
     lcp.eCursorType = FXCT_ARROW;
-    lcp.rcRectWnd = CPDF_Rect(0, 0, 0, 0);
+    lcp.rcRectWnd = CFX_FloatRect(0, 0, 0, 0);
 
     if (cp.dwFlags & PWS_AUTOFONTSIZE)
       lcp.fFontSize = PWLCB_DEFAULTFONTSIZE;
@@ -351,13 +354,13 @@
 }
 
 void CPWL_ComboBox::RePosChildWnd() {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   if (m_bPopup) {
-    CPDF_Rect rclient = GetClientRect();
-    CPDF_Rect rcButton = rclient;
-    CPDF_Rect rcEdit = rcClient;
-    CPDF_Rect rcList = CPWL_Wnd::GetWindowRect();
+    CFX_FloatRect rclient = GetClientRect();
+    CFX_FloatRect rcButton = rclient;
+    CFX_FloatRect rcEdit = rcClient;
+    CFX_FloatRect rcList = CPWL_Wnd::GetWindowRect();
 
     FX_FLOAT fOldWindowHeight = m_rcOldWindow.Height();
     FX_FLOAT fOldClientHeight = fOldWindowHeight - GetBorderWidth() * 2;
@@ -419,7 +422,7 @@
       m_pList->ScrollToListItem(m_nSelectItem);
     }
   } else {
-    CPDF_Rect rcButton = rcClient;
+    CFX_FloatRect rcButton = rcClient;
 
     rcButton.left = rcButton.right - PWL_COMBOBOX_BUTTON_WIDTH;
 
@@ -429,7 +432,7 @@
     if (m_pButton)
       m_pButton->Move(rcButton, TRUE, FALSE);
 
-    CPDF_Rect rcEdit = rcClient;
+    CFX_FloatRect rcEdit = rcClient;
     rcEdit.right = rcButton.left - 1.0f;
 
     if (rcEdit.left < rcClient.left)
@@ -451,8 +454,8 @@
     m_pEdit->SelectAll();
 }
 
-CPDF_Rect CPWL_ComboBox::GetFocusRect() const {
-  return CPDF_Rect();
+CFX_FloatRect CPWL_ComboBox::GetFocusRect() const {
+  return CFX_FloatRect();
 }
 
 void CPWL_ComboBox::SetPopup(FX_BOOL bPopup) {
@@ -485,7 +488,7 @@
       if (IsFloatBigger(fPopupRet, 0.0f)) {
         m_bPopup = bPopup;
 
-        CPDF_Rect rcWindow = CPWL_Wnd::GetWindowRect();
+        CFX_FloatRect rcWindow = CPWL_Wnd::GetWindowRect();
         m_rcOldWindow = rcWindow;
         switch (nWhere) {
           default:
diff --git a/fpdfsdk/src/pdfwindow/PWL_Edit.cpp b/fpdfsdk/src/pdfwindow/PWL_Edit.cpp
index 7834473..0b3887b 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Edit.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Edit.cpp
@@ -73,10 +73,10 @@
 
 void CPWL_Edit::RePosChildWnd() {
   if (CPWL_ScrollBar* pVSB = GetVScrollBar()) {
-    CPDF_Rect rcWindow = m_rcOldWindow;
-    CPDF_Rect rcVScroll =
-        CPDF_Rect(rcWindow.right, rcWindow.bottom,
-                  rcWindow.right + PWL_SCROLLBAR_WIDTH, rcWindow.top);
+    CFX_FloatRect rcWindow = m_rcOldWindow;
+    CFX_FloatRect rcVScroll =
+        CFX_FloatRect(rcWindow.right, rcWindow.bottom,
+                      rcWindow.right + PWL_SCROLLBAR_WIDTH, rcWindow.top);
     pVSB->Move(rcVScroll, TRUE, FALSE);
   }
 
@@ -87,8 +87,8 @@
   CPWL_EditCtrl::RePosChildWnd();
 }
 
-CPDF_Rect CPWL_Edit::GetClientRect() const {
-  CPDF_Rect rcClient = CPWL_Utils::DeflateRect(
+CFX_FloatRect CPWL_Edit::GetClientRect() const {
+  CFX_FloatRect rcClient = CPWL_Utils::DeflateRect(
       GetWindowRect(), (FX_FLOAT)(GetBorderWidth() + GetInnerBorderWidth()));
 
   if (CPWL_ScrollBar* pVSB = GetVScrollBar()) {
@@ -234,7 +234,7 @@
   m_pEdit->EnableUndo(HasFlag(PES_UNDO));
 
   if (HasFlag(PES_TEXTOVERFLOW)) {
-    SetClipRect(CPDF_Rect(0.0f, 0.0f, 0.0f, 0.0f));
+    SetClipRect(CFX_FloatRect(0.0f, 0.0f, 0.0f, 0.0f));
     m_pEdit->SetTextOverflow(TRUE, FALSE);
   } else {
     if (m_pEditCaret) {
@@ -251,7 +251,7 @@
 void CPWL_Edit::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
   CPWL_Wnd::GetThisAppearanceStream(sAppStream);
 
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
   CFX_ByteTextBuf sLine;
 
   int32_t nCharArray = m_pEdit->GetCharArray();
@@ -299,7 +299,7 @@
 
   CFX_ByteTextBuf sText;
 
-  CPDF_Point ptOffset = CPDF_Point(0.0f, 0.0f);
+  CFX_FloatPoint ptOffset = CFX_FloatPoint(0.0f, 0.0f);
 
   CPVT_WordRange wrWhole = m_pEdit->GetWholeWordRange();
   CPVT_WordRange wrSelect = GetSelectWordRange();
@@ -355,7 +355,7 @@
   }
 
   if (sText.GetLength() > 0) {
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
     sAppStream << "q\n/Tx BMC\n";
 
     if (!HasFlag(PES_TEXTOVERFLOW))
@@ -373,7 +373,7 @@
                                    CFX_Matrix* pUser2Device) {
   CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
 
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
   CFX_ByteTextBuf sLine;
 
   int32_t nCharArray = m_pEdit->GetCharArray();
@@ -441,7 +441,7 @@
     }
   }
 
-  CPDF_Rect rcClip;
+  CFX_FloatRect rcClip;
   CPVT_WordRange wrRange = m_pEdit->GetVisibleWordRange();
   CPVT_WordRange* pRange = NULL;
 
@@ -454,16 +454,16 @@
       pDevice, pUser2Device, m_pEdit,
       CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()),
       CPWL_Utils::PWLColorToFXColor(GetTextStrokeColor(), GetTransparency()),
-      rcClip, CPDF_Point(0.0f, 0.0f), pRange, pSysHandler, m_pFormFiller);
+      rcClip, CFX_FloatPoint(0.0f, 0.0f), pRange, pSysHandler, m_pFormFiller);
 
   if (HasFlag(PES_SPELLCHECK)) {
     CPWL_Utils::DrawEditSpellCheck(pDevice, pUser2Device, m_pEdit, rcClip,
-                                   CPDF_Point(0.0f, 0.0f), pRange,
+                                   CFX_FloatPoint(0.0f, 0.0f), pRange,
                                    GetCreationParam().pSpellCheck);
   }
 }
 
-FX_BOOL CPWL_Edit::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Edit::OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   if (HasFlag(PES_TEXTOVERFLOW) || ClientHitTest(point)) {
@@ -479,7 +479,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_Edit::OnLButtonDblClk(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Edit::OnLButtonDblClk(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDblClk(point, nFlag);
 
   if (HasFlag(PES_TEXTOVERFLOW) || ClientHitTest(point)) {
@@ -498,7 +499,7 @@
 #define WM_PWLEDIT_SELECTALL 0x07
 #define WM_PWLEDIT_SUGGEST 0x08
 
-FX_BOOL CPWL_Edit::OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Edit::OnRButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   if (m_bMouseDown)
     return FALSE;
 
@@ -521,7 +522,7 @@
     return FALSE;
 
   std::vector<CFX_ByteString> sSuggestWords;
-  CPDF_Point ptPopup = point;
+  CFX_FloatPoint ptPopup = point;
 
   if (!IsReadOnly()) {
     if (HasFlag(PES_SPELLCHECK) && !swLatin.IsEmpty()) {
@@ -684,7 +685,7 @@
   ShowVScrollBar(FALSE);
 
   m_pEdit->SelectNone();
-  SetCaret(FALSE, CPDF_Point(0.0f, 0.0f), CPDF_Point(0.0f, 0.0f));
+  SetCaret(FALSE, CFX_FloatPoint(0.0f, 0.0f), CFX_FloatPoint(0.0f, 0.0f));
 
   SetCharSet(0);
 
@@ -710,7 +711,7 @@
 }
 
 CFX_ByteString CPWL_Edit::GetSelectAppearanceStream(
-    const CPDF_Point& ptOffset) const {
+    const CFX_FloatPoint& ptOffset) const {
   CPVT_WordRange wr = GetSelectWordRange();
   return CPWL_Utils::GetEditSelAppStream(m_pEdit, ptOffset, &wr);
 }
@@ -732,7 +733,7 @@
 }
 
 CFX_ByteString CPWL_Edit::GetTextAppearanceStream(
-    const CPDF_Point& ptOffset) const {
+    const CFX_FloatPoint& ptOffset) const {
   CFX_ByteTextBuf sRet;
   CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream(m_pEdit, ptOffset);
 
@@ -745,23 +746,24 @@
 }
 
 CFX_ByteString CPWL_Edit::GetCaretAppearanceStream(
-    const CPDF_Point& ptOffset) const {
+    const CFX_FloatPoint& ptOffset) const {
   if (m_pEditCaret)
     return m_pEditCaret->GetCaretAppearanceStream(ptOffset);
 
   return CFX_ByteString();
 }
 
-CPDF_Point CPWL_Edit::GetWordRightBottomPoint(const CPVT_WordPlace& wpWord) {
-  CPDF_Point pt(0.0f, 0.0f);
+CFX_FloatPoint CPWL_Edit::GetWordRightBottomPoint(
+    const CPVT_WordPlace& wpWord) {
+  CFX_FloatPoint pt(0.0f, 0.0f);
 
   if (IFX_Edit_Iterator* pIterator = m_pEdit->GetIterator()) {
     CPVT_WordPlace wpOld = pIterator->GetAt();
     pIterator->SetAt(wpWord);
     CPVT_Word word;
     if (pIterator->GetWord(word)) {
-      pt = CPDF_Point(word.ptWord.x + word.fWidth,
-                      word.ptWord.y + word.fDescent);
+      pt = CFX_FloatPoint(word.ptWord.x + word.fWidth,
+                          word.ptWord.y + word.fDescent);
     }
 
     pIterator->SetAt(wpOld);
@@ -775,13 +777,13 @@
 }
 
 FX_FLOAT CPWL_Edit::GetCharArrayAutoFontSize(CPDF_Font* pFont,
-                                             const CPDF_Rect& rcPlate,
+                                             const CFX_FloatRect& rcPlate,
                                              int32_t nCharArray) {
   if (pFont && !pFont->IsStandardFont()) {
     FX_RECT rcBBox;
     pFont->GetFontBBox(rcBBox);
 
-    CPDF_Rect rcCell = rcPlate;
+    CFX_FloatRect rcCell = rcPlate;
     FX_FLOAT xdiv = rcCell.Width() / nCharArray * 1000.0f / rcBBox.Width();
     FX_FLOAT ydiv = -rcCell.Height() * 1000.0f / rcBBox.Height();
 
@@ -818,8 +820,8 @@
   m_pEdit->InsertText(csText);
 }
 
-CPDF_Rect CPWL_Edit::GetFocusRect() const {
-  return CPDF_Rect();
+CFX_FloatRect CPWL_Edit::GetFocusRect() const {
+  return CFX_FloatRect();
 }
 
 void CPWL_Edit::ShowVScrollBar(FX_BOOL bShow) {
@@ -827,7 +829,7 @@
     if (bShow) {
       if (!pScroll->IsVisible()) {
         pScroll->SetVisible(TRUE);
-        CPDF_Rect rcWindow = GetWindowRect();
+        CFX_FloatRect rcWindow = GetWindowRect();
         m_rcOldWindow = rcWindow;
         rcWindow.right += PWL_SCROLLBAR_WIDTH;
         Move(rcWindow, TRUE, TRUE);
@@ -976,10 +978,10 @@
 }
 
 FX_BOOL CPWL_Edit::OnMouseWheel(short zDelta,
-                                const CPDF_Point& point,
+                                const CFX_FloatPoint& point,
                                 FX_DWORD nFlag) {
   if (HasFlag(PES_MULTILINE)) {
-    CPDF_Point ptScroll = GetScrollPos();
+    CFX_FloatPoint ptScroll = GetScrollPos();
 
     if (zDelta > 0) {
       ptScroll.y += GetFontSize();
@@ -1094,7 +1096,8 @@
   return wrRet;
 }
 
-CPVT_WordRange CPWL_Edit::GetLatinWordsRange(const CPDF_Point& point) const {
+CPVT_WordRange CPWL_Edit::GetLatinWordsRange(
+    const CFX_FloatPoint& point) const {
   return GetSameWordsRange(m_pEdit->SearchWordPlace(point), TRUE, FALSE);
 }
 
@@ -1167,7 +1170,7 @@
 
 void CPWL_Edit::GeneratePageObjects(
     CPDF_PageObjectHolder* pObjectHolder,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray) {
   IFX_Edit::GeneratePageObjects(
       pObjectHolder, m_pEdit, ptOffset, NULL,
@@ -1176,7 +1179,7 @@
 }
 
 void CPWL_Edit::GeneratePageObjects(CPDF_PageObjectHolder* pObjectHolder,
-                                    const CPDF_Point& ptOffset) {
+                                    const CFX_FloatPoint& ptOffset) {
   CFX_ArrayTemplate<CPDF_TextObject*> ObjArray;
   IFX_Edit::GeneratePageObjects(
       pObjectHolder, m_pEdit, ptOffset, NULL,
diff --git a/fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp b/fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp
index c505c7e..10b5d6c 100644
--- a/fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_EditCtrl.cpp
@@ -47,8 +47,8 @@
 
 FX_BOOL CPWL_EditCtrl::IsWndHorV() {
   CFX_Matrix mt = GetWindowMatrix();
-  CPDF_Point point1(0, 1);
-  CPDF_Point point2(1, 1);
+  CFX_FloatPoint point1(0, 1);
+  CFX_FloatPoint point2(1, 1);
 
   mt.Transform(point1.x, point1.y);
   mt.Transform(point2.x, point2.y);
@@ -100,7 +100,8 @@
       FX_FLOAT fPos = *(FX_FLOAT*)lParam;
       switch (wParam) {
         case SBT_VSCROLL:
-          m_pEdit->SetScrollPos(CPDF_Point(m_pEdit->GetScrollPos().x, fPos));
+          m_pEdit->SetScrollPos(
+              CFX_FloatPoint(m_pEdit->GetScrollPos().x, fPos));
           break;
       }
     } break;
@@ -127,7 +128,7 @@
     ecp.dwFlags = PWS_CHILD | PWS_NOREFRESHCLIP;
     ecp.dwBorderWidth = 0;
     ecp.nBorderStyle = PBS_SOLID;
-    ecp.rcRectWnd = CPDF_Rect(0, 0, 0, 0);
+    ecp.rcRectWnd = CFX_FloatRect(0, 0, 0, 0);
 
     m_pEditCaret->Create(ecp);
   }
@@ -290,7 +291,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_EditCtrl::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_EditCtrl::OnLButtonDown(const CFX_FloatPoint& point,
+                                     FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   if (ClientHitTest(point)) {
@@ -306,7 +308,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_EditCtrl::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_EditCtrl::OnLButtonUp(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   if (m_bMouseDown) {
@@ -321,7 +324,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_EditCtrl::OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_EditCtrl::OnMouseMove(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnMouseMove(point, nFlag);
 
   if (m_bMouseDown)
@@ -330,12 +334,12 @@
   return TRUE;
 }
 
-CPDF_Rect CPWL_EditCtrl::GetContentRect() const {
+CFX_FloatRect CPWL_EditCtrl::GetContentRect() const {
   return m_pEdit->GetContentRect();
 }
 
 void CPWL_EditCtrl::SetEditCaret(FX_BOOL bVisible) {
-  CPDF_Point ptHead(0, 0), ptFoot(0, 0);
+  CFX_FloatPoint ptHead(0, 0), ptFoot(0, 0);
 
   if (bVisible) {
     GetCaretInfo(ptHead, ptFoot);
@@ -345,7 +349,8 @@
   IOnSetCaret(bVisible, ptHead, ptFoot, wpTemp);
 }
 
-void CPWL_EditCtrl::GetCaretInfo(CPDF_Point& ptHead, CPDF_Point& ptFoot) const {
+void CPWL_EditCtrl::GetCaretInfo(CFX_FloatPoint& ptHead,
+                                 CFX_FloatPoint& ptFoot) const {
   if (IFX_Edit_Iterator* pIterator = m_pEdit->GetIterator()) {
     pIterator->SetAt(m_pEdit->GetCaret());
     CPVT_Word word;
@@ -365,7 +370,7 @@
 }
 
 void CPWL_EditCtrl::GetCaretPos(int32_t& x, int32_t& y) const {
-  CPDF_Point ptHead(0, 0), ptFoot(0, 0);
+  CFX_FloatPoint ptHead(0, 0), ptFoot(0, 0);
 
   GetCaretInfo(ptHead, ptFoot);
 
@@ -373,8 +378,8 @@
 }
 
 void CPWL_EditCtrl::SetCaret(FX_BOOL bVisible,
-                             const CPDF_Point& ptHead,
-                             const CPDF_Point& ptFoot) {
+                             const CFX_FloatPoint& ptHead,
+                             const CFX_FloatPoint& ptFoot) {
   if (m_pEditCaret) {
     if (!IsFocused() || m_pEdit->IsSelected())
       bVisible = FALSE;
@@ -433,16 +438,16 @@
   return 0;
 }
 
-void CPWL_EditCtrl::SetScrollPos(const CPDF_Point& point) {
+void CPWL_EditCtrl::SetScrollPos(const CFX_FloatPoint& point) {
   if (m_pEdit)
     m_pEdit->SetScrollPos(point);
 }
 
-CPDF_Point CPWL_EditCtrl::GetScrollPos() const {
+CFX_FloatPoint CPWL_EditCtrl::GetScrollPos() const {
   if (m_pEdit)
     return m_pEdit->GetScrollPos();
 
-  return CPDF_Point(0.0f, 0.0f);
+  return CFX_FloatPoint(0.0f, 0.0f);
 }
 
 CPDF_Font* CPWL_EditCtrl::GetCaretFont() const {
@@ -570,8 +575,8 @@
 }
 
 void CPWL_EditCtrl::IOnSetCaret(FX_BOOL bVisible,
-                                const CPDF_Point& ptHead,
-                                const CPDF_Point& ptFoot,
+                                const CFX_FloatPoint& ptHead,
+                                const CFX_FloatPoint& ptFoot,
                                 const CPVT_WordPlace& place) {
   PWL_CARET_INFO cInfo;
   cInfo.bVisible = bVisible;
@@ -584,7 +589,7 @@
 void CPWL_EditCtrl::IOnCaretChange(const CPVT_SecProps& secProps,
                                    const CPVT_WordProps& wordProps) {}
 
-void CPWL_EditCtrl::IOnContentChange(const CPDF_Rect& rcContent) {
+void CPWL_EditCtrl::IOnContentChange(const CFX_FloatRect& rcContent) {
   if (IsValid()) {
     if (m_pEditNotify) {
       m_pEditNotify->OnContentChange(rcContent);
@@ -592,7 +597,7 @@
   }
 }
 
-void CPWL_EditCtrl::IOnInvalidateRect(CPDF_Rect* pRect) {
+void CPWL_EditCtrl::IOnInvalidateRect(CFX_FloatRect* pRect) {
   InvalidateRect(pRect);
 }
 
@@ -600,13 +605,13 @@
   return m_nCharSet < 0 ? DEFAULT_CHARSET : m_nCharSet;
 }
 
-void CPWL_EditCtrl::GetTextRange(const CPDF_Rect& rect,
+void CPWL_EditCtrl::GetTextRange(const CFX_FloatRect& rect,
                                  int32_t& nStartChar,
                                  int32_t& nEndChar) const {
   nStartChar = m_pEdit->WordPlaceToWordIndex(
-      m_pEdit->SearchWordPlace(CPDF_Point(rect.left, rect.top)));
+      m_pEdit->SearchWordPlace(CFX_FloatPoint(rect.left, rect.top)));
   nEndChar = m_pEdit->WordPlaceToWordIndex(
-      m_pEdit->SearchWordPlace(CPDF_Point(rect.right, rect.bottom)));
+      m_pEdit->SearchWordPlace(CFX_FloatPoint(rect.right, rect.bottom)));
 }
 
 CFX_WideString CPWL_EditCtrl::GetText(int32_t& nStartChar,
diff --git a/fpdfsdk/src/pdfwindow/PWL_Icon.cpp b/fpdfsdk/src/pdfwindow/PWL_Icon.cpp
index 56c22d1..1bfa1a6 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Icon.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Icon.cpp
@@ -16,7 +16,7 @@
   CFX_ByteTextBuf sAppStream;
 
   CFX_ByteString sAlias = GetImageAlias();
-  CPDF_Rect rcPlate = GetClientRect();
+  CFX_FloatRect rcPlate = GetClientRect();
   CFX_Matrix mt;
   mt.SetReverse(GetImageMatrix());
 
@@ -60,7 +60,7 @@
 
   if (m_pPDFStream) {
     if (CPDF_Dictionary* pDict = m_pPDFStream->GetDict()) {
-      CPDF_Rect rect = pDict->GetRectBy("BBox");
+      CFX_FloatRect rect = pDict->GetRectBy("BBox");
 
       fWidth = rect.right - rect.left;
       fHeight = rect.top - rect.bottom;
@@ -157,7 +157,7 @@
     FX_FLOAT fImageWidth, fImageHeight;
     FX_FLOAT fPlateWidth, fPlateHeight;
 
-    CPDF_Rect rcPlate = GetClientRect();
+    CFX_FloatRect rcPlate = GetClientRect();
     fPlateWidth = rcPlate.right - rcPlate.left;
     fPlateHeight = rcPlate.top - rcPlate.bottom;
 
@@ -213,7 +213,7 @@
   FX_FLOAT fImageFactHeight = fImageHeight * fVScale;
 
   FX_FLOAT fPlateWidth, fPlateHeight;
-  CPDF_Rect rcPlate = GetClientRect();
+  CFX_FloatRect rcPlate = GetClientRect();
   fPlateWidth = rcPlate.right - rcPlate.left;
   fPlateHeight = rcPlate.top - rcPlate.bottom;
 
diff --git a/fpdfsdk/src/pdfwindow/PWL_IconList.cpp b/fpdfsdk/src/pdfwindow/PWL_IconList.cpp
index c6849d0..7dc8ba9 100644
--- a/fpdfsdk/src/pdfwindow/PWL_IconList.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_IconList.cpp
@@ -33,7 +33,7 @@
 
 void CPWL_IconList_Item::DrawThisAppearance(CFX_RenderDevice* pDevice,
                                             CFX_Matrix* pUser2Device) {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   if (m_bSelected) {
     if (IsEnabled()) {
@@ -49,7 +49,7 @@
     }
   }
 
-  CPDF_Rect rcIcon = rcClient;
+  CFX_FloatRect rcIcon = rcClient;
   rcIcon.left += PWL_IconList_ITEM_ICON_LEFTMARGIN;
   rcIcon.right = rcIcon.left + PWL_IconList_ITEM_WIDTH;
 
@@ -99,7 +99,7 @@
 }
 
 void CPWL_IconList_Item::RePosChildWnd() {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   rcClient.left +=
       (PWL_IconList_ITEM_ICON_LEFTMARGIN + PWL_IconList_ITEM_WIDTH +
@@ -150,7 +150,7 @@
   ResetContent(0);
 
   if (CPWL_Wnd* pParent = GetParentWindow()) {
-    CPDF_Rect rcScroll = GetScrollArea();
+    CFX_FloatRect rcScroll = GetScrollArea();
     GetScrollPos();
 
     PWL_SCROLL_INFO sInfo;
@@ -164,7 +164,7 @@
   }
 }
 
-FX_BOOL CPWL_IconList_Content::OnLButtonDown(const CPDF_Point& point,
+FX_BOOL CPWL_IconList_Content::OnLButtonDown(const CFX_FloatPoint& point,
                                              FX_DWORD nFlag) {
   SetFocus();
 
@@ -178,7 +178,7 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_IconList_Content::OnLButtonUp(const CPDF_Point& point,
+FX_BOOL CPWL_IconList_Content::OnLButtonUp(const CFX_FloatPoint& point,
                                            FX_DWORD nFlag) {
   m_bMouseDown = FALSE;
   ReleaseCapture();
@@ -186,7 +186,7 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_IconList_Content::OnMouseMove(const CPDF_Point& point,
+FX_BOOL CPWL_IconList_Content::OnMouseMove(const CFX_FloatPoint& point,
                                            FX_DWORD nFlag) {
   if (m_bMouseDown) {
     int32_t nItemIndex = FindItemIndex(point);
@@ -218,11 +218,11 @@
   return FALSE;
 }
 
-int32_t CPWL_IconList_Content::FindItemIndex(const CPDF_Point& point) {
+int32_t CPWL_IconList_Content::FindItemIndex(const CFX_FloatPoint& point) {
   int32_t nIndex = 0;
   for (int32_t i = 0, sz = m_aChildren.GetSize(); i < sz; i++) {
     if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) {
-      CPDF_Rect rcWnd = pChild->ChildToParent(pChild->GetWindowRect());
+      CFX_FloatRect rcWnd = pChild->ChildToParent(pChild->GetWindowRect());
 
       if (point.y < rcWnd.top) {
         nIndex = i;
@@ -234,14 +234,14 @@
 }
 
 void CPWL_IconList_Content::ScrollToItem(int32_t nItemIndex) {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   if (CPWL_IconList_Item* pItem = GetListItem(nItemIndex)) {
-    CPDF_Rect rcOrigin = pItem->GetWindowRect();
-    CPDF_Rect rcWnd = pItem->ChildToParent(rcOrigin);
+    CFX_FloatRect rcOrigin = pItem->GetWindowRect();
+    CFX_FloatRect rcWnd = pItem->ChildToParent(rcOrigin);
 
     if (!(rcWnd.bottom > rcClient.bottom && rcWnd.top < rcClient.top)) {
-      CPDF_Point ptScroll = GetScrollPos();
+      CFX_FloatPoint ptScroll = GetScrollPos();
 
       if (rcWnd.top > rcClient.top) {
         ptScroll.y = rcOrigin.top;
@@ -398,7 +398,7 @@
               }
 
               if (m_pListContent)
-                m_pListContent->SetScrollPos(CPDF_Point(0.0f, 0.0f));
+                m_pListContent->SetScrollPos(CFX_FloatPoint(0.0f, 0.0f));
             }
 
             pScrollBar->OnNotify(pWnd, PNM_SETSCROLLINFO, wParam, lParam);
@@ -407,7 +407,8 @@
         return;
       case PNM_SCROLLWINDOW:
         if (m_pListContent) {
-          m_pListContent->SetScrollPos(CPDF_Point(0.0f, *(FX_FLOAT*)lParam));
+          m_pListContent->SetScrollPos(
+              CFX_FloatPoint(0.0f, *(FX_FLOAT*)lParam));
           m_pListContent->ResetFace();
           m_pListContent->InvalidateRect(NULL);
         }
@@ -462,14 +463,14 @@
 }
 
 FX_BOOL CPWL_IconList::OnMouseWheel(short zDelta,
-                                    const CPDF_Point& point,
+                                    const CFX_FloatPoint& point,
                                     FX_DWORD nFlag) {
-  CPDF_Point ptScroll = m_pListContent->GetScrollPos();
-  CPDF_Rect rcScroll = m_pListContent->GetScrollArea();
-  CPDF_Rect rcContents = m_pListContent->GetClientRect();
+  CFX_FloatPoint ptScroll = m_pListContent->GetScrollPos();
+  CFX_FloatRect rcScroll = m_pListContent->GetScrollArea();
+  CFX_FloatRect rcContents = m_pListContent->GetClientRect();
 
   if (rcScroll.top - rcScroll.bottom > rcContents.Height()) {
-    CPDF_Point ptNew = ptScroll;
+    CFX_FloatPoint ptNew = ptScroll;
 
     if (zDelta > 0)
       ptNew.y += 30;
diff --git a/fpdfsdk/src/pdfwindow/PWL_Label.cpp b/fpdfsdk/src/pdfwindow/PWL_Label.cpp
index 4f8a0dd..5f8d2d8 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Label.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Label.cpp
@@ -29,7 +29,7 @@
   m_pEdit->Initialize();
 
   if (HasFlag(PES_TEXTOVERFLOW)) {
-    SetClipRect(CPDF_Rect(0.0f, 0.0f, 0.0f, 0.0f));
+    SetClipRect(CFX_FloatRect(0.0f, 0.0f, 0.0f, 0.0f));
     m_pEdit->SetTextOverflow(TRUE);
   }
 }
@@ -87,7 +87,7 @@
 
   GetClientRect();
 
-  CPDF_Rect rcClip;
+  CFX_FloatRect rcClip;
   CPVT_WordRange wrRange = m_pEdit->GetVisibleWordRange();
   CPVT_WordRange* pRange = NULL;
 
@@ -100,7 +100,7 @@
       pDevice, pUser2Device, m_pEdit,
       CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()),
       CPWL_Utils::PWLColorToFXColor(GetTextStrokeColor(), GetTransparency()),
-      rcClip, CPDF_Point(0.0f, 0.0f), pRange, pSysHandler, NULL);
+      rcClip, CFX_FloatPoint(0.0f, 0.0f), pRange, pSysHandler, NULL);
 }
 
 void CPWL_Label::SetHorzScale(int32_t nHorzScale) {
@@ -111,18 +111,18 @@
   m_pEdit->SetCharSpace(fCharSpace);
 }
 
-CPDF_Rect CPWL_Label::GetContentRect() const {
+CFX_FloatRect CPWL_Label::GetContentRect() const {
   return m_pEdit->GetContentRect();
 }
 
 void CPWL_Label::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
   CPWL_Wnd::GetThisAppearanceStream(sAppStream);
 
-  sAppStream << GetTextAppearanceStream(CPDF_Point(0.0f, 0.0f));
+  sAppStream << GetTextAppearanceStream(CFX_FloatPoint(0.0f, 0.0f));
 }
 
 CFX_ByteString CPWL_Label::GetTextAppearanceStream(
-    const CPDF_Point& ptOffset) const {
+    const CFX_FloatPoint& ptOffset) const {
   CFX_ByteTextBuf sRet;
   CFX_ByteString sEdit = CPWL_Utils::GetEditAppStream(m_pEdit, ptOffset);
 
diff --git a/fpdfsdk/src/pdfwindow/PWL_ListBox.cpp b/fpdfsdk/src/pdfwindow/PWL_ListBox.cpp
index e3e83f9..c8e738a 100644
--- a/fpdfsdk/src/pdfwindow/PWL_ListBox.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_ListBox.cpp
@@ -60,7 +60,7 @@
   m_pList->OnNotify(m_pList, PNM_SETSCROLLPOS, SBT_VSCROLL, (intptr_t)&fy);
 }
 
-void CPWL_List_Notify::IOnInvalidateRect(CPDF_Rect* pRect) {
+void CPWL_List_Notify::IOnInvalidateRect(CFX_FloatRect* pRect) {
   m_pList->InvalidateRect(pRect);
 }
 
@@ -109,14 +109,14 @@
   CFX_ByteTextBuf sListItems;
 
   if (m_pList) {
-    CPDF_Rect rcPlate = m_pList->GetPlateRect();
+    CFX_FloatRect rcPlate = m_pList->GetPlateRect();
     for (int32_t i = 0, sz = m_pList->GetCount(); i < sz; i++) {
-      CPDF_Rect rcItem = m_pList->GetItemRect(i);
+      CFX_FloatRect rcItem = m_pList->GetItemRect(i);
 
       if (rcItem.bottom > rcPlate.top || rcItem.top < rcPlate.bottom)
         continue;
 
-      CPDF_Point ptOffset(rcItem.left, (rcItem.top + rcItem.bottom) * 0.5f);
+      CFX_FloatPoint ptOffset(rcItem.left, (rcItem.top + rcItem.bottom) * 0.5f);
       if (m_pList->IsItemSelected(i)) {
         sListItems << CPWL_Utils::GetRectFillAppStream(
             rcItem, PWL_DEFAULT_SELBACKCOLOR);
@@ -140,7 +140,7 @@
 
   if (sListItems.GetLength() > 0) {
     CFX_ByteTextBuf sClip;
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
 
     sClip << "q\n";
     sClip << rcClient.left << " " << rcClient.bottom << " "
@@ -158,18 +158,18 @@
   CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
 
   if (m_pList) {
-    CPDF_Rect rcPlate = m_pList->GetPlateRect();
-    CPDF_Rect rcList = GetListRect();
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcPlate = m_pList->GetPlateRect();
+    CFX_FloatRect rcList = GetListRect();
+    CFX_FloatRect rcClient = GetClientRect();
 
     for (int32_t i = 0, sz = m_pList->GetCount(); i < sz; i++) {
-      CPDF_Rect rcItem = m_pList->GetItemRect(i);
+      CFX_FloatRect rcItem = m_pList->GetItemRect(i);
       if (rcItem.bottom > rcPlate.top || rcItem.top < rcPlate.bottom)
         continue;
 
-      CPDF_Point ptOffset(rcItem.left, (rcItem.top + rcItem.bottom) * 0.5f);
+      CFX_FloatPoint ptOffset(rcItem.left, (rcItem.top + rcItem.bottom) * 0.5f);
       if (IFX_Edit* pEdit = m_pList->GetItemEdit(i)) {
-        CPDF_Rect rcContent = pEdit->GetContentRect();
+        CFX_FloatRect rcContent = pEdit->GetContentRect();
         if (rcContent.Width() > rcClient.Width())
           rcItem.Intersect(rcList);
         else
@@ -265,7 +265,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_ListBox::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_ListBox::OnLButtonDown(const CFX_FloatPoint& point,
+                                    FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   if (ClientHitTest(point)) {
@@ -280,7 +281,7 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_ListBox::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_ListBox::OnLButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   if (m_bMouseDown) {
@@ -298,7 +299,7 @@
   m_bHoverSel = bHoverSel;
 }
 
-FX_BOOL CPWL_ListBox::OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_ListBox::OnMouseMove(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   CPWL_Wnd::OnMouseMove(point, nFlag);
 
   if (m_bHoverSel && !IsCaptureMouse() && ClientHitTest(point)) {
@@ -346,7 +347,7 @@
       switch (wParam) {
         case SBT_VSCROLL:
           if (m_pList)
-            m_pList->SetScrollPos(CPDF_Point(0, fPos));
+            m_pList->SetScrollPos(CFX_FloatPoint(0, fPos));
           break;
       }
       break;
@@ -380,9 +381,9 @@
                                      nFlag);
 }
 
-CPDF_Rect CPWL_ListBox::GetFocusRect() const {
+CFX_FloatRect CPWL_ListBox::GetFocusRect() const {
   if (m_pList && m_pList->IsMultipleSel()) {
-    CPDF_Rect rcCaret = m_pList->GetItemRect(m_pList->GetCaret());
+    CFX_FloatRect rcCaret = m_pList->GetItemRect(m_pList->GetCaret());
     rcCaret.Intersect(GetClientRect());
     return rcCaret;
   }
@@ -495,11 +496,11 @@
   return nIndex;
 }
 
-CPDF_Rect CPWL_ListBox::GetContentRect() const {
+CFX_FloatRect CPWL_ListBox::GetContentRect() const {
   if (m_pList)
     return m_pList->GetContentRect();
 
-  return CPDF_Rect();
+  return CFX_FloatRect();
 }
 
 FX_FLOAT CPWL_ListBox::GetFirstHeight() const {
@@ -509,13 +510,13 @@
   return 0.0f;
 }
 
-CPDF_Rect CPWL_ListBox::GetListRect() const {
+CFX_FloatRect CPWL_ListBox::GetListRect() const {
   return CPWL_Utils::DeflateRect(
       GetWindowRect(), (FX_FLOAT)(GetBorderWidth() + GetInnerBorderWidth()));
 }
 
 FX_BOOL CPWL_ListBox::OnMouseWheel(short zDelta,
-                                   const CPDF_Point& point,
+                                   const CFX_FloatPoint& point,
                                    FX_DWORD nFlag) {
   if (!m_pList)
     return FALSE;
diff --git a/fpdfsdk/src/pdfwindow/PWL_ListCtrl.cpp b/fpdfsdk/src/pdfwindow/PWL_ListCtrl.cpp
index 6d9627b..1c32ceb 100644
--- a/fpdfsdk/src/pdfwindow/PWL_ListCtrl.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_ListCtrl.cpp
@@ -16,7 +16,7 @@
 
 CPWL_ListCtrl::~CPWL_ListCtrl() {}
 
-void CPWL_ListCtrl::SetScrollPos(const CPDF_Point& point) {
+void CPWL_ListCtrl::SetScrollPos(const CFX_FloatPoint& point) {
   m_ptScroll = point;
 
   if (m_ptScroll.x < m_rcContent.left)
@@ -32,11 +32,11 @@
     m_ptScroll.y = m_rcContent.bottom;
 }
 
-CPDF_Point CPWL_ListCtrl::GetScrollPos() const {
+CFX_FloatPoint CPWL_ListCtrl::GetScrollPos() const {
   return m_ptScroll;
 }
 
-CPDF_Rect CPWL_ListCtrl::GetScrollArea() const {
+CFX_FloatRect CPWL_ListCtrl::GetScrollArea() const {
   return m_rcContent;
 }
 
@@ -77,7 +77,7 @@
 }
 
 void CPWL_ListCtrl::ResetAll(FX_BOOL bMove, int32_t nStart) {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   FX_FLOAT fWidth = rcClient.Width();
 
@@ -98,8 +98,9 @@
 
       if (bMove) {
         FX_FLOAT fItemHeight = pChild->GetItemHeight(fWidth - fLeft - fRight);
-        pChild->Move(CPDF_Rect(fLeft, fy - fItemHeight, fWidth - fRight, fy),
-                     TRUE, FALSE);
+        pChild->Move(
+            CFX_FloatRect(fLeft, fy - fItemHeight, fWidth - fRight, fy), TRUE,
+            FALSE);
         fy -= fItemHeight;
         fy -= m_fItemSpace;
       }
@@ -137,8 +138,8 @@
 void CPWL_ListCtrl::DrawChildAppearance(CFX_RenderDevice* pDevice,
                                         CFX_Matrix* pUser2Device) {
   pDevice->SaveState();
-  CPDF_Rect rcClient = GetClientRect();
-  CPDF_Rect rcTemp = rcClient;
+  CFX_FloatRect rcClient = GetClientRect();
+  CFX_FloatRect rcTemp = rcClient;
   pUser2Device->TransformRect(rcTemp);
   FX_RECT rcClip((int32_t)rcTemp.left, (int32_t)rcTemp.bottom,
                  (int32_t)rcTemp.right, (int32_t)rcTemp.top);
@@ -147,7 +148,7 @@
 
   for (int32_t i = 0, sz = m_aChildren.GetSize(); i < sz; i++) {
     if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) {
-      CPDF_Rect rcChild = pChild->ChildToParent(pChild->GetWindowRect());
+      CFX_FloatRect rcChild = pChild->ChildToParent(pChild->GetWindowRect());
       if (!(rcChild.top < rcClient.bottom || rcChild.bottom > rcClient.top)) {
         CFX_Matrix mt = pChild->GetChildMatrix();
         if (mt.IsIdentity()) {
@@ -172,34 +173,34 @@
   return -1;
 }
 
-CPDF_Point CPWL_ListCtrl::InToOut(const CPDF_Point& point) const {
-  CPDF_Rect rcClient = GetClientRect();
+CFX_FloatPoint CPWL_ListCtrl::InToOut(const CFX_FloatPoint& point) const {
+  CFX_FloatRect rcClient = GetClientRect();
 
-  return CPDF_Point(point.x + rcClient.left - m_ptScroll.x,
-                    point.y + rcClient.top - m_ptScroll.y);
+  return CFX_FloatPoint(point.x + rcClient.left - m_ptScroll.x,
+                        point.y + rcClient.top - m_ptScroll.y);
 }
 
-CPDF_Point CPWL_ListCtrl::OutToIn(const CPDF_Point& point) const {
-  CPDF_Rect rcClient = GetClientRect();
+CFX_FloatPoint CPWL_ListCtrl::OutToIn(const CFX_FloatPoint& point) const {
+  CFX_FloatRect rcClient = GetClientRect();
 
-  return CPDF_Point(point.x - rcClient.left + m_ptScroll.x,
-                    point.y - rcClient.top + m_ptScroll.y);
+  return CFX_FloatPoint(point.x - rcClient.left + m_ptScroll.x,
+                        point.y - rcClient.top + m_ptScroll.y);
 }
 
-CPDF_Rect CPWL_ListCtrl::InToOut(const CPDF_Rect& rect) const {
-  CPDF_Rect rcClient = GetClientRect();
+CFX_FloatRect CPWL_ListCtrl::InToOut(const CFX_FloatRect& rect) const {
+  CFX_FloatRect rcClient = GetClientRect();
 
-  return CPDF_Rect(rect.left + rcClient.left - m_ptScroll.x,
-                   rect.bottom + rcClient.top - m_ptScroll.y,
-                   rect.right + rcClient.left - m_ptScroll.x,
-                   rect.top + rcClient.top - m_ptScroll.y);
+  return CFX_FloatRect(rect.left + rcClient.left - m_ptScroll.x,
+                       rect.bottom + rcClient.top - m_ptScroll.y,
+                       rect.right + rcClient.left - m_ptScroll.x,
+                       rect.top + rcClient.top - m_ptScroll.y);
 }
 
-CPDF_Rect CPWL_ListCtrl::OutToIn(const CPDF_Rect& rect) const {
-  CPDF_Rect rcClient = GetClientRect();
+CFX_FloatRect CPWL_ListCtrl::OutToIn(const CFX_FloatRect& rect) const {
+  CFX_FloatRect rcClient = GetClientRect();
 
-  return CPDF_Rect(rect.left - rcClient.left + m_ptScroll.x,
-                   rect.bottom - rcClient.top + m_ptScroll.y,
-                   rect.right - rcClient.left + m_ptScroll.x,
-                   rect.top - rcClient.top + m_ptScroll.y);
+  return CFX_FloatRect(rect.left - rcClient.left + m_ptScroll.x,
+                       rect.bottom - rcClient.top + m_ptScroll.y,
+                       rect.right - rcClient.left + m_ptScroll.x,
+                       rect.top - rcClient.top + m_ptScroll.y);
 }
diff --git a/fpdfsdk/src/pdfwindow/PWL_Note.cpp b/fpdfsdk/src/pdfwindow/PWL_Note.cpp
index 760967b..1933d56 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Note.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Note.cpp
@@ -42,14 +42,14 @@
 
 void CPWL_Note_Options::RePosChildWnd() {
   if (IsValid()) {
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
 
     if (rcClient.Width() > 15.0f) {
       rcClient.right -= 15.0f;
       m_pText->Move(rcClient, TRUE, FALSE);
       m_pText->SetVisible(TRUE);
     } else {
-      m_pText->Move(CPDF_Rect(0, 0, 0, 0), TRUE, FALSE);
+      m_pText->Move(CFX_FloatRect(0, 0, 0, 0), TRUE, FALSE);
       m_pText->SetVisible(FALSE);
     }
   }
@@ -71,15 +71,16 @@
                                            CFX_Matrix* pUser2Device) {
   CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
 
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
   rcClient.left = rcClient.right - 15.0f;
 
-  CPDF_Point ptCenter = CPDF_Point((rcClient.left + rcClient.right) * 0.5f,
-                                   (rcClient.top + rcClient.bottom) * 0.5f);
+  CFX_FloatPoint ptCenter =
+      CFX_FloatPoint((rcClient.left + rcClient.right) * 0.5f,
+                     (rcClient.top + rcClient.bottom) * 0.5f);
 
-  CPDF_Point pt1(ptCenter.x - 2.0f, ptCenter.y + 2.0f * 0.5f);
-  CPDF_Point pt2(ptCenter.x + 2.0f, ptCenter.y + 2.0f * 0.5f);
-  CPDF_Point pt3(ptCenter.x, ptCenter.y - 3.0f * 0.5f);
+  CFX_FloatPoint pt1(ptCenter.x - 2.0f, ptCenter.y + 2.0f * 0.5f);
+  CFX_FloatPoint pt2(ptCenter.x + 2.0f, ptCenter.y + 2.0f * 0.5f);
+  CFX_FloatPoint pt3(ptCenter.x, ptCenter.y - 3.0f * 0.5f);
 
   CFX_PathData path;
 
@@ -95,8 +96,8 @@
       FXFILL_ALTERNATE);
 }
 
-CPDF_Rect CPWL_Note_Options::GetContentRect() const {
-  CPDF_Rect rcText = m_pText->GetContentRect();
+CFX_FloatRect CPWL_Note_Options::GetContentRect() const {
+  CFX_FloatRect rcText = m_pText->GetContentRect();
   rcText.right += 15.0f;
   return rcText;
 }
@@ -205,7 +206,7 @@
     EnableRefresh(FALSE);
     m_pEdit->EnableNotify(FALSE);
 
-    Move(CPDF_Rect(0, 0, fLimitWidth, 0), TRUE, FALSE);
+    Move(CFX_FloatRect(0, 0, fLimitWidth, 0), TRUE, FALSE);
     FX_FLOAT fRet = GetContentRect().Height();
 
     m_pEdit->EnableNotify(TRUE);
@@ -232,7 +233,7 @@
 
 void CPWL_Note_LBBox::DrawThisAppearance(CFX_RenderDevice* pDevice,
                                          CFX_Matrix* pUser2Device) {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   CFX_GraphStateData gsd;
   gsd.m_LineWidth = 1.0f;
@@ -259,7 +260,7 @@
 
 void CPWL_Note_RBBox::DrawThisAppearance(CFX_RenderDevice* pDevice,
                                          CFX_Matrix* pUser2Device) {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   CFX_GraphStateData gsd;
   gsd.m_LineWidth = 1.0f;
@@ -303,7 +304,7 @@
                                             CFX_Matrix* pUser2Device) {
   CPWL_Button::DrawThisAppearance(pDevice, pUser2Device);
 
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
   rcClient = CPWL_Utils::DeflateRect(rcClient, 2.0f);
 
   CFX_GraphStateData gsd;
@@ -330,7 +331,7 @@
       FXFILL_ALTERNATE);
 }
 
-FX_BOOL CPWL_Note_CloseBox::OnLButtonDown(const CPDF_Point& point,
+FX_BOOL CPWL_Note_CloseBox::OnLButtonDown(const CFX_FloatPoint& point,
                                           FX_DWORD nFlag) {
   SetBorderStyle(PBS_INSET);
   InvalidateRect(NULL);
@@ -340,7 +341,7 @@
   return CPWL_Button::OnLButtonDown(point, nFlag);
 }
 
-FX_BOOL CPWL_Note_CloseBox::OnLButtonUp(const CPDF_Point& point,
+FX_BOOL CPWL_Note_CloseBox::OnLButtonUp(const CFX_FloatPoint& point,
                                         FX_DWORD nFlag) {
   m_bMouseDown = FALSE;
 
@@ -448,8 +449,8 @@
   }
 }
 
-IPWL_NoteItem* CPWL_Note_Contents::GetHitNoteItem(const CPDF_Point& point) {
-  CPDF_Point pt = ParentToChild(point);
+IPWL_NoteItem* CPWL_Note_Contents::GetHitNoteItem(const CFX_FloatPoint& point) {
+  CFX_FloatPoint pt = ParentToChild(point);
 
   for (int32_t i = 0, sz = m_aChildren.GetSize(); i < sz; i++) {
     if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) {
@@ -488,7 +489,7 @@
     }
       return;
     case PNM_SCROLLWINDOW:
-      SetScrollPos(CPDF_Point(0.0f, *(FX_FLOAT*)lParam));
+      SetScrollPos(CFX_FloatPoint(0.0f, *(FX_FLOAT*)lParam));
       ResetFace();
       InvalidateRect(NULL);
       return;
@@ -524,7 +525,7 @@
   CPWL_Wnd::OnNotify(pWnd, msg, wParam, lParam);
 }
 
-FX_BOOL CPWL_Note_Contents::OnLButtonDown(const CPDF_Point& point,
+FX_BOOL CPWL_Note_Contents::OnLButtonDown(const CFX_FloatPoint& point,
                                           FX_DWORD nFlag) {
   if (CPWL_Wnd::OnLButtonDown(point, nFlag))
     return TRUE;
@@ -631,9 +632,9 @@
 
 void CPWL_NoteItem::RePosChildWnd() {
   if (IsValid()) {
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
 
-    CPDF_Rect rcSubject = rcClient;
+    CFX_FloatRect rcSubject = rcClient;
     rcSubject.left += POPUP_ITEM_TEXT_INDENT;
     rcSubject.top = rcClient.top;
     rcSubject.right =
@@ -644,7 +645,7 @@
     m_pSubject->Move(rcSubject, TRUE, FALSE);
     m_pSubject->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcSubject));
 
-    CPDF_Rect rcDate = rcClient;
+    CFX_FloatRect rcDate = rcClient;
     rcDate.right -= POPUP_ITEM_TEXT_INDENT;
     rcDate.left =
         PWL_MAX(rcDate.right - m_pDateTime->GetContentRect().Width() - 1.0f,
@@ -654,7 +655,7 @@
     m_pDateTime->Move(rcDate, TRUE, FALSE);
     m_pDateTime->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcDate));
 
-    CPDF_Rect rcContents = rcClient;
+    CFX_FloatRect rcContents = rcClient;
     rcContents.left += 1.0f;
     rcContents.right -= 1.0f;
     rcContents.top = rcDate.bottom - POPUP_ITEM_HEAD_BOTTOM;
@@ -850,8 +851,8 @@
     m_pContents->DeleteSubItem(pNoteItem);
 }
 
-IPWL_NoteItem* CPWL_NoteItem::GetHitNoteItem(const CPDF_Point& point) {
-  CPDF_Point pt = ParentToChild(point);
+IPWL_NoteItem* CPWL_NoteItem::GetHitNoteItem(const CFX_FloatPoint& point) {
+  CFX_FloatPoint pt = ParentToChild(point);
 
   if (WndHitTest(pt)) {
     if (m_pContents) {
@@ -909,7 +910,8 @@
   return POPUP_ITEM_SIDEMARGIN;
 }
 
-FX_BOOL CPWL_NoteItem::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_NoteItem::OnLButtonDown(const CFX_FloatPoint& point,
+                                     FX_DWORD nFlag) {
   if (!m_pContents->WndHitTest(m_pContents->ParentToChild(point))) {
     SetNoteFocus(FALSE);
   }
@@ -919,7 +921,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_NoteItem::OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_NoteItem::OnRButtonUp(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   if (!m_pContents->WndHitTest(m_pContents->ParentToChild(point))) {
     SetNoteFocus(FALSE);
     PopupNoteItemMenu(point);
@@ -964,7 +967,7 @@
   CPWL_Wnd::OnNotify(pWnd, msg, wParam, lParam);
 }
 
-void CPWL_NoteItem::PopupNoteItemMenu(const CPDF_Point& point) {
+void CPWL_NoteItem::PopupNoteItemMenu(const CFX_FloatPoint& point) {
   if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
     int32_t x, y;
     PWLtoWnd(point, x, y);
@@ -1077,13 +1080,13 @@
   }
 
   if (bScrollChanged) {
-    CPDF_Rect rcNote = GetClientRect();
-    CPDF_Rect rcContents = m_pContents->GetWindowRect();
+    CFX_FloatRect rcNote = GetClientRect();
+    CFX_FloatRect rcContents = m_pContents->GetWindowRect();
     rcContents.right = rcNote.right - 3.0f;
     if (m_pContentsBar->IsVisible())
       rcContents.right -= PWL_SCROLLBAR_WIDTH;
     m_pContents->Move(rcContents, TRUE, TRUE);
-    m_pContents->SetScrollPos(CPDF_Point(0.0f, 0.0f));
+    m_pContents->SetScrollPos(CFX_FloatPoint(0.0f, 0.0f));
     m_pContents->InvalidateRect(NULL);
   }
 
@@ -1091,8 +1094,8 @@
 }
 
 FX_BOOL CPWL_Note::ScrollBarShouldVisible() {
-  CPDF_Rect rcContentsFact = m_pContents->GetScrollArea();
-  CPDF_Rect rcContentsClient = m_pContents->GetClientRect();
+  CFX_FloatRect rcContentsFact = m_pContents->GetScrollArea();
+  CFX_FloatRect rcContentsClient = m_pContents->GetClientRect();
 
   return rcContentsFact.Height() > rcContentsClient.Height();
 }
@@ -1111,9 +1114,9 @@
   m_bResizing = TRUE;
 
   if (IsValid()) {
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
 
-    CPDF_Rect rcIcon = rcClient;
+    CFX_FloatRect rcIcon = rcClient;
     rcIcon.top -= 2.0f;
     rcIcon.right = rcIcon.left + 14.0f;
     rcIcon.bottom = rcIcon.top - 14.0f;
@@ -1121,7 +1124,7 @@
     m_pIcon->Move(rcIcon, TRUE, FALSE);
     m_pIcon->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcIcon));
 
-    CPDF_Rect rcCloseBox = rcClient;
+    CFX_FloatRect rcCloseBox = rcClient;
     rcCloseBox.right -= 1.0f;
     rcCloseBox.top -= 1.0f;
     rcCloseBox.left = rcCloseBox.right - 14.0f;
@@ -1130,7 +1133,7 @@
     m_pCloseBox->Move(rcCloseBox, TRUE, FALSE);
     m_pCloseBox->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcCloseBox));
 
-    CPDF_Rect rcDate = rcClient;
+    CFX_FloatRect rcDate = rcClient;
     rcDate.right = rcCloseBox.left - POPUP_ITEM_TEXT_INDENT;
     rcDate.left =
         PWL_MAX(rcDate.right - m_pDateTime->GetContentRect().Width() - 1.0f,
@@ -1141,7 +1144,7 @@
     m_pDateTime->Move(rcDate, TRUE, FALSE);
     m_pDateTime->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcDate));
 
-    CPDF_Rect rcSubject = rcClient;
+    CFX_FloatRect rcSubject = rcClient;
     rcSubject.top = rcClient.top - 2.0f;
     rcSubject.left = rcIcon.right + POPUP_ITEM_TEXT_INDENT;
     rcSubject.right =
@@ -1152,7 +1155,7 @@
     m_pSubject->Move(rcSubject, TRUE, FALSE);
     m_pSubject->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcSubject));
 
-    CPDF_Rect rcOptions = rcClient;
+    CFX_FloatRect rcOptions = rcClient;
     rcOptions.left =
         PWL_MAX(rcOptions.right - m_pOptions->GetContentRect().Width(),
                 rcIcon.right + 1.0f);
@@ -1162,7 +1165,7 @@
     m_pOptions->Move(rcOptions, TRUE, FALSE);
     m_pOptions->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcOptions));
 
-    CPDF_Rect rcAuthor = rcClient;
+    CFX_FloatRect rcAuthor = rcClient;
     rcAuthor.top = rcSubject.bottom - 4.0f;
     rcAuthor.left = rcSubject.left;
     rcAuthor.right =
@@ -1173,21 +1176,21 @@
     m_pAuthor->Move(rcAuthor, TRUE, FALSE);
     m_pAuthor->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcAuthor));
 
-    CPDF_Rect rcLBBox = rcClient;
+    CFX_FloatRect rcLBBox = rcClient;
     rcLBBox.top = rcLBBox.bottom + 7.0f;
     rcLBBox.right = rcLBBox.left + 7.0f;
     rcLBBox.Normalize();
     m_pLBBox->Move(rcLBBox, TRUE, FALSE);
     m_pLBBox->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcLBBox));
 
-    CPDF_Rect rcRBBox = rcClient;
+    CFX_FloatRect rcRBBox = rcClient;
     rcRBBox.top = rcRBBox.bottom + 7.0f;
     rcRBBox.left = rcRBBox.right - 7.0f;
     rcRBBox.Normalize();
     m_pRBBox->Move(rcRBBox, TRUE, FALSE);
     m_pRBBox->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcRBBox));
 
-    CPDF_Rect rcContents = rcClient;
+    CFX_FloatRect rcContents = rcClient;
     rcContents.top = rcAuthor.bottom - POPUP_ITEM_HEAD_BOTTOM;
     rcContents.left += 3.0f;
     rcContents.right -= 3.0f;
@@ -1198,7 +1201,7 @@
     m_pContents->Move(rcContents, FALSE, FALSE);
     m_pContents->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcContents));
 
-    CPDF_Rect rcContentsBar = rcContents;
+    CFX_FloatRect rcContentsBar = rcContents;
     rcContentsBar.right = rcClient.right - 3.0f;
     rcContentsBar.left = rcContentsBar.right - PWL_SCROLLBAR_WIDTH;
     rcContentsBar.Normalize();
@@ -1297,14 +1300,14 @@
 }
 
 FX_BOOL CPWL_Note::OnMouseWheel(short zDelta,
-                                const CPDF_Point& point,
+                                const CFX_FloatPoint& point,
                                 FX_DWORD nFlag) {
-  CPDF_Point ptScroll = m_pContents->GetScrollPos();
-  CPDF_Rect rcScroll = m_pContents->GetScrollArea();
-  CPDF_Rect rcContents = m_pContents->GetClientRect();
+  CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
+  CFX_FloatRect rcScroll = m_pContents->GetScrollArea();
+  CFX_FloatRect rcContents = m_pContents->GetClientRect();
 
   if (rcScroll.top - rcScroll.bottom > rcContents.Height()) {
-    CPDF_Point ptNew = ptScroll;
+    CFX_FloatPoint ptNew = ptScroll;
 
     if (zDelta > 0)
       ptNew.y += 30;
@@ -1338,7 +1341,7 @@
                          intptr_t lParam) {
   switch (msg) {
     case PNM_NOTEEDITCHANGED: {
-      CPDF_Rect rcScroll = m_pContents->GetScrollArea();
+      CFX_FloatRect rcScroll = m_pContents->GetScrollArea();
 
       PWL_SCROLL_INFO sInfo;
       sInfo.fContentMin = rcScroll.bottom;
@@ -1366,8 +1369,8 @@
                                      (intptr_t)&sInfo);
             m_OldScrollInfo = sInfo;
 
-            CPDF_Point ptScroll = m_pContents->GetScrollPos();
-            CPDF_Point ptOld = ptScroll;
+            CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
+            CFX_FloatPoint ptOld = ptScroll;
 
             if (ptScroll.y > sInfo.fContentMax)
               ptScroll.y = sInfo.fContentMax;
@@ -1404,13 +1407,13 @@
   if (msg == PNM_SETCARETINFO && IsValid()) {
     if (PWL_CARET_INFO* pInfo = (PWL_CARET_INFO*)wParam) {
       if (m_pContents) {
-        CPDF_Rect rcClient = m_pContents->GetClientRect();
+        CFX_FloatRect rcClient = m_pContents->GetClientRect();
         if (pInfo->ptHead.y > rcClient.top) {
-          CPDF_Point pt = m_pContents->OutToIn(pInfo->ptHead);
+          CFX_FloatPoint pt = m_pContents->OutToIn(pInfo->ptHead);
           m_pContents->OnNotify(this, PNM_SCROLLWINDOW, SBT_VSCROLL,
                                 (intptr_t)&pt.y);
 
-          CPDF_Point ptScroll = m_pContents->GetScrollPos();
+          CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
           m_pContentsBar->OnNotify(this, PNM_SETSCROLLPOS, SBT_VSCROLL,
                                    (intptr_t)&ptScroll.y);
 
@@ -1418,12 +1421,12 @@
         }
 
         if (pInfo->ptFoot.y < rcClient.bottom) {
-          CPDF_Point pt = m_pContents->OutToIn(pInfo->ptFoot);
+          CFX_FloatPoint pt = m_pContents->OutToIn(pInfo->ptFoot);
           pt.y += rcClient.Height();
           m_pContents->OnNotify(this, PNM_SCROLLWINDOW, SBT_VSCROLL,
                                 (intptr_t)&pt.y);
 
-          CPDF_Point ptScroll = m_pContents->GetScrollPos();
+          CFX_FloatPoint ptScroll = m_pContents->GetScrollPos();
           m_pContentsBar->OnNotify(this, PNM_SETSCROLLPOS, SBT_VSCROLL,
                                    (intptr_t)&ptScroll.y);
 
@@ -1458,7 +1461,7 @@
     m_pRBBox->SetTextColor(sTextColor);
 }
 
-FX_BOOL CPWL_Note::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Note::OnLButtonDown(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   if (m_pOptions->WndHitTest(m_pOptions->ParentToChild(point))) {
     if (IPWL_NoteNotify* pNotify = GetNoteNotify()) {
       int32_t x, y;
@@ -1475,7 +1478,7 @@
   return CPWL_Wnd::OnLButtonDown(point, nFlag);
 }
 
-FX_BOOL CPWL_Note::OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_Note::OnRButtonUp(const CFX_FloatPoint& point, FX_DWORD nFlag) {
   return CPWL_Wnd::OnRButtonUp(point, nFlag);
 }
 
diff --git a/fpdfsdk/src/pdfwindow/PWL_ScrollBar.cpp b/fpdfsdk/src/pdfwindow/PWL_ScrollBar.cpp
index c48052d..03bf323 100644
--- a/fpdfsdk/src/pdfwindow/PWL_ScrollBar.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_ScrollBar.cpp
@@ -132,24 +132,25 @@
 
   CFX_ByteTextBuf sButton;
 
-  CPDF_Rect rectWnd = GetWindowRect();
+  CFX_FloatRect rectWnd = GetWindowRect();
 
   if (rectWnd.IsEmpty())
     return;
 
   sAppStream << "q\n";
 
-  CPDF_Point ptCenter = GetCenterPoint();
+  CFX_FloatPoint ptCenter = GetCenterPoint();
 
   switch (m_eScrollBarType) {
     case SBT_HSCROLL:
       switch (m_eSBButtonType) {
         case PSBT_MIN: {
-          CPDF_Point pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f, ptCenter.y);
-          CPDF_Point pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y + PWL_TRIANGLE_HALFLEN);
-          CPDF_Point pt3(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y - PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y);
+          CFX_FloatPoint pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt3(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN);
 
           if (rectWnd.right - rectWnd.left > PWL_TRIANGLE_HALFLEN * 2 &&
               rectWnd.top - rectWnd.bottom > PWL_TRIANGLE_HALFLEN) {
@@ -163,11 +164,12 @@
           }
         } break;
         case PSBT_MAX: {
-          CPDF_Point pt1(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f, ptCenter.y);
-          CPDF_Point pt2(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y + PWL_TRIANGLE_HALFLEN);
-          CPDF_Point pt3(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y - PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt1(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y);
+          CFX_FloatPoint pt2(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt3(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN);
 
           if (rectWnd.right - rectWnd.left > PWL_TRIANGLE_HALFLEN * 2 &&
               rectWnd.top - rectWnd.bottom > PWL_TRIANGLE_HALFLEN) {
@@ -187,11 +189,12 @@
     case SBT_VSCROLL:
       switch (m_eSBButtonType) {
         case PSBT_MIN: {
-          CPDF_Point pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN,
-                         ptCenter.y - PWL_TRIANGLE_HALFLEN * 0.5f);
-          CPDF_Point pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN,
-                         ptCenter.y - PWL_TRIANGLE_HALFLEN * 0.5f);
-          CPDF_Point pt3(ptCenter.x, ptCenter.y + PWL_TRIANGLE_HALFLEN * 0.5f);
+          CFX_FloatPoint pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN * 0.5f);
+          CFX_FloatPoint pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN * 0.5f);
+          CFX_FloatPoint pt3(ptCenter.x,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN * 0.5f);
 
           if (rectWnd.right - rectWnd.left > PWL_TRIANGLE_HALFLEN * 2 &&
               rectWnd.top - rectWnd.bottom > PWL_TRIANGLE_HALFLEN) {
@@ -205,11 +208,12 @@
           }
         } break;
         case PSBT_MAX: {
-          CPDF_Point pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN,
-                         ptCenter.y + PWL_TRIANGLE_HALFLEN * 0.5f);
-          CPDF_Point pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN,
-                         ptCenter.y + PWL_TRIANGLE_HALFLEN * 0.5f);
-          CPDF_Point pt3(ptCenter.x, ptCenter.y - PWL_TRIANGLE_HALFLEN * 0.5f);
+          CFX_FloatPoint pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN * 0.5f);
+          CFX_FloatPoint pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN * 0.5f);
+          CFX_FloatPoint pt3(ptCenter.x,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN * 0.5f);
 
           if (rectWnd.right - rectWnd.left > PWL_TRIANGLE_HALFLEN * 2 &&
               rectWnd.top - rectWnd.bottom > PWL_TRIANGLE_HALFLEN) {
@@ -238,11 +242,11 @@
   if (!IsVisible())
     return;
 
-  CPDF_Rect rectWnd = GetWindowRect();
+  CFX_FloatRect rectWnd = GetWindowRect();
   if (rectWnd.IsEmpty())
     return;
 
-  CPDF_Point ptCenter = GetCenterPoint();
+  CFX_FloatPoint ptCenter = GetCenterPoint();
   int32_t nTransparancy = GetTransparency();
 
   switch (m_eScrollBarType) {
@@ -250,11 +254,12 @@
       CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
       switch (m_eSBButtonType) {
         case PSBT_MIN: {
-          CPDF_Point pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f, ptCenter.y);
-          CPDF_Point pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y + PWL_TRIANGLE_HALFLEN);
-          CPDF_Point pt3(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y - PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt1(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y);
+          CFX_FloatPoint pt2(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt3(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN);
 
           if (rectWnd.right - rectWnd.left > PWL_TRIANGLE_HALFLEN * 2 &&
               rectWnd.top - rectWnd.bottom > PWL_TRIANGLE_HALFLEN) {
@@ -273,11 +278,12 @@
           }
         } break;
         case PSBT_MAX: {
-          CPDF_Point pt1(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f, ptCenter.y);
-          CPDF_Point pt2(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y + PWL_TRIANGLE_HALFLEN);
-          CPDF_Point pt3(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
-                         ptCenter.y - PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt1(ptCenter.x + PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y);
+          CFX_FloatPoint pt2(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y + PWL_TRIANGLE_HALFLEN);
+          CFX_FloatPoint pt3(ptCenter.x - PWL_TRIANGLE_HALFLEN * 0.5f,
+                             ptCenter.y - PWL_TRIANGLE_HALFLEN);
 
           if (rectWnd.right - rectWnd.left > PWL_TRIANGLE_HALFLEN * 2 &&
               rectWnd.top - rectWnd.bottom > PWL_TRIANGLE_HALFLEN) {
@@ -303,7 +309,7 @@
       switch (m_eSBButtonType) {
         case PSBT_MIN: {
           // draw border
-          CPDF_Rect rcDraw = rectWnd;
+          CFX_FloatRect rcDraw = rectWnd;
           CPWL_Utils::DrawStrokeRect(pDevice, pUser2Device, rcDraw,
                                      ArgbEncode(nTransparancy, 100, 100, 100),
                                      0.0f);
@@ -330,13 +336,13 @@
           if (rectWnd.top - rectWnd.bottom > 6.0f) {
             FX_FLOAT fX = rectWnd.left + 1.5f;
             FX_FLOAT fY = rectWnd.bottom;
-            CPDF_Point pts[7] = {CPDF_Point(fX + 2.5f, fY + 4.0f),
-                                 CPDF_Point(fX + 2.5f, fY + 3.0f),
-                                 CPDF_Point(fX + 4.5f, fY + 5.0f),
-                                 CPDF_Point(fX + 6.5f, fY + 3.0f),
-                                 CPDF_Point(fX + 6.5f, fY + 4.0f),
-                                 CPDF_Point(fX + 4.5f, fY + 6.0f),
-                                 CPDF_Point(fX + 2.5f, fY + 4.0f)};
+            CFX_FloatPoint pts[7] = {CFX_FloatPoint(fX + 2.5f, fY + 4.0f),
+                                     CFX_FloatPoint(fX + 2.5f, fY + 3.0f),
+                                     CFX_FloatPoint(fX + 4.5f, fY + 5.0f),
+                                     CFX_FloatPoint(fX + 6.5f, fY + 3.0f),
+                                     CFX_FloatPoint(fX + 6.5f, fY + 4.0f),
+                                     CFX_FloatPoint(fX + 4.5f, fY + 6.0f),
+                                     CFX_FloatPoint(fX + 2.5f, fY + 4.0f)};
 
             if (IsEnabled())
               CPWL_Utils::DrawFillArea(
@@ -350,7 +356,7 @@
         } break;
         case PSBT_MAX: {
           // draw border
-          CPDF_Rect rcDraw = rectWnd;
+          CFX_FloatRect rcDraw = rectWnd;
           CPWL_Utils::DrawStrokeRect(pDevice, pUser2Device, rcDraw,
                                      ArgbEncode(nTransparancy, 100, 100, 100),
                                      0.0f);
@@ -376,13 +382,13 @@
             FX_FLOAT fX = rectWnd.left + 1.5f;
             FX_FLOAT fY = rectWnd.bottom;
 
-            CPDF_Point pts[7] = {CPDF_Point(fX + 2.5f, fY + 5.0f),
-                                 CPDF_Point(fX + 2.5f, fY + 6.0f),
-                                 CPDF_Point(fX + 4.5f, fY + 4.0f),
-                                 CPDF_Point(fX + 6.5f, fY + 6.0f),
-                                 CPDF_Point(fX + 6.5f, fY + 5.0f),
-                                 CPDF_Point(fX + 4.5f, fY + 3.0f),
-                                 CPDF_Point(fX + 2.5f, fY + 5.0f)};
+            CFX_FloatPoint pts[7] = {CFX_FloatPoint(fX + 2.5f, fY + 5.0f),
+                                     CFX_FloatPoint(fX + 2.5f, fY + 6.0f),
+                                     CFX_FloatPoint(fX + 4.5f, fY + 4.0f),
+                                     CFX_FloatPoint(fX + 6.5f, fY + 6.0f),
+                                     CFX_FloatPoint(fX + 6.5f, fY + 5.0f),
+                                     CFX_FloatPoint(fX + 4.5f, fY + 3.0f),
+                                     CFX_FloatPoint(fX + 2.5f, fY + 5.0f)};
 
             if (IsEnabled())
               CPWL_Utils::DrawFillArea(
@@ -396,7 +402,7 @@
         } break;
         case PSBT_POS: {
           // draw border
-          CPDF_Rect rcDraw = rectWnd;
+          CFX_FloatRect rcDraw = rectWnd;
           CPWL_Utils::DrawStrokeRect(pDevice, pUser2Device, rcDraw,
                                      ArgbEncode(nTransparancy, 100, 100, 100),
                                      0.0f);
@@ -410,9 +416,10 @@
           if (IsEnabled()) {
             // draw shadow effect
 
-            CPDF_Point ptTop = CPDF_Point(rectWnd.left, rectWnd.top - 1.0f);
-            CPDF_Point ptBottom =
-                CPDF_Point(rectWnd.left, rectWnd.bottom + 1.0f);
+            CFX_FloatPoint ptTop =
+                CFX_FloatPoint(rectWnd.left, rectWnd.top - 1.0f);
+            CFX_FloatPoint ptBottom =
+                CFX_FloatPoint(rectWnd.left, rectWnd.bottom + 1.0f);
 
             ptTop.x += 1.5f;
             ptBottom.x += 1.5f;
@@ -499,12 +506,12 @@
             FX_FLOAT nFrictionWidth = 5.0f;
             FX_FLOAT nFrictionHeight = 5.5f;
 
-            CPDF_Point ptLeft =
-                CPDF_Point(ptCenter.x - nFrictionWidth / 2.0f,
-                           ptCenter.y - nFrictionHeight / 2.0f + 0.5f);
-            CPDF_Point ptRight =
-                CPDF_Point(ptCenter.x + nFrictionWidth / 2.0f,
-                           ptCenter.y - nFrictionHeight / 2.0f + 0.5f);
+            CFX_FloatPoint ptLeft =
+                CFX_FloatPoint(ptCenter.x - nFrictionWidth / 2.0f,
+                               ptCenter.y - nFrictionHeight / 2.0f + 0.5f);
+            CFX_FloatPoint ptRight =
+                CFX_FloatPoint(ptCenter.x + nFrictionWidth / 2.0f,
+                               ptCenter.y - nFrictionHeight / 2.0f + 0.5f);
 
             CPWL_Utils::DrawStrokeLine(pDevice, pUser2Device, ptLeft, ptRight,
                                        crStroke, 1.0f);
@@ -531,7 +538,8 @@
   }
 }
 
-FX_BOOL CPWL_SBButton::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_SBButton::OnLButtonDown(const CFX_FloatPoint& point,
+                                     FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   if (CPWL_Wnd* pParent = GetParentWindow())
@@ -543,7 +551,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_SBButton::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_SBButton::OnLButtonUp(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   if (CPWL_Wnd* pParent = GetParentWindow())
@@ -555,7 +564,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_SBButton::OnMouseMove(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_SBButton::OnMouseMove(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   CPWL_Wnd::OnMouseMove(point, nFlag);
 
   if (CPWL_Wnd* pParent = GetParentWindow()) {
@@ -585,8 +595,8 @@
 }
 
 void CPWL_ScrollBar::RePosChildWnd() {
-  CPDF_Rect rcClient = GetClientRect();
-  CPDF_Rect rcMinButton, rcMaxButton;
+  CFX_FloatRect rcClient = GetClientRect();
+  CFX_FloatRect rcMinButton, rcMaxButton;
   FX_FLOAT fBWidth = 0;
 
   switch (m_sbType) {
@@ -594,21 +604,22 @@
       if (rcClient.right - rcClient.left >
           PWL_SCROLLBAR_BUTTON_WIDTH * 2 + PWL_SCROLLBAR_POSBUTTON_MINWIDTH +
               2) {
-        rcMinButton =
-            CPDF_Rect(rcClient.left, rcClient.bottom,
-                      rcClient.left + PWL_SCROLLBAR_BUTTON_WIDTH, rcClient.top);
-        rcMaxButton = CPDF_Rect(rcClient.right - PWL_SCROLLBAR_BUTTON_WIDTH,
-                                rcClient.bottom, rcClient.right, rcClient.top);
+        rcMinButton = CFX_FloatRect(rcClient.left, rcClient.bottom,
+                                    rcClient.left + PWL_SCROLLBAR_BUTTON_WIDTH,
+                                    rcClient.top);
+        rcMaxButton =
+            CFX_FloatRect(rcClient.right - PWL_SCROLLBAR_BUTTON_WIDTH,
+                          rcClient.bottom, rcClient.right, rcClient.top);
       } else {
         fBWidth = (rcClient.right - rcClient.left -
                    PWL_SCROLLBAR_POSBUTTON_MINWIDTH - 2) /
                   2;
 
         if (fBWidth > 0) {
-          rcMinButton = CPDF_Rect(rcClient.left, rcClient.bottom,
-                                  rcClient.left + fBWidth, rcClient.top);
-          rcMaxButton = CPDF_Rect(rcClient.right - fBWidth, rcClient.bottom,
-                                  rcClient.right, rcClient.top);
+          rcMinButton = CFX_FloatRect(rcClient.left, rcClient.bottom,
+                                      rcClient.left + fBWidth, rcClient.top);
+          rcMaxButton = CFX_FloatRect(rcClient.right - fBWidth, rcClient.bottom,
+                                      rcClient.right, rcClient.top);
         } else {
           SetVisible(FALSE);
         }
@@ -618,21 +629,23 @@
       if (IsFloatBigger(rcClient.top - rcClient.bottom,
                         PWL_SCROLLBAR_BUTTON_WIDTH * 2 +
                             PWL_SCROLLBAR_POSBUTTON_MINWIDTH + 2)) {
-        rcMinButton =
-            CPDF_Rect(rcClient.left, rcClient.top - PWL_SCROLLBAR_BUTTON_WIDTH,
-                      rcClient.right, rcClient.top);
-        rcMaxButton = CPDF_Rect(rcClient.left, rcClient.bottom, rcClient.right,
-                                rcClient.bottom + PWL_SCROLLBAR_BUTTON_WIDTH);
+        rcMinButton = CFX_FloatRect(rcClient.left,
+                                    rcClient.top - PWL_SCROLLBAR_BUTTON_WIDTH,
+                                    rcClient.right, rcClient.top);
+        rcMaxButton =
+            CFX_FloatRect(rcClient.left, rcClient.bottom, rcClient.right,
+                          rcClient.bottom + PWL_SCROLLBAR_BUTTON_WIDTH);
       } else {
         fBWidth = (rcClient.top - rcClient.bottom -
                    PWL_SCROLLBAR_POSBUTTON_MINWIDTH - 2) /
                   2;
 
         if (IsFloatBigger(fBWidth, 0)) {
-          rcMinButton = CPDF_Rect(rcClient.left, rcClient.top - fBWidth,
-                                  rcClient.right, rcClient.top);
-          rcMaxButton = CPDF_Rect(rcClient.left, rcClient.bottom,
-                                  rcClient.right, rcClient.bottom + fBWidth);
+          rcMinButton = CFX_FloatRect(rcClient.left, rcClient.top - fBWidth,
+                                      rcClient.right, rcClient.top);
+          rcMaxButton =
+              CFX_FloatRect(rcClient.left, rcClient.bottom, rcClient.right,
+                            rcClient.bottom + fBWidth);
         } else {
           SetVisible(FALSE);
         }
@@ -648,7 +661,7 @@
 }
 
 void CPWL_ScrollBar::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
-  CPDF_Rect rectWnd = GetWindowRect();
+  CFX_FloatRect rectWnd = GetWindowRect();
 
   if (IsVisible() && !rectWnd.IsEmpty()) {
     CFX_ByteTextBuf sButton;
@@ -666,7 +679,7 @@
 
 void CPWL_ScrollBar::DrawThisAppearance(CFX_RenderDevice* pDevice,
                                         CFX_Matrix* pUser2Device) {
-  CPDF_Rect rectWnd = GetWindowRect();
+  CFX_FloatRect rectWnd = GetWindowRect();
 
   if (IsVisible() && !rectWnd.IsEmpty()) {
     CPWL_Utils::DrawFillRect(pDevice, pUser2Device, rectWnd,
@@ -674,19 +687,20 @@
 
     CPWL_Utils::DrawStrokeLine(
         pDevice, pUser2Device,
-        CPDF_Point(rectWnd.left + 2.0f, rectWnd.top - 2.0f),
-        CPDF_Point(rectWnd.left + 2.0f, rectWnd.bottom + 2.0f),
+        CFX_FloatPoint(rectWnd.left + 2.0f, rectWnd.top - 2.0f),
+        CFX_FloatPoint(rectWnd.left + 2.0f, rectWnd.bottom + 2.0f),
         ArgbEncode(GetTransparency(), 100, 100, 100), 1.0f);
 
     CPWL_Utils::DrawStrokeLine(
         pDevice, pUser2Device,
-        CPDF_Point(rectWnd.right - 2.0f, rectWnd.top - 2.0f),
-        CPDF_Point(rectWnd.right - 2.0f, rectWnd.bottom + 2.0f),
+        CFX_FloatPoint(rectWnd.right - 2.0f, rectWnd.top - 2.0f),
+        CFX_FloatPoint(rectWnd.right - 2.0f, rectWnd.bottom + 2.0f),
         ArgbEncode(GetTransparency(), 100, 100, 100), 1.0f);
   }
 }
 
-FX_BOOL CPWL_ScrollBar::OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_ScrollBar::OnLButtonDown(const CFX_FloatPoint& point,
+                                      FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonDown(point, nFlag);
 
   if (HasFlag(PWS_AUTOTRANSPARENT)) {
@@ -696,27 +710,29 @@
     }
   }
 
-  CPDF_Rect rcMinArea, rcMaxArea;
+  CFX_FloatRect rcMinArea, rcMaxArea;
 
   if (m_pPosButton && m_pPosButton->IsVisible()) {
-    CPDF_Rect rcClient = GetClientRect();
-    CPDF_Rect rcPosButton = m_pPosButton->GetWindowRect();
+    CFX_FloatRect rcClient = GetClientRect();
+    CFX_FloatRect rcPosButton = m_pPosButton->GetWindowRect();
 
     switch (m_sbType) {
       case SBT_HSCROLL:
-        rcMinArea = CPDF_Rect(rcClient.left + PWL_SCROLLBAR_BUTTON_WIDTH,
-                              rcClient.bottom, rcPosButton.left, rcClient.top);
-        rcMaxArea = CPDF_Rect(rcPosButton.right, rcClient.bottom,
-                              rcClient.right - PWL_SCROLLBAR_BUTTON_WIDTH,
-                              rcClient.top);
+        rcMinArea =
+            CFX_FloatRect(rcClient.left + PWL_SCROLLBAR_BUTTON_WIDTH,
+                          rcClient.bottom, rcPosButton.left, rcClient.top);
+        rcMaxArea = CFX_FloatRect(rcPosButton.right, rcClient.bottom,
+                                  rcClient.right - PWL_SCROLLBAR_BUTTON_WIDTH,
+                                  rcClient.top);
 
         break;
       case SBT_VSCROLL:
-        rcMinArea = CPDF_Rect(rcClient.left, rcPosButton.top, rcClient.right,
-                              rcClient.top - PWL_SCROLLBAR_BUTTON_WIDTH);
-        rcMaxArea = CPDF_Rect(rcClient.left,
-                              rcClient.bottom + PWL_SCROLLBAR_BUTTON_WIDTH,
-                              rcClient.right, rcPosButton.bottom);
+        rcMinArea =
+            CFX_FloatRect(rcClient.left, rcPosButton.top, rcClient.right,
+                          rcClient.top - PWL_SCROLLBAR_BUTTON_WIDTH);
+        rcMaxArea = CFX_FloatRect(rcClient.left,
+                                  rcClient.bottom + PWL_SCROLLBAR_BUTTON_WIDTH,
+                                  rcClient.right, rcPosButton.bottom);
         break;
     }
 
@@ -739,7 +755,8 @@
   return TRUE;
 }
 
-FX_BOOL CPWL_ScrollBar::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_ScrollBar::OnLButtonUp(const CFX_FloatPoint& point,
+                                    FX_DWORD nFlag) {
   CPWL_Wnd::OnLButtonUp(point, nFlag);
 
   if (HasFlag(PWS_AUTOTRANSPARENT)) {
@@ -764,41 +781,41 @@
   switch (msg) {
     case PNM_LBUTTONDOWN:
       if (pWnd == m_pMinButton) {
-        OnMinButtonLBDown(*(CPDF_Point*)lParam);
+        OnMinButtonLBDown(*(CFX_FloatPoint*)lParam);
       }
 
       if (pWnd == m_pMaxButton) {
-        OnMaxButtonLBDown(*(CPDF_Point*)lParam);
+        OnMaxButtonLBDown(*(CFX_FloatPoint*)lParam);
       }
 
       if (pWnd == m_pPosButton) {
-        OnPosButtonLBDown(*(CPDF_Point*)lParam);
+        OnPosButtonLBDown(*(CFX_FloatPoint*)lParam);
       }
       break;
     case PNM_LBUTTONUP:
       if (pWnd == m_pMinButton) {
-        OnMinButtonLBUp(*(CPDF_Point*)lParam);
+        OnMinButtonLBUp(*(CFX_FloatPoint*)lParam);
       }
 
       if (pWnd == m_pMaxButton) {
-        OnMaxButtonLBUp(*(CPDF_Point*)lParam);
+        OnMaxButtonLBUp(*(CFX_FloatPoint*)lParam);
       }
 
       if (pWnd == m_pPosButton) {
-        OnPosButtonLBUp(*(CPDF_Point*)lParam);
+        OnPosButtonLBUp(*(CFX_FloatPoint*)lParam);
       }
       break;
     case PNM_MOUSEMOVE:
       if (pWnd == m_pMinButton) {
-        OnMinButtonMouseMove(*(CPDF_Point*)lParam);
+        OnMinButtonMouseMove(*(CFX_FloatPoint*)lParam);
       }
 
       if (pWnd == m_pMaxButton) {
-        OnMaxButtonMouseMove(*(CPDF_Point*)lParam);
+        OnMaxButtonMouseMove(*(CFX_FloatPoint*)lParam);
       }
 
       if (pWnd == m_pPosButton) {
-        OnPosButtonMouseMove(*(CPDF_Point*)lParam);
+        OnPosButtonMouseMove(*(CFX_FloatPoint*)lParam);
       }
       break;
     case PNM_SETSCROLLINFO: {
@@ -896,8 +913,8 @@
   ASSERT(m_pMaxButton);
 
   if (m_pPosButton->IsVisible()) {
-    CPDF_Rect rcClient;
-    CPDF_Rect rcPosArea, rcPosButton;
+    CFX_FloatRect rcClient;
+    CFX_FloatRect rcPosArea, rcPosButton;
 
     rcClient = GetClientRect();
     rcPosArea = GetScrollArea();
@@ -917,7 +934,8 @@
           fLeft = fRight - PWL_SCROLLBAR_POSBUTTON_MINWIDTH;
         }
 
-        rcPosButton = CPDF_Rect(fLeft, rcPosArea.bottom, fRight, rcPosArea.top);
+        rcPosButton =
+            CFX_FloatRect(fLeft, rcPosArea.bottom, fRight, rcPosArea.top);
 
         break;
       case SBT_VSCROLL:
@@ -932,7 +950,8 @@
           fTop = fBottom + PWL_SCROLLBAR_POSBUTTON_MINWIDTH;
         }
 
-        rcPosButton = CPDF_Rect(rcPosArea.left, fBottom, rcPosArea.right, fTop);
+        rcPosButton =
+            CFX_FloatRect(rcPosArea.left, fBottom, rcPosArea.right, fTop);
 
         break;
     }
@@ -941,7 +960,7 @@
   }
 }
 
-void CPWL_ScrollBar::OnMinButtonLBDown(const CPDF_Point& point) {
+void CPWL_ScrollBar::OnMinButtonLBDown(const CFX_FloatPoint& point) {
   m_sData.SubSmall();
   MovePosButton(TRUE);
   NotifyScrollWindow();
@@ -952,11 +971,11 @@
   BeginTimer(100);
 }
 
-void CPWL_ScrollBar::OnMinButtonLBUp(const CPDF_Point& point) {}
+void CPWL_ScrollBar::OnMinButtonLBUp(const CFX_FloatPoint& point) {}
 
-void CPWL_ScrollBar::OnMinButtonMouseMove(const CPDF_Point& point) {}
+void CPWL_ScrollBar::OnMinButtonMouseMove(const CFX_FloatPoint& point) {}
 
-void CPWL_ScrollBar::OnMaxButtonLBDown(const CPDF_Point& point) {
+void CPWL_ScrollBar::OnMaxButtonLBDown(const CFX_FloatPoint& point) {
   m_sData.AddSmall();
   MovePosButton(TRUE);
   NotifyScrollWindow();
@@ -967,15 +986,15 @@
   BeginTimer(100);
 }
 
-void CPWL_ScrollBar::OnMaxButtonLBUp(const CPDF_Point& point) {}
+void CPWL_ScrollBar::OnMaxButtonLBUp(const CFX_FloatPoint& point) {}
 
-void CPWL_ScrollBar::OnMaxButtonMouseMove(const CPDF_Point& point) {}
+void CPWL_ScrollBar::OnMaxButtonMouseMove(const CFX_FloatPoint& point) {}
 
-void CPWL_ScrollBar::OnPosButtonLBDown(const CPDF_Point& point) {
+void CPWL_ScrollBar::OnPosButtonLBDown(const CFX_FloatPoint& point) {
   m_bMouseDown = TRUE;
 
   if (m_pPosButton) {
-    CPDF_Rect rcPosButton = m_pPosButton->GetWindowRect();
+    CFX_FloatRect rcPosButton = m_pPosButton->GetWindowRect();
 
     switch (m_sbType) {
       case SBT_HSCROLL:
@@ -990,7 +1009,7 @@
   }
 }
 
-void CPWL_ScrollBar::OnPosButtonLBUp(const CPDF_Point& point) {
+void CPWL_ScrollBar::OnPosButtonLBUp(const CFX_FloatPoint& point) {
   if (m_bMouseDown) {
     if (!m_bNotifyForever)
       NotifyScrollWindow();
@@ -998,7 +1017,7 @@
   m_bMouseDown = FALSE;
 }
 
-void CPWL_ScrollBar::OnPosButtonMouseMove(const CPDF_Point& point) {
+void CPWL_ScrollBar::OnPosButtonMouseMove(const CFX_FloatPoint& point) {
   FX_FLOAT fOldScrollPos = m_sData.fScrollPos;
 
   FX_FLOAT fNewPos = 0;
@@ -1071,15 +1090,15 @@
   }
 }
 
-CPDF_Rect CPWL_ScrollBar::GetScrollArea() const {
-  CPDF_Rect rcClient = GetClientRect();
-  CPDF_Rect rcArea;
+CFX_FloatRect CPWL_ScrollBar::GetScrollArea() const {
+  CFX_FloatRect rcClient = GetClientRect();
+  CFX_FloatRect rcArea;
 
   if (!m_pMinButton || !m_pMaxButton)
     return rcClient;
 
-  CPDF_Rect rcMin = m_pMinButton->GetWindowRect();
-  CPDF_Rect rcMax = m_pMaxButton->GetWindowRect();
+  CFX_FloatRect rcMin = m_pMinButton->GetWindowRect();
+  CFX_FloatRect rcMax = m_pMaxButton->GetWindowRect();
 
   FX_FLOAT fMinWidth = rcMin.right - rcMin.left;
   FX_FLOAT fMinHeight = rcMin.top - rcMin.bottom;
@@ -1089,20 +1108,21 @@
   switch (m_sbType) {
     case SBT_HSCROLL:
       if (rcClient.right - rcClient.left > fMinWidth + fMaxWidth + 2) {
-        rcArea = CPDF_Rect(rcClient.left + fMinWidth + 1, rcClient.bottom,
-                           rcClient.right - fMaxWidth - 1, rcClient.top);
+        rcArea = CFX_FloatRect(rcClient.left + fMinWidth + 1, rcClient.bottom,
+                               rcClient.right - fMaxWidth - 1, rcClient.top);
       } else {
-        rcArea = CPDF_Rect(rcClient.left + fMinWidth + 1, rcClient.bottom,
-                           rcClient.left + fMinWidth + 1, rcClient.top);
+        rcArea = CFX_FloatRect(rcClient.left + fMinWidth + 1, rcClient.bottom,
+                               rcClient.left + fMinWidth + 1, rcClient.top);
       }
       break;
     case SBT_VSCROLL:
       if (rcClient.top - rcClient.bottom > fMinHeight + fMaxHeight + 2) {
-        rcArea = CPDF_Rect(rcClient.left, rcClient.bottom + fMinHeight + 1,
-                           rcClient.right, rcClient.top - fMaxHeight - 1);
+        rcArea = CFX_FloatRect(rcClient.left, rcClient.bottom + fMinHeight + 1,
+                               rcClient.right, rcClient.top - fMaxHeight - 1);
       } else {
-        rcArea = CPDF_Rect(rcClient.left, rcClient.bottom + fMinHeight + 1,
-                           rcClient.right, rcClient.bottom + fMinHeight + 1);
+        rcArea =
+            CFX_FloatRect(rcClient.left, rcClient.bottom + fMinHeight + 1,
+                          rcClient.right, rcClient.bottom + fMinHeight + 1);
       }
       break;
   }
@@ -1113,7 +1133,7 @@
 }
 
 FX_FLOAT CPWL_ScrollBar::TrueToFace(FX_FLOAT fTrue) {
-  CPDF_Rect rcPosArea;
+  CFX_FloatRect rcPosArea;
   rcPosArea = GetScrollArea();
 
   FX_FLOAT fFactWidth = m_sData.ScrollRange.GetWidth() + m_sData.fClientWidth;
@@ -1136,7 +1156,7 @@
 }
 
 FX_FLOAT CPWL_ScrollBar::FaceToTrue(FX_FLOAT fFace) {
-  CPDF_Rect rcPosArea;
+  CFX_FloatRect rcPosArea;
   rcPosArea = GetScrollArea();
 
   FX_FLOAT fFactWidth = m_sData.ScrollRange.GetWidth() + m_sData.fClientWidth;
diff --git a/fpdfsdk/src/pdfwindow/PWL_Signature.cpp b/fpdfsdk/src/pdfwindow/PWL_Signature.cpp
index f7c73d0..6b3940d 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Signature.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Signature.cpp
@@ -27,7 +27,7 @@
   CPWL_Wnd::DrawThisAppearance(pDevice, pUser2Device);
 
   if (m_pImage) {
-    CPDF_Rect rcClient = GetClientRect();
+    CFX_FloatRect rcClient = GetClientRect();
 
     FX_FLOAT x, y;
     pUser2Device->Transform(rcClient.left, rcClient.top, x, y);
@@ -48,7 +48,7 @@
 
   GetImageSize(fImageW, fImageH);
 
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
   fHScale = rcClient.Width() / fImageW;
   fVScale = rcClient.Height() / fImageH;
@@ -107,10 +107,10 @@
 }
 
 void CPWL_Signature::RePosChildWnd() {
-  CPDF_Rect rcClient = GetClientRect();
+  CFX_FloatRect rcClient = GetClientRect();
 
-  CPDF_Rect rcText = rcClient;
-  CPDF_Rect rcDescription = rcClient;
+  CFX_FloatRect rcText = rcClient;
+  CFX_FloatRect rcDescription = rcClient;
 
   FX_BOOL bTextVisible = m_bTextExist && m_pText->GetText().GetLength() > 0;
 
diff --git a/fpdfsdk/src/pdfwindow/PWL_SpecialButton.cpp b/fpdfsdk/src/pdfwindow/PWL_SpecialButton.cpp
index 52f25fc..44c3ec8 100644
--- a/fpdfsdk/src/pdfwindow/PWL_SpecialButton.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_SpecialButton.cpp
@@ -17,7 +17,7 @@
   return "CPWL_PushButton";
 }
 
-CPDF_Rect CPWL_PushButton::GetFocusRect() const {
+CFX_FloatRect CPWL_PushButton::GetFocusRect() const {
   return CPWL_Utils::DeflateRect(GetWindowRect(), (FX_FLOAT)GetBorderWidth());
 }
 
@@ -37,7 +37,8 @@
   return m_bChecked;
 }
 
-FX_BOOL CPWL_CheckBox::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_CheckBox::OnLButtonUp(const CFX_FloatPoint& point,
+                                   FX_DWORD nFlag) {
   if (IsReadOnly())
     return FALSE;
 
@@ -58,7 +59,8 @@
   return "CPWL_RadioButton";
 }
 
-FX_BOOL CPWL_RadioButton::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
+FX_BOOL CPWL_RadioButton::OnLButtonUp(const CFX_FloatPoint& point,
+                                      FX_DWORD nFlag) {
   if (IsReadOnly())
     return FALSE;
 
diff --git a/fpdfsdk/src/pdfwindow/PWL_Utils.cpp b/fpdfsdk/src/pdfwindow/PWL_Utils.cpp
index 64ba43d..6cd5786 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Utils.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Utils.cpp
@@ -69,8 +69,9 @@
   }
 }
 
-CPDF_Rect CPWL_Utils::MaxRect(const CPDF_Rect& rect1, const CPDF_Rect& rect2) {
-  CPDF_Rect rcRet;
+CFX_FloatRect CPWL_Utils::MaxRect(const CFX_FloatRect& rect1,
+                                  const CFX_FloatRect& rect2) {
+  CFX_FloatRect rcRet;
 
   rcRet.left = PWL_MIN(rect1.left, rect2.left);
   rcRet.bottom = PWL_MIN(rect1.bottom, rect2.bottom);
@@ -80,21 +81,21 @@
   return rcRet;
 }
 
-CPDF_Rect CPWL_Utils::OffsetRect(const CPDF_Rect& rect,
-                                 FX_FLOAT x,
-                                 FX_FLOAT y) {
-  return CPDF_Rect(rect.left + x, rect.bottom + y, rect.right + x,
-                   rect.top + y);
+CFX_FloatRect CPWL_Utils::OffsetRect(const CFX_FloatRect& rect,
+                                     FX_FLOAT x,
+                                     FX_FLOAT y) {
+  return CFX_FloatRect(rect.left + x, rect.bottom + y, rect.right + x,
+                       rect.top + y);
 }
 
-FX_BOOL CPWL_Utils::ContainsRect(const CPDF_Rect& rcParent,
-                                 const CPDF_Rect& rcChild) {
+FX_BOOL CPWL_Utils::ContainsRect(const CFX_FloatRect& rcParent,
+                                 const CFX_FloatRect& rcChild) {
   return rcChild.left >= rcParent.left && rcChild.bottom >= rcParent.bottom &&
          rcChild.right <= rcParent.right && rcChild.top <= rcParent.top;
 }
 
-FX_BOOL CPWL_Utils::IntersectRect(const CPDF_Rect& rect1,
-                                  const CPDF_Rect& rect2) {
+FX_BOOL CPWL_Utils::IntersectRect(const CFX_FloatRect& rect1,
+                                  const CFX_FloatRect& rect2) {
   FX_FLOAT left = rect1.left > rect2.left ? rect1.left : rect2.left;
   FX_FLOAT right = rect1.right < rect2.right ? rect1.right : rect2.right;
   FX_FLOAT bottom = rect1.bottom > rect2.bottom ? rect1.bottom : rect2.bottom;
@@ -103,10 +104,10 @@
   return left < right && bottom < top;
 }
 
-CPDF_Point CPWL_Utils::OffsetPoint(const CPDF_Point& point,
-                                   FX_FLOAT x,
-                                   FX_FLOAT y) {
-  return CPDF_Point(point.x + x, point.y + y);
+CFX_FloatPoint CPWL_Utils::OffsetPoint(const CFX_FloatPoint& point,
+                                       FX_FLOAT x,
+                                       FX_FLOAT y) {
+  return CFX_FloatPoint(point.x + x, point.y + y);
 }
 
 CPVT_WordRange CPWL_Utils::OverlapWordRange(const CPVT_WordRange& wr1,
@@ -135,7 +136,7 @@
   return wrRet;
 }
 
-CFX_ByteString CPWL_Utils::GetAP_Check(const CPDF_Rect& crBBox) {
+CFX_ByteString CPWL_Utils::GetAP_Check(const CFX_FloatRect& crBBox) {
   const FX_FLOAT fWidth = crBBox.right - crBBox.left;
   const FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
 
@@ -184,16 +185,16 @@
   return csAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAP_Circle(const CPDF_Rect& crBBox) {
+CFX_ByteString CPWL_Utils::GetAP_Circle(const CFX_FloatRect& crBBox) {
   CFX_ByteTextBuf csAP;
 
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
 
-  CPDF_Point pt1(crBBox.left, crBBox.bottom + fHeight / 2);
-  CPDF_Point pt2(crBBox.left + fWidth / 2, crBBox.top);
-  CPDF_Point pt3(crBBox.right, crBBox.bottom + fHeight / 2);
-  CPDF_Point pt4(crBBox.left + fWidth / 2, crBBox.bottom);
+  CFX_FloatPoint pt1(crBBox.left, crBBox.bottom + fHeight / 2);
+  CFX_FloatPoint pt2(crBBox.left + fWidth / 2, crBBox.top);
+  CFX_FloatPoint pt3(crBBox.right, crBBox.bottom + fHeight / 2);
+  CFX_FloatPoint pt4(crBBox.left + fWidth / 2, crBBox.bottom);
 
   csAP << pt1.x << " " << pt1.y << " m\n";
 
@@ -226,7 +227,7 @@
   return csAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAP_Cross(const CPDF_Rect& crBBox) {
+CFX_ByteString CPWL_Utils::GetAP_Cross(const CFX_FloatRect& crBBox) {
   CFX_ByteTextBuf csAP;
 
   csAP << crBBox.left << " " << crBBox.top << " m\n";
@@ -237,16 +238,16 @@
   return csAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAP_Diamond(const CPDF_Rect& crBBox) {
+CFX_ByteString CPWL_Utils::GetAP_Diamond(const CFX_FloatRect& crBBox) {
   CFX_ByteTextBuf csAP;
 
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
 
-  CPDF_Point pt1(crBBox.left, crBBox.bottom + fHeight / 2);
-  CPDF_Point pt2(crBBox.left + fWidth / 2, crBBox.top);
-  CPDF_Point pt3(crBBox.right, crBBox.bottom + fHeight / 2);
-  CPDF_Point pt4(crBBox.left + fWidth / 2, crBBox.bottom);
+  CFX_FloatPoint pt1(crBBox.left, crBBox.bottom + fHeight / 2);
+  CFX_FloatPoint pt2(crBBox.left + fWidth / 2, crBBox.top);
+  CFX_FloatPoint pt3(crBBox.right, crBBox.bottom + fHeight / 2);
+  CFX_FloatPoint pt4(crBBox.left + fWidth / 2, crBBox.bottom);
 
   csAP << pt1.x << " " << pt1.y << " m\n";
   csAP << pt2.x << " " << pt2.y << " l\n";
@@ -257,7 +258,7 @@
   return csAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAP_Square(const CPDF_Rect& crBBox) {
+CFX_ByteString CPWL_Utils::GetAP_Square(const CFX_FloatRect& crBBox) {
   CFX_ByteTextBuf csAP;
 
   csAP << crBBox.left << " " << crBBox.top << " m\n";
@@ -269,13 +270,13 @@
   return csAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAP_Star(const CPDF_Rect& crBBox) {
+CFX_ByteString CPWL_Utils::GetAP_Star(const CFX_FloatRect& crBBox) {
   CFX_ByteTextBuf csAP;
 
   FX_FLOAT fRadius =
       (crBBox.top - crBBox.bottom) / (1 + (FX_FLOAT)cos(FX_PI / 5.0f));
-  CPDF_Point ptCenter = CPDF_Point((crBBox.left + crBBox.right) / 2.0f,
-                                   (crBBox.top + crBBox.bottom) / 2.0f);
+  CFX_FloatPoint ptCenter = CFX_FloatPoint((crBBox.left + crBBox.right) / 2.0f,
+                                           (crBBox.top + crBBox.bottom) / 2.0f);
 
   FX_FLOAT px[5], py[5];
 
@@ -301,16 +302,16 @@
   return csAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAP_HalfCircle(const CPDF_Rect& crBBox,
+CFX_ByteString CPWL_Utils::GetAP_HalfCircle(const CFX_FloatRect& crBBox,
                                             FX_FLOAT fRotate) {
   CFX_ByteTextBuf csAP;
 
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
 
-  CPDF_Point pt1(-fWidth / 2, 0);
-  CPDF_Point pt2(0, fHeight / 2);
-  CPDF_Point pt3(fWidth / 2, 0);
+  CFX_FloatPoint pt1(-fWidth / 2, 0);
+  CFX_FloatPoint pt2(0, fHeight / 2);
+  CFX_FloatPoint pt3(fWidth / 2, 0);
 
   FX_FLOAT px, py;
 
@@ -336,39 +337,42 @@
   return csAP.GetByteString();
 }
 
-CPDF_Rect CPWL_Utils::InflateRect(const CPDF_Rect& rcRect, FX_FLOAT fSize) {
+CFX_FloatRect CPWL_Utils::InflateRect(const CFX_FloatRect& rcRect,
+                                      FX_FLOAT fSize) {
   if (rcRect.IsEmpty())
     return rcRect;
 
-  CPDF_Rect rcNew(rcRect.left - fSize, rcRect.bottom - fSize,
-                  rcRect.right + fSize, rcRect.top + fSize);
+  CFX_FloatRect rcNew(rcRect.left - fSize, rcRect.bottom - fSize,
+                      rcRect.right + fSize, rcRect.top + fSize);
   rcNew.Normalize();
   return rcNew;
 }
 
-CPDF_Rect CPWL_Utils::DeflateRect(const CPDF_Rect& rcRect, FX_FLOAT fSize) {
+CFX_FloatRect CPWL_Utils::DeflateRect(const CFX_FloatRect& rcRect,
+                                      FX_FLOAT fSize) {
   if (rcRect.IsEmpty())
     return rcRect;
 
-  CPDF_Rect rcNew(rcRect.left + fSize, rcRect.bottom + fSize,
-                  rcRect.right - fSize, rcRect.top - fSize);
+  CFX_FloatRect rcNew(rcRect.left + fSize, rcRect.bottom + fSize,
+                      rcRect.right - fSize, rcRect.top - fSize);
   rcNew.Normalize();
   return rcNew;
 }
 
-CPDF_Rect CPWL_Utils::ScaleRect(const CPDF_Rect& rcRect, FX_FLOAT fScale) {
+CFX_FloatRect CPWL_Utils::ScaleRect(const CFX_FloatRect& rcRect,
+                                    FX_FLOAT fScale) {
   FX_FLOAT fHalfWidth = (rcRect.right - rcRect.left) / 2.0f;
   FX_FLOAT fHalfHeight = (rcRect.top - rcRect.bottom) / 2.0f;
 
-  CPDF_Point ptCenter = CPDF_Point((rcRect.left + rcRect.right) / 2,
-                                   (rcRect.top + rcRect.bottom) / 2);
+  CFX_FloatPoint ptCenter = CFX_FloatPoint((rcRect.left + rcRect.right) / 2,
+                                           (rcRect.top + rcRect.bottom) / 2);
 
-  return CPDF_Rect(
+  return CFX_FloatRect(
       ptCenter.x - fHalfWidth * fScale, ptCenter.y - fHalfHeight * fScale,
       ptCenter.x + fHalfWidth * fScale, ptCenter.y + fHalfHeight * fScale);
 }
 
-CFX_ByteString CPWL_Utils::GetRectFillAppStream(const CPDF_Rect& rect,
+CFX_ByteString CPWL_Utils::GetRectFillAppStream(const CFX_FloatRect& rect,
                                                 const CPWL_Color& color) {
   CFX_ByteTextBuf sAppStream;
 
@@ -383,7 +387,7 @@
   return sAppStream.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetCircleFillAppStream(const CPDF_Rect& rect,
+CFX_ByteString CPWL_Utils::GetCircleFillAppStream(const CFX_FloatRect& rect,
                                                   const CPWL_Color& color) {
   CFX_ByteTextBuf sAppStream;
 
@@ -395,7 +399,7 @@
   return sAppStream.GetByteString();
 }
 
-CPDF_Rect CPWL_Utils::GetCenterSquare(const CPDF_Rect& rect) {
+CFX_FloatRect CPWL_Utils::GetCenterSquare(const CFX_FloatRect& rect) {
   FX_FLOAT fWidth = rect.right - rect.left;
   FX_FLOAT fHeight = rect.top - rect.bottom;
 
@@ -404,12 +408,12 @@
 
   FX_FLOAT fRadius = (fWidth > fHeight) ? fHeight / 2 : fWidth / 2;
 
-  return CPDF_Rect(fCenterX - fRadius, fCenterY - fRadius, fCenterX + fRadius,
-                   fCenterY + fRadius);
+  return CFX_FloatRect(fCenterX - fRadius, fCenterY - fRadius,
+                       fCenterX + fRadius, fCenterY + fRadius);
 }
 
 CFX_ByteString CPWL_Utils::GetEditAppStream(IFX_Edit* pEdit,
-                                            const CPDF_Point& ptOffset,
+                                            const CFX_FloatPoint& ptOffset,
                                             const CPVT_WordRange* pRange,
                                             FX_BOOL bContinuous,
                                             FX_WORD SubWord) {
@@ -418,7 +422,7 @@
 }
 
 CFX_ByteString CPWL_Utils::GetEditSelAppStream(IFX_Edit* pEdit,
-                                               const CPDF_Point& ptOffset,
+                                               const CFX_FloatPoint& ptOffset,
                                                const CPVT_WordRange* pRange) {
   return IFX_Edit::GetSelectAppearanceStream(pEdit, ptOffset, pRange);
 }
@@ -445,7 +449,7 @@
 
 static CFX_ByteString GetWordSpellCheckAppearanceStream(
     IFX_Edit_Iterator* pIterator,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     const CPVT_WordRange& wrWord) {
   CFX_ByteTextBuf sRet;
 
@@ -504,7 +508,7 @@
 CFX_ByteString CPWL_Utils::GetSpellCheckAppStream(
     IFX_Edit* pEdit,
     IPWL_SpellCheck* pSpellCheck,
-    const CPDF_Point& ptOffset,
+    const CFX_FloatPoint& ptOffset,
     const CPVT_WordRange* pRange) {
   CFX_ByteTextBuf sRet;
 
@@ -569,7 +573,7 @@
   return sRet.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetTextAppStream(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetTextAppStream(const CFX_FloatRect& rcBBox,
                                             IFX_Edit_FontMap* pFontMap,
                                             const CFX_WideString& sText,
                                             int32_t nAlignmentH,
@@ -596,7 +600,7 @@
     pEdit->SetText(sText.c_str());
 
     CFX_ByteString sEdit =
-        CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, 0.0f));
+        CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, 0.0f));
     if (sEdit.GetLength() > 0) {
       sRet << "BT\n" << CPWL_Utils::GetColorAppStream(crText) << sEdit
            << "ET\n";
@@ -607,7 +611,7 @@
   return sRet.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetPushButtonAppStream(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetPushButtonAppStream(const CFX_FloatRect& rcBBox,
                                                   IFX_Edit_FontMap* pFontMap,
                                                   CPDF_Stream* pIconStream,
                                                   CPDF_IconFit& IconFit,
@@ -631,7 +635,7 @@
     pEdit->Initialize();
     pEdit->SetText(sLabel.c_str());
 
-    CPDF_Rect rcLabelContent = pEdit->GetContentRect();
+    CFX_FloatRect rcLabelContent = pEdit->GetContentRect();
     CPWL_Icon Icon;
     PWL_CREATEPARAM cp;
     cp.dwFlags = PWS_VISIBLE;
@@ -639,45 +643,45 @@
     Icon.SetIconFit(&IconFit);
     Icon.SetPDFStream(pIconStream);
 
-    CPDF_Rect rcLabel = CPDF_Rect(0, 0, 0, 0);
-    CPDF_Rect rcIcon = CPDF_Rect(0, 0, 0, 0);
+    CFX_FloatRect rcLabel = CFX_FloatRect(0, 0, 0, 0);
+    CFX_FloatRect rcIcon = CFX_FloatRect(0, 0, 0, 0);
     FX_FLOAT fWidth = 0.0f;
     FX_FLOAT fHeight = 0.0f;
 
     switch (nLayOut) {
       case PPBL_LABEL:
         rcLabel = rcBBox;
-        rcIcon = CPDF_Rect(0, 0, 0, 0);
+        rcIcon = CFX_FloatRect(0, 0, 0, 0);
         break;
       case PPBL_ICON:
         rcIcon = rcBBox;
-        rcLabel = CPDF_Rect(0, 0, 0, 0);
+        rcLabel = CFX_FloatRect(0, 0, 0, 0);
         break;
       case PPBL_ICONTOPLABELBOTTOM:
 
         if (pIconStream) {
           if (IsFloatZero(fFontSize)) {
             fHeight = rcBBox.top - rcBBox.bottom;
-            rcLabel = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right,
-                                rcBBox.bottom + fHeight * fAutoFontScale);
-            rcIcon =
-                CPDF_Rect(rcBBox.left, rcLabel.top, rcBBox.right, rcBBox.top);
+            rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right,
+                                    rcBBox.bottom + fHeight * fAutoFontScale);
+            rcIcon = CFX_FloatRect(rcBBox.left, rcLabel.top, rcBBox.right,
+                                   rcBBox.top);
           } else {
             fHeight = rcLabelContent.Height();
 
             if (rcBBox.bottom + fHeight > rcBBox.top) {
-              rcIcon = CPDF_Rect(0, 0, 0, 0);
+              rcIcon = CFX_FloatRect(0, 0, 0, 0);
               rcLabel = rcBBox;
             } else {
-              rcLabel = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right,
-                                  rcBBox.bottom + fHeight);
-              rcIcon =
-                  CPDF_Rect(rcBBox.left, rcLabel.top, rcBBox.right, rcBBox.top);
+              rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right,
+                                      rcBBox.bottom + fHeight);
+              rcIcon = CFX_FloatRect(rcBBox.left, rcLabel.top, rcBBox.right,
+                                     rcBBox.top);
             }
           }
         } else {
           rcLabel = rcBBox;
-          rcIcon = CPDF_Rect(0, 0, 0, 0);
+          rcIcon = CFX_FloatRect(0, 0, 0, 0);
         }
 
         break;
@@ -686,27 +690,27 @@
         if (pIconStream) {
           if (IsFloatZero(fFontSize)) {
             fHeight = rcBBox.top - rcBBox.bottom;
-            rcLabel =
-                CPDF_Rect(rcBBox.left, rcBBox.top - fHeight * fAutoFontScale,
-                          rcBBox.right, rcBBox.top);
-            rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right,
-                               rcLabel.bottom);
+            rcLabel = CFX_FloatRect(rcBBox.left,
+                                    rcBBox.top - fHeight * fAutoFontScale,
+                                    rcBBox.right, rcBBox.top);
+            rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right,
+                                   rcLabel.bottom);
           } else {
             fHeight = rcLabelContent.Height();
 
             if (rcBBox.bottom + fHeight > rcBBox.top) {
-              rcIcon = CPDF_Rect(0, 0, 0, 0);
+              rcIcon = CFX_FloatRect(0, 0, 0, 0);
               rcLabel = rcBBox;
             } else {
-              rcLabel = CPDF_Rect(rcBBox.left, rcBBox.top - fHeight,
-                                  rcBBox.right, rcBBox.top);
-              rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcBBox.right,
-                                 rcLabel.bottom);
+              rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.top - fHeight,
+                                      rcBBox.right, rcBBox.top);
+              rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcBBox.right,
+                                     rcLabel.bottom);
             }
           }
         } else {
           rcLabel = rcBBox;
-          rcIcon = CPDF_Rect(0, 0, 0, 0);
+          rcIcon = CFX_FloatRect(0, 0, 0, 0);
         }
 
         break;
@@ -715,21 +719,22 @@
         if (pIconStream) {
           if (IsFloatZero(fFontSize)) {
             fWidth = rcBBox.right - rcBBox.left;
-            rcLabel = CPDF_Rect(rcBBox.right - fWidth * fAutoFontScale,
-                                rcBBox.bottom, rcBBox.right, rcBBox.top);
-            rcIcon =
-                CPDF_Rect(rcBBox.left, rcBBox.bottom, rcLabel.left, rcBBox.top);
+            rcLabel = CFX_FloatRect(rcBBox.right - fWidth * fAutoFontScale,
+                                    rcBBox.bottom, rcBBox.right, rcBBox.top);
+            rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcLabel.left,
+                                   rcBBox.top);
 
             if (rcLabelContent.Width() < fWidth * fAutoFontScale) {
             } else {
               if (rcLabelContent.Width() < fWidth) {
-                rcLabel = CPDF_Rect(rcBBox.right - rcLabelContent.Width(),
-                                    rcBBox.bottom, rcBBox.right, rcBBox.top);
-                rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcLabel.left,
-                                   rcBBox.top);
+                rcLabel =
+                    CFX_FloatRect(rcBBox.right - rcLabelContent.Width(),
+                                  rcBBox.bottom, rcBBox.right, rcBBox.top);
+                rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcLabel.left,
+                                       rcBBox.top);
               } else {
                 rcLabel = rcBBox;
-                rcIcon = CPDF_Rect(0, 0, 0, 0);
+                rcIcon = CFX_FloatRect(0, 0, 0, 0);
               }
             }
           } else {
@@ -737,17 +742,17 @@
 
             if (rcBBox.left + fWidth > rcBBox.right) {
               rcLabel = rcBBox;
-              rcIcon = CPDF_Rect(0, 0, 0, 0);
+              rcIcon = CFX_FloatRect(0, 0, 0, 0);
             } else {
-              rcLabel = CPDF_Rect(rcBBox.right - fWidth, rcBBox.bottom,
-                                  rcBBox.right, rcBBox.top);
-              rcIcon = CPDF_Rect(rcBBox.left, rcBBox.bottom, rcLabel.left,
-                                 rcBBox.top);
+              rcLabel = CFX_FloatRect(rcBBox.right - fWidth, rcBBox.bottom,
+                                      rcBBox.right, rcBBox.top);
+              rcIcon = CFX_FloatRect(rcBBox.left, rcBBox.bottom, rcLabel.left,
+                                     rcBBox.top);
             }
           }
         } else {
           rcLabel = rcBBox;
-          rcIcon = CPDF_Rect(0, 0, 0, 0);
+          rcIcon = CFX_FloatRect(0, 0, 0, 0);
         }
 
         break;
@@ -756,23 +761,23 @@
         if (pIconStream) {
           if (IsFloatZero(fFontSize)) {
             fWidth = rcBBox.right - rcBBox.left;
-            rcLabel =
-                CPDF_Rect(rcBBox.left, rcBBox.bottom,
-                          rcBBox.left + fWidth * fAutoFontScale, rcBBox.top);
-            rcIcon = CPDF_Rect(rcLabel.right, rcBBox.bottom, rcBBox.right,
-                               rcBBox.top);
+            rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom,
+                                    rcBBox.left + fWidth * fAutoFontScale,
+                                    rcBBox.top);
+            rcIcon = CFX_FloatRect(rcLabel.right, rcBBox.bottom, rcBBox.right,
+                                   rcBBox.top);
 
             if (rcLabelContent.Width() < fWidth * fAutoFontScale) {
             } else {
               if (rcLabelContent.Width() < fWidth) {
-                rcLabel =
-                    CPDF_Rect(rcBBox.left, rcBBox.bottom,
-                              rcBBox.left + rcLabelContent.Width(), rcBBox.top);
-                rcIcon = CPDF_Rect(rcLabel.right, rcBBox.bottom, rcBBox.right,
-                                   rcBBox.top);
+                rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom,
+                                        rcBBox.left + rcLabelContent.Width(),
+                                        rcBBox.top);
+                rcIcon = CFX_FloatRect(rcLabel.right, rcBBox.bottom,
+                                       rcBBox.right, rcBBox.top);
               } else {
                 rcLabel = rcBBox;
-                rcIcon = CPDF_Rect(0, 0, 0, 0);
+                rcIcon = CFX_FloatRect(0, 0, 0, 0);
               }
             }
           } else {
@@ -780,17 +785,17 @@
 
             if (rcBBox.left + fWidth > rcBBox.right) {
               rcLabel = rcBBox;
-              rcIcon = CPDF_Rect(0, 0, 0, 0);
+              rcIcon = CFX_FloatRect(0, 0, 0, 0);
             } else {
-              rcLabel = CPDF_Rect(rcBBox.left, rcBBox.bottom,
-                                  rcBBox.left + fWidth, rcBBox.top);
-              rcIcon = CPDF_Rect(rcLabel.right, rcBBox.bottom, rcBBox.right,
-                                 rcBBox.top);
+              rcLabel = CFX_FloatRect(rcBBox.left, rcBBox.bottom,
+                                      rcBBox.left + fWidth, rcBBox.top);
+              rcIcon = CFX_FloatRect(rcLabel.right, rcBBox.bottom, rcBBox.right,
+                                     rcBBox.top);
             }
           }
         } else {
           rcLabel = rcBBox;
-          rcIcon = CPDF_Rect(0, 0, 0, 0);
+          rcIcon = CFX_FloatRect(0, 0, 0, 0);
         }
 
         break;
@@ -812,7 +817,7 @@
     if (!rcLabel.IsEmpty()) {
       pEdit->SetPlateRect(rcLabel);
       CFX_ByteString sEdit =
-          CPWL_Utils::GetEditAppStream(pEdit, CPDF_Point(0.0f, 0.0f));
+          CPWL_Utils::GetEditAppStream(pEdit, CFX_FloatPoint(0.0f, 0.0f));
       if (sEdit.GetLength() > 0) {
         sTemp << "BT\n" << CPWL_Utils::GetColorAppStream(crText) << sEdit
               << "ET\n";
@@ -858,7 +863,7 @@
   return sColorStream.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetBorderAppStream(const CPDF_Rect& rect,
+CFX_ByteString CPWL_Utils::GetBorderAppStream(const CFX_FloatRect& rect,
                                               FX_FLOAT fWidth,
                                               const CPWL_Color& color,
                                               const CPWL_Color& crLeftTop,
@@ -975,7 +980,7 @@
 }
 
 CFX_ByteString CPWL_Utils::GetCircleBorderAppStream(
-    const CPDF_Rect& rect,
+    const CFX_FloatRect& rect,
     FX_FLOAT fWidth,
     const CPWL_Color& color,
     const CPWL_Color& crLeftTop,
@@ -1124,7 +1129,7 @@
   return sRet;
 }
 
-CFX_ByteString CPWL_Utils::GetAppStream_Check(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetAppStream_Check(const CFX_FloatRect& rcBBox,
                                               const CPWL_Color& crText) {
   CFX_ByteTextBuf sAP;
   sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE)
@@ -1132,7 +1137,7 @@
   return sAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAppStream_Circle(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetAppStream_Circle(const CFX_FloatRect& rcBBox,
                                                const CPWL_Color& crText) {
   CFX_ByteTextBuf sAP;
   sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE)
@@ -1140,7 +1145,7 @@
   return sAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAppStream_Cross(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetAppStream_Cross(const CFX_FloatRect& rcBBox,
                                               const CPWL_Color& crText) {
   CFX_ByteTextBuf sAP;
   sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, FALSE)
@@ -1148,7 +1153,7 @@
   return sAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAppStream_Diamond(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetAppStream_Diamond(const CFX_FloatRect& rcBBox,
                                                 const CPWL_Color& crText) {
   CFX_ByteTextBuf sAP;
   sAP << "q\n1 w\n" << CPWL_Utils::GetColorAppStream(crText, TRUE)
@@ -1156,7 +1161,7 @@
   return sAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAppStream_Square(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetAppStream_Square(const CFX_FloatRect& rcBBox,
                                                const CPWL_Color& crText) {
   CFX_ByteTextBuf sAP;
   sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE)
@@ -1164,7 +1169,7 @@
   return sAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetAppStream_Star(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetAppStream_Star(const CFX_FloatRect& rcBBox,
                                              const CPWL_Color& crText) {
   CFX_ByteTextBuf sAP;
   sAP << "q\n" << CPWL_Utils::GetColorAppStream(crText, TRUE)
@@ -1172,10 +1177,10 @@
   return sAP.GetByteString();
 }
 
-CFX_ByteString CPWL_Utils::GetCheckBoxAppStream(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetCheckBoxAppStream(const CFX_FloatRect& rcBBox,
                                                 int32_t nStyle,
                                                 const CPWL_Color& crText) {
-  CPDF_Rect rcCenter = GetCenterSquare(rcBBox);
+  CFX_FloatRect rcCenter = GetCenterSquare(rcBBox);
   switch (nStyle) {
     default:
     case PCS_CHECK:
@@ -1193,10 +1198,10 @@
   }
 }
 
-CFX_ByteString CPWL_Utils::GetRadioButtonAppStream(const CPDF_Rect& rcBBox,
+CFX_ByteString CPWL_Utils::GetRadioButtonAppStream(const CFX_FloatRect& rcBBox,
                                                    int32_t nStyle,
                                                    const CPWL_Color& crText) {
-  CPDF_Rect rcCenter = GetCenterSquare(rcBBox);
+  CFX_FloatRect rcCenter = GetCenterSquare(rcBBox);
   switch (nStyle) {
     default:
     case PCS_CHECK:
@@ -1214,7 +1219,7 @@
   }
 }
 
-CFX_ByteString CPWL_Utils::GetDropButtonAppStream(const CPDF_Rect& rcBBox) {
+CFX_ByteString CPWL_Utils::GetDropButtonAppStream(const CFX_FloatRect& rcBBox) {
   CFX_ByteTextBuf sAppStream;
 
   if (!rcBBox.IsEmpty()) {
@@ -1234,8 +1239,8 @@
                                CPWL_Dash(3, 0, 0))
                << "Q\n";
 
-    CPDF_Point ptCenter = CPDF_Point((rcBBox.left + rcBBox.right) / 2,
-                                     (rcBBox.top + rcBBox.bottom) / 2);
+    CFX_FloatPoint ptCenter = CFX_FloatPoint((rcBBox.left + rcBBox.right) / 2,
+                                             (rcBBox.top + rcBBox.bottom) / 2);
     if (IsFloatBigger(rcBBox.right - rcBBox.left, 6) &&
         IsFloatBigger(rcBBox.top - rcBBox.bottom, 6)) {
       sAppStream << "q\n"
@@ -1365,17 +1370,17 @@
 
 void CPWL_Utils::DrawFillRect(CFX_RenderDevice* pDevice,
                               CFX_Matrix* pUser2Device,
-                              const CPDF_Rect& rect,
+                              const CFX_FloatRect& rect,
                               const FX_COLORREF& color) {
   CFX_PathData path;
-  CPDF_Rect rcTemp(rect);
+  CFX_FloatRect rcTemp(rect);
   path.AppendRect(rcTemp.left, rcTemp.bottom, rcTemp.right, rcTemp.top);
   pDevice->DrawPath(&path, pUser2Device, NULL, color, 0, FXFILL_WINDING);
 }
 
 void CPWL_Utils::DrawFillArea(CFX_RenderDevice* pDevice,
                               CFX_Matrix* pUser2Device,
-                              const CPDF_Point* pPts,
+                              const CFX_FloatPoint* pPts,
                               int32_t nCount,
                               const FX_COLORREF& color) {
   CFX_PathData path;
@@ -1390,11 +1395,11 @@
 
 void CPWL_Utils::DrawStrokeRect(CFX_RenderDevice* pDevice,
                                 CFX_Matrix* pUser2Device,
-                                const CPDF_Rect& rect,
+                                const CFX_FloatRect& rect,
                                 const FX_COLORREF& color,
                                 FX_FLOAT fWidth) {
   CFX_PathData path;
-  CPDF_Rect rcTemp(rect);
+  CFX_FloatRect rcTemp(rect);
   path.AppendRect(rcTemp.left, rcTemp.bottom, rcTemp.right, rcTemp.top);
 
   CFX_GraphStateData gsd;
@@ -1405,8 +1410,8 @@
 
 void CPWL_Utils::DrawStrokeLine(CFX_RenderDevice* pDevice,
                                 CFX_Matrix* pUser2Device,
-                                const CPDF_Point& ptMoveTo,
-                                const CPDF_Point& ptLineTo,
+                                const CFX_FloatPoint& ptMoveTo,
+                                const CFX_FloatPoint& ptLineTo,
                                 const FX_COLORREF& color,
                                 FX_FLOAT fWidth) {
   CFX_PathData path;
@@ -1422,7 +1427,7 @@
 
 void CPWL_Utils::DrawFillRect(CFX_RenderDevice* pDevice,
                               CFX_Matrix* pUser2Device,
-                              const CPDF_Rect& rect,
+                              const CFX_FloatRect& rect,
                               const CPWL_Color& color,
                               int32_t nTransparancy) {
   CPWL_Utils::DrawFillRect(pDevice, pUser2Device, rect,
@@ -1433,7 +1438,7 @@
                             CFX_Matrix* pUser2Device,
                             FX_BOOL bVertical,
                             FX_BOOL bHorizontal,
-                            CPDF_Rect rect,
+                            CFX_FloatRect rect,
                             int32_t nTransparancy,
                             int32_t nStartGray,
                             int32_t nEndGray) {
@@ -1445,8 +1450,8 @@
     for (FX_FLOAT fy = rect.bottom + 0.5f; fy <= rect.top - 0.5f; fy += 1.0f) {
       int32_t nGray = nStartGray + (int32_t)(fStepGray * (fy - rect.bottom));
       CPWL_Utils::DrawStrokeLine(
-          pDevice, pUser2Device, CPDF_Point(rect.left, fy),
-          CPDF_Point(rect.right, fy),
+          pDevice, pUser2Device, CFX_FloatPoint(rect.left, fy),
+          CFX_FloatPoint(rect.right, fy),
           ArgbEncode(nTransparancy, nGray, nGray, nGray), 1.5f);
     }
   }
@@ -1457,8 +1462,8 @@
     for (FX_FLOAT fx = rect.left + 0.5f; fx <= rect.right - 0.5f; fx += 1.0f) {
       int32_t nGray = nStartGray + (int32_t)(fStepGray * (fx - rect.left));
       CPWL_Utils::DrawStrokeLine(
-          pDevice, pUser2Device, CPDF_Point(fx, rect.bottom),
-          CPDF_Point(fx, rect.top),
+          pDevice, pUser2Device, CFX_FloatPoint(fx, rect.bottom),
+          CFX_FloatPoint(fx, rect.top),
           ArgbEncode(nTransparancy, nGray, nGray, nGray), 1.5f);
     }
   }
@@ -1466,7 +1471,7 @@
 
 void CPWL_Utils::DrawBorder(CFX_RenderDevice* pDevice,
                             CFX_Matrix* pUser2Device,
-                            const CPDF_Rect& rect,
+                            const CFX_FloatRect& rect,
                             FX_FLOAT fWidth,
                             const CPWL_Color& color,
                             const CPWL_Color& crLeftTop,
@@ -1673,8 +1678,8 @@
 void CPWL_Utils::DrawEditSpellCheck(CFX_RenderDevice* pDevice,
                                     CFX_Matrix* pUser2Device,
                                     IFX_Edit* pEdit,
-                                    const CPDF_Rect& rcClip,
-                                    const CPDF_Point& ptOffset,
+                                    const CFX_FloatRect& rcClip,
+                                    const CFX_FloatPoint& ptOffset,
                                     const CPVT_WordRange* pRange,
                                     IPWL_SpellCheck* pSpellCheck) {
   const FX_COLORREF crSpell = ArgbEncode(255, 255, 0, 0);
@@ -1689,7 +1694,7 @@
   pDevice->SaveState();
 
   if (!rcClip.IsEmpty()) {
-    CPDF_Rect rcTemp = rcClip;
+    CFX_FloatRect rcTemp = rcClip;
     pUser2Device->TransformRect(rcTemp);
     FX_RECT rcDevClip;
     rcDevClip.left = (int32_t)rcTemp.left;
@@ -1812,7 +1817,7 @@
 }
 
 CFX_ByteString CPWL_Utils::GetIconAppStream(int32_t nType,
-                                            const CPDF_Rect& rect,
+                                            const CFX_FloatRect& rect,
                                             const CPWL_Color& crFill,
                                             const CPWL_Color& crStroke) {
   CFX_ByteString sAppStream = CPWL_Utils::GetColorAppStream(crStroke, FALSE);
@@ -1896,7 +1901,7 @@
 void CPWL_Utils::DrawIconAppStream(CFX_RenderDevice* pDevice,
                                    CFX_Matrix* pUser2Device,
                                    int32_t nType,
-                                   const CPDF_Rect& rect,
+                                   const CFX_FloatRect& rect,
                                    const CPWL_Color& crFill,
                                    const CPWL_Color& crStroke,
                                    const int32_t nTransparancy) {
@@ -1978,7 +1983,7 @@
 
 void CPWL_Utils::GetGraphics_Checkmark(CFX_ByteString& sPathData,
                                        CFX_PathData& path,
-                                       const CPDF_Rect& crBBox,
+                                       const CFX_FloatRect& crBBox,
                                        const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2065,7 +2070,7 @@
 
 void CPWL_Utils::GetGraphics_Circle(CFX_ByteString& sPathData,
                                     CFX_PathData& path,
-                                    const CPDF_Rect& crBBox,
+                                    const CFX_FloatRect& crBBox,
                                     const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2188,7 +2193,7 @@
 
 void CPWL_Utils::GetGraphics_Comment(CFX_ByteString& sPathData,
                                      CFX_PathData& path,
-                                     const CPDF_Rect& crBBox,
+                                     const CFX_FloatRect& crBBox,
                                      const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2307,7 +2312,7 @@
 
 void CPWL_Utils::GetGraphics_Cross(CFX_ByteString& sPathData,
                                    CFX_PathData& path,
-                                   const CPDF_Rect& crBBox,
+                                   const CFX_FloatRect& crBBox,
                                    const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2364,7 +2369,7 @@
 
 void CPWL_Utils::GetGraphics_Help(CFX_ByteString& sPathData,
                                   CFX_PathData& path,
-                                  const CPDF_Rect& crBBox,
+                                  const CFX_FloatRect& crBBox,
                                   const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2594,7 +2599,7 @@
 
 void CPWL_Utils::GetGraphics_InsertText(CFX_ByteString& sPathData,
                                         CFX_PathData& path,
-                                        const CPDF_Rect& crBBox,
+                                        const CFX_FloatRect& crBBox,
                                         const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2621,7 +2626,7 @@
 
 void CPWL_Utils::GetGraphics_Key(CFX_ByteString& sPathData,
                                  CFX_PathData& path,
-                                 const CPDF_Rect& crBBox,
+                                 const CFX_FloatRect& crBBox,
                                  const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2752,7 +2757,7 @@
 
 void CPWL_Utils::GetGraphics_NewParagraph(CFX_ByteString& sPathData,
                                           CFX_PathData& path,
-                                          const CPDF_Rect& crBBox,
+                                          const CFX_FloatRect& crBBox,
                                           const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2856,7 +2861,7 @@
 
 void CPWL_Utils::GetGraphics_TextNote(CFX_ByteString& sPathData,
                                       CFX_PathData& path,
-                                      const CPDF_Rect& crBBox,
+                                      const CFX_FloatRect& crBBox,
                                       const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2922,7 +2927,7 @@
 
 void CPWL_Utils::GetGraphics_Paragraph(CFX_ByteString& sPathData,
                                        CFX_PathData& path,
-                                       const CPDF_Rect& crBBox,
+                                       const CFX_FloatRect& crBBox,
                                        const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -2973,7 +2978,7 @@
 
 void CPWL_Utils::GetGraphics_RightArrow(CFX_ByteString& sPathData,
                                         CFX_PathData& path,
-                                        const CPDF_Rect& crBBox,
+                                        const CFX_FloatRect& crBBox,
                                         const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3018,7 +3023,7 @@
 
 void CPWL_Utils::GetGraphics_RightPointer(CFX_ByteString& sPathData,
                                           CFX_PathData& path,
-                                          const CPDF_Rect& crBBox,
+                                          const CFX_FloatRect& crBBox,
                                           const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3048,14 +3053,14 @@
 
 void CPWL_Utils::GetGraphics_Star(CFX_ByteString& sPathData,
                                   CFX_PathData& path,
-                                  const CPDF_Rect& crBBox,
+                                  const CFX_FloatRect& crBBox,
                                   const PWL_PATH_TYPE type) {
   FX_FLOAT fLongRadius =
       (crBBox.top - crBBox.bottom) / (1 + (FX_FLOAT)cos(FX_PI / 5.0f));
   fLongRadius = fLongRadius * 0.7f;
   FX_FLOAT fShortRadius = fLongRadius * 0.55f;
-  CPDF_Point ptCenter = CPDF_Point((crBBox.left + crBBox.right) / 2.0f,
-                                   (crBBox.top + crBBox.bottom) / 2.0f);
+  CFX_FloatPoint ptCenter = CFX_FloatPoint((crBBox.left + crBBox.right) / 2.0f,
+                                           (crBBox.top + crBBox.bottom) / 2.0f);
 
   FX_FLOAT px1[5], py1[5];
   FX_FLOAT px2[5], py2[5];
@@ -3099,7 +3104,7 @@
 
 void CPWL_Utils::GetGraphics_UpArrow(CFX_ByteString& sPathData,
                                      CFX_PathData& path,
-                                     const CPDF_Rect& crBBox,
+                                     const CFX_FloatRect& crBBox,
                                      const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3138,7 +3143,7 @@
 
 void CPWL_Utils::GetGraphics_UpLeftArrow(CFX_ByteString& sPathData,
                                          CFX_PathData& path,
-                                         const CPDF_Rect& crBBox,
+                                         const CFX_FloatRect& crBBox,
                                          const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3193,7 +3198,7 @@
 
 void CPWL_Utils::GetGraphics_Graph(CFX_ByteString& sPathData,
                                    CFX_PathData& path,
-                                   const CPDF_Rect& crBBox,
+                                   const CFX_FloatRect& crBBox,
                                    const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3271,7 +3276,7 @@
 
 void CPWL_Utils::GetGraphics_Paperclip(CFX_ByteString& sPathData,
                                        CFX_PathData& path,
-                                       const CPDF_Rect& crBBox,
+                                       const CFX_FloatRect& crBBox,
                                        const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3414,7 +3419,7 @@
 
 void CPWL_Utils::GetGraphics_Attachment(CFX_ByteString& sPathData,
                                         CFX_PathData& path,
-                                        const CPDF_Rect& crBBox,
+                                        const CFX_FloatRect& crBBox,
                                         const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3510,7 +3515,7 @@
 
 void CPWL_Utils::GetGraphics_Tag(CFX_ByteString& sPathData,
                                  CFX_PathData& path,
-                                 const CPDF_Rect& crBBox,
+                                 const CFX_FloatRect& crBBox,
                                  const PWL_PATH_TYPE type) {
   FX_FLOAT fWidth = crBBox.right - crBBox.left;
   FX_FLOAT fHeight = crBBox.top - crBBox.bottom;
@@ -3561,12 +3566,12 @@
 
 void CPWL_Utils::GetGraphics_Foxit(CFX_ByteString& sPathData,
                                    CFX_PathData& path,
-                                   const CPDF_Rect& crBBox,
+                                   const CFX_FloatRect& crBBox,
                                    const PWL_PATH_TYPE type) {
   FX_FLOAT fOutWidth = crBBox.right - crBBox.left;
   FX_FLOAT fOutHeight = crBBox.top - crBBox.bottom;
 
-  CPDF_Rect crInBox = crBBox;
+  CFX_FloatRect crInBox = crBBox;
   crInBox.left = crBBox.left + fOutWidth * 0.08f;
   crInBox.right = crBBox.right - fOutWidth * 0.08f;
   crInBox.top = crBBox.top - fOutHeight * 0.08f;
diff --git a/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp b/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp
index d0aaa78..28bd0e0 100644
--- a/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp
+++ b/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp
@@ -273,9 +273,11 @@
   m_pVScrollBar = NULL;
 }
 
-void CPWL_Wnd::Move(const CPDF_Rect& rcNew, FX_BOOL bReset, FX_BOOL bRefresh) {
+void CPWL_Wnd::Move(const CFX_FloatRect& rcNew,
+                    FX_BOOL bReset,
+                    FX_BOOL bRefresh) {
   if (IsValid()) {
-    CPDF_Rect rcOld = GetWindowRect();
+    CFX_FloatRect rcOld = GetWindowRect();
 
     m_rcWindow = rcNew;
     m_rcWindow.Normalize();
@@ -294,9 +296,9 @@
   }
 }
 
-void CPWL_Wnd::InvalidateRectMove(const CPDF_Rect& rcOld,
-                                  const CPDF_Rect& rcNew) {
-  CPDF_Rect rcUnion = rcOld;
+void CPWL_Wnd::InvalidateRectMove(const CFX_FloatRect& rcOld,
+                                  const CFX_FloatRect& rcNew) {
+  CFX_FloatRect rcUnion = rcOld;
   rcUnion.Union(rcNew);
 
   InvalidateRect(&rcUnion);
@@ -311,7 +313,7 @@
 
 // if don't set,Get default apperance stream
 void CPWL_Wnd::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
-  CPDF_Rect rectWnd = GetWindowRect();
+  CFX_FloatRect rectWnd = GetWindowRect();
   if (!rectWnd.IsEmpty()) {
     CFX_ByteTextBuf sThis;
 
@@ -348,10 +350,10 @@
 
 void CPWL_Wnd::DrawThisAppearance(CFX_RenderDevice* pDevice,
                                   CFX_Matrix* pUser2Device) {
-  CPDF_Rect rectWnd = GetWindowRect();
+  CFX_FloatRect rectWnd = GetWindowRect();
   if (!rectWnd.IsEmpty()) {
     if (HasFlag(PWS_BACKGROUND)) {
-      CPDF_Rect rcClient = CPWL_Utils::DeflateRect(
+      CFX_FloatRect rcClient = CPWL_Utils::DeflateRect(
           rectWnd, (FX_FLOAT)(GetBorderWidth() + GetInnerBorderWidth()));
       CPWL_Utils::DrawFillRect(pDevice, pUser2Device, rcClient,
                                GetBackgroundColor(), GetTransparency());
@@ -381,12 +383,12 @@
   }
 }
 
-void CPWL_Wnd::InvalidateRect(CPDF_Rect* pRect) {
+void CPWL_Wnd::InvalidateRect(CFX_FloatRect* pRect) {
   if (IsValid()) {
-    CPDF_Rect rcRefresh = pRect ? *pRect : GetWindowRect();
+    CFX_FloatRect rcRefresh = pRect ? *pRect : GetWindowRect();
 
     if (!HasFlag(PWS_NOREFRESHCLIP)) {
-      CPDF_Rect rcClip = GetClipRect();
+      CFX_FloatRect rcClip = GetClipRect();
       if (!rcClip.IsEmpty()) {
         rcRefresh.Intersect(rcClip);
       }
@@ -423,7 +425,7 @@
   }
 
 #define PWL_IMPLEMENT_MOUSE_METHOD(mouse_method_name)                        \
-  FX_BOOL CPWL_Wnd::mouse_method_name(const CPDF_Point& point,               \
+  FX_BOOL CPWL_Wnd::mouse_method_name(const CFX_FloatPoint& point,           \
                                       FX_DWORD nFlag) {                      \
     if (IsValid() && IsVisible() && IsEnabled()) {                           \
       if (IsWndCaptureMouse(this)) {                                         \
@@ -467,7 +469,7 @@
 PWL_IMPLEMENT_MOUSE_METHOD(OnMouseMove)
 
 FX_BOOL CPWL_Wnd::OnMouseWheel(short zDelta,
-                               const CPDF_Point& point,
+                               const CFX_FloatPoint& point,
                                FX_DWORD nFlag) {
   if (IsValid() && IsVisible() && IsEnabled()) {
     SetCursor();
@@ -528,25 +530,25 @@
   return m_sPrivateParam.pParentWnd;
 }
 
-CPDF_Rect CPWL_Wnd::GetWindowRect() const {
+CFX_FloatRect CPWL_Wnd::GetWindowRect() const {
   return m_rcWindow;
 }
 
-CPDF_Rect CPWL_Wnd::GetClientRect() const {
-  CPDF_Rect rcWindow = GetWindowRect();
-  CPDF_Rect rcClient = CPWL_Utils::DeflateRect(
+CFX_FloatRect CPWL_Wnd::GetClientRect() const {
+  CFX_FloatRect rcWindow = GetWindowRect();
+  CFX_FloatRect rcClient = CPWL_Utils::DeflateRect(
       rcWindow, (FX_FLOAT)(GetBorderWidth() + GetInnerBorderWidth()));
   if (CPWL_ScrollBar* pVSB = GetVScrollBar())
     rcClient.right -= pVSB->GetScrollBarWidth();
 
   rcClient.Normalize();
-  return rcWindow.Contains(rcClient) ? rcClient : CPDF_Rect();
+  return rcWindow.Contains(rcClient) ? rcClient : CFX_FloatRect();
 }
 
-CPDF_Point CPWL_Wnd::GetCenterPoint() const {
-  CPDF_Rect rcClient = GetClientRect();
-  return CPDF_Point((rcClient.left + rcClient.right) * 0.5f,
-                    (rcClient.top + rcClient.bottom) * 0.5f);
+CFX_FloatPoint CPWL_Wnd::GetCenterPoint() const {
+  CFX_FloatRect rcClient = GetClientRect();
+  return CFX_FloatPoint((rcClient.left + rcClient.right) * 0.5f,
+                        (rcClient.top + rcClient.bottom) * 0.5f);
 }
 
 FX_BOOL CPWL_Wnd::HasFlag(FX_DWORD dwFlags) const {
@@ -682,11 +684,11 @@
 
 void CPWL_Wnd::OnKillFocus() {}
 
-FX_BOOL CPWL_Wnd::WndHitTest(const CPDF_Point& point) const {
+FX_BOOL CPWL_Wnd::WndHitTest(const CFX_FloatPoint& point) const {
   return IsValid() && IsVisible() && GetWindowRect().Contains(point.x, point.y);
 }
 
-FX_BOOL CPWL_Wnd::ClientHitTest(const CPDF_Point& point) const {
+FX_BOOL CPWL_Wnd::ClientHitTest(const CFX_FloatPoint& point) const {
   return IsValid() && IsVisible() && GetClientRect().Contains(point.x, point.y);
 }
 
@@ -713,12 +715,12 @@
   }
 }
 
-void CPWL_Wnd::SetClipRect(const CPDF_Rect& rect) {
+void CPWL_Wnd::SetClipRect(const CFX_FloatRect& rect) {
   m_rcClip = rect;
   m_rcClip.Normalize();
 }
 
-const CPDF_Rect& CPWL_Wnd::GetClipRect() const {
+const CFX_FloatRect& CPWL_Wnd::GetClipRect() const {
   return m_rcClip;
 }
 
@@ -727,14 +729,14 @@
 }
 
 void CPWL_Wnd::RePosChildWnd() {
-  CPDF_Rect rcContent = CPWL_Utils::DeflateRect(
+  CFX_FloatRect rcContent = CPWL_Utils::DeflateRect(
       GetWindowRect(), (FX_FLOAT)(GetBorderWidth() + GetInnerBorderWidth()));
 
   CPWL_ScrollBar* pVSB = GetVScrollBar();
 
-  CPDF_Rect rcVScroll =
-      CPDF_Rect(rcContent.right - PWL_SCROLLBAR_WIDTH, rcContent.bottom,
-                rcContent.right - 1.0f, rcContent.top);
+  CFX_FloatRect rcVScroll =
+      CFX_FloatRect(rcContent.right - PWL_SCROLLBAR_WIDTH, rcContent.bottom,
+                    rcContent.right - 1.0f, rcContent.top);
 
   if (pVSB)
     pVSB->Move(rcVScroll, TRUE, FALSE);
@@ -791,7 +793,7 @@
   return FALSE;
 }
 
-CPDF_Rect CPWL_Wnd::GetFocusRect() const {
+CFX_FloatRect CPWL_Wnd::GetFocusRect() const {
   return CPWL_Utils::InflateRect(GetWindowRect(), 1);
 }
 
@@ -886,16 +888,18 @@
   return mt;
 }
 
-void CPWL_Wnd::PWLtoWnd(const CPDF_Point& point, int32_t& x, int32_t& y) const {
+void CPWL_Wnd::PWLtoWnd(const CFX_FloatPoint& point,
+                        int32_t& x,
+                        int32_t& y) const {
   CFX_Matrix mt = GetWindowMatrix();
-  CPDF_Point pt = point;
+  CFX_FloatPoint pt = point;
   mt.Transform(pt.x, pt.y);
   x = (int32_t)(pt.x + 0.5);
   y = (int32_t)(pt.y + 0.5);
 }
 
-FX_RECT CPWL_Wnd::PWLtoWnd(const CPDF_Rect& rect) const {
-  CPDF_Rect rcTemp = rect;
+FX_RECT CPWL_Wnd::PWLtoWnd(const CFX_FloatRect& rect) const {
+  CFX_FloatRect rcTemp = rect;
   CFX_Matrix mt = GetWindowMatrix();
   mt.TransformRect(rcTemp);
   return FX_RECT((int32_t)(rcTemp.left + 0.5), (int32_t)(rcTemp.bottom + 0.5),
@@ -906,44 +910,44 @@
   return m_sPrivateParam.hAttachedWnd;
 }
 
-CPDF_Point CPWL_Wnd::ChildToParent(const CPDF_Point& point) const {
+CFX_FloatPoint CPWL_Wnd::ChildToParent(const CFX_FloatPoint& point) const {
   CFX_Matrix mt = GetChildMatrix();
   if (mt.IsIdentity())
     return point;
 
-  CPDF_Point pt = point;
+  CFX_FloatPoint pt = point;
   mt.Transform(pt.x, pt.y);
   return pt;
 }
 
-CPDF_Rect CPWL_Wnd::ChildToParent(const CPDF_Rect& rect) const {
+CFX_FloatRect CPWL_Wnd::ChildToParent(const CFX_FloatRect& rect) const {
   CFX_Matrix mt = GetChildMatrix();
   if (mt.IsIdentity())
     return rect;
 
-  CPDF_Rect rc = rect;
+  CFX_FloatRect rc = rect;
   mt.TransformRect(rc);
   return rc;
 }
 
-CPDF_Point CPWL_Wnd::ParentToChild(const CPDF_Point& point) const {
+CFX_FloatPoint CPWL_Wnd::ParentToChild(const CFX_FloatPoint& point) const {
   CFX_Matrix mt = GetChildMatrix();
   if (mt.IsIdentity())
     return point;
 
   mt.SetReverse(mt);
-  CPDF_Point pt = point;
+  CFX_FloatPoint pt = point;
   mt.Transform(pt.x, pt.y);
   return pt;
 }
 
-CPDF_Rect CPWL_Wnd::ParentToChild(const CPDF_Rect& rect) const {
+CFX_FloatRect CPWL_Wnd::ParentToChild(const CFX_FloatRect& rect) const {
   CFX_Matrix mt = GetChildMatrix();
   if (mt.IsIdentity())
     return rect;
 
   mt.SetReverse(mt);
-  CPDF_Rect rc = rect;
+  CFX_FloatRect rc = rect;
   mt.TransformRect(rc);
   return rc;
 }