| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "fpdfsdk/include/pdfwindow/PDFWindow.h" | 7 #include "fpdfsdk/include/pdfwindow/PDFWindow.h" |
| 8 #include "fpdfsdk/include/pdfwindow/PWL_Button.h" | 8 #include "fpdfsdk/include/pdfwindow/PWL_Button.h" |
| 9 #include "fpdfsdk/include/pdfwindow/PWL_Caret.h" | 9 #include "fpdfsdk/include/pdfwindow/PWL_Caret.h" |
| 10 #include "fpdfsdk/include/pdfwindow/PWL_Edit.h" | 10 #include "fpdfsdk/include/pdfwindow/PWL_Edit.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 | 40 |
| 41 void CPWL_Note_Options::SetTextColor(const CPWL_Color& color) { | 41 void CPWL_Note_Options::SetTextColor(const CPWL_Color& color) { |
| 42 CPWL_Wnd::SetTextColor(color); | 42 CPWL_Wnd::SetTextColor(color); |
| 43 | 43 |
| 44 if (m_pText) | 44 if (m_pText) |
| 45 m_pText->SetTextColor(color); | 45 m_pText->SetTextColor(color); |
| 46 } | 46 } |
| 47 | 47 |
| 48 void CPWL_Note_Options::RePosChildWnd() { | 48 void CPWL_Note_Options::RePosChildWnd() { |
| 49 if (IsValid()) { | 49 if (IsValid()) { |
| 50 ASSERT(m_pText != NULL); | |
| 51 | |
| 52 CPDF_Rect rcClient = GetClientRect(); | 50 CPDF_Rect rcClient = GetClientRect(); |
| 53 | 51 |
| 54 if (rcClient.Width() > 15.0f) { | 52 if (rcClient.Width() > 15.0f) { |
| 55 rcClient.right -= 15.0f; | 53 rcClient.right -= 15.0f; |
| 56 m_pText->Move(rcClient, TRUE, FALSE); | 54 m_pText->Move(rcClient, TRUE, FALSE); |
| 57 m_pText->SetVisible(TRUE); | 55 m_pText->SetVisible(TRUE); |
| 58 } else { | 56 } else { |
| 59 m_pText->Move(CPDF_Rect(0, 0, 0, 0), TRUE, FALSE); | 57 m_pText->Move(CPDF_Rect(0, 0, 0, 0), TRUE, FALSE); |
| 60 m_pText->SetVisible(FALSE); | 58 m_pText->SetVisible(FALSE); |
| 61 } | 59 } |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 path.SetPoint(2, pt3.x, pt3.y, FXPT_LINETO); | 94 path.SetPoint(2, pt3.x, pt3.y, FXPT_LINETO); |
| 97 path.SetPoint(3, pt1.x, pt1.y, FXPT_LINETO); | 95 path.SetPoint(3, pt1.x, pt1.y, FXPT_LINETO); |
| 98 | 96 |
| 99 pDevice->DrawPath( | 97 pDevice->DrawPath( |
| 100 &path, pUser2Device, NULL, | 98 &path, pUser2Device, NULL, |
| 101 CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()), 0, | 99 CPWL_Utils::PWLColorToFXColor(GetTextColor(), GetTransparency()), 0, |
| 102 FXFILL_ALTERNATE); | 100 FXFILL_ALTERNATE); |
| 103 } | 101 } |
| 104 | 102 |
| 105 CPDF_Rect CPWL_Note_Options::GetContentRect() const { | 103 CPDF_Rect CPWL_Note_Options::GetContentRect() const { |
| 106 ASSERT(m_pText != NULL); | |
| 107 | |
| 108 CPDF_Rect rcText = m_pText->GetContentRect(); | 104 CPDF_Rect rcText = m_pText->GetContentRect(); |
| 109 rcText.right += 15.0f; | 105 rcText.right += 15.0f; |
| 110 return rcText; | 106 return rcText; |
| 111 } | 107 } |
| 112 | 108 |
| 113 /* ------------------------------- CPWL_Note_Edit ------------------------------ | 109 /* ------------------------------- CPWL_Note_Edit ------------------------------ |
| 114 */ | 110 */ |
| 115 | 111 |
| 116 CPWL_Note_Edit::CPWL_Note_Edit() | 112 CPWL_Note_Edit::CPWL_Note_Edit() |
| 117 : m_bEnableNotify(TRUE), | 113 : m_bEnableNotify(TRUE), |
| (...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 CPWL_Color(COLORTYPE_RGB, 240 / 255.0f, 240 / 255.0f, 240 / 255.0f); | 650 CPWL_Color(COLORTYPE_RGB, 240 / 255.0f, 240 / 255.0f, 240 / 255.0f); |
| 655 ccp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BACKGROUND; | 651 ccp.dwFlags = PWS_VISIBLE | PWS_CHILD | PWS_BACKGROUND; |
| 656 m_pContents->Create(ccp); | 652 m_pContents->Create(ccp); |
| 657 m_pContents->SetItemSpace(POPUP_ITEM_SPACE); | 653 m_pContents->SetItemSpace(POPUP_ITEM_SPACE); |
| 658 m_pContents->SetTopSpace(POPUP_ITEM_SPACE); | 654 m_pContents->SetTopSpace(POPUP_ITEM_SPACE); |
| 659 m_pContents->SetBottomSpace(POPUP_ITEM_SPACE); | 655 m_pContents->SetBottomSpace(POPUP_ITEM_SPACE); |
| 660 } | 656 } |
| 661 | 657 |
| 662 void CPWL_NoteItem::RePosChildWnd() { | 658 void CPWL_NoteItem::RePosChildWnd() { |
| 663 if (IsValid()) { | 659 if (IsValid()) { |
| 664 ASSERT(m_pSubject != NULL); | |
| 665 ASSERT(m_pDateTime != NULL); | |
| 666 ASSERT(m_pContents != NULL); | |
| 667 | |
| 668 CPDF_Rect rcClient = GetClientRect(); | 660 CPDF_Rect rcClient = GetClientRect(); |
| 669 | 661 |
| 670 CPDF_Rect rcSubject = rcClient; | 662 CPDF_Rect rcSubject = rcClient; |
| 671 rcSubject.left += POPUP_ITEM_TEXT_INDENT; | 663 rcSubject.left += POPUP_ITEM_TEXT_INDENT; |
| 672 rcSubject.top = rcClient.top; | 664 rcSubject.top = rcClient.top; |
| 673 rcSubject.right = | 665 rcSubject.right = |
| 674 PWL_MIN(rcSubject.left + m_pSubject->GetContentRect().Width() + 1.0f, | 666 PWL_MIN(rcSubject.left + m_pSubject->GetContentRect().Width() + 1.0f, |
| 675 rcClient.right); | 667 rcClient.right); |
| 676 rcSubject.bottom = rcSubject.top - m_pSubject->GetContentRect().Height(); | 668 rcSubject.bottom = rcSubject.top - m_pSubject->GetContentRect().Height(); |
| 677 rcSubject.Normalize(); | 669 rcSubject.Normalize(); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 752 if (nItemIndex < 0) { | 744 if (nItemIndex < 0) { |
| 753 if (CPWL_Wnd* pParent = GetParentWindow()) { | 745 if (CPWL_Wnd* pParent = GetParentWindow()) { |
| 754 ASSERT(pParent->GetClassName() == "CPWL_Note_Contents"); | 746 ASSERT(pParent->GetClassName() == "CPWL_Note_Contents"); |
| 755 | 747 |
| 756 CPWL_Note_Contents* pContents = (CPWL_Note_Contents*)pParent; | 748 CPWL_Note_Contents* pContents = (CPWL_Note_Contents*)pParent; |
| 757 nItemIndex = pContents->GetItemIndex(this); | 749 nItemIndex = pContents->GetItemIndex(this); |
| 758 } | 750 } |
| 759 } | 751 } |
| 760 | 752 |
| 761 const CPWL_Note* pNote = GetNote(); | 753 const CPWL_Note* pNote = GetNote(); |
| 762 ASSERT(pNote != NULL); | |
| 763 | |
| 764 CFX_WideString sSubject; | 754 CFX_WideString sSubject; |
| 765 sSubject.Format(pNote->GetReplyString().c_str(), nItemIndex); | 755 sSubject.Format(pNote->GetReplyString().c_str(), nItemIndex); |
| 766 | 756 |
| 767 if (!m_sAuthor.IsEmpty()) { | 757 if (!m_sAuthor.IsEmpty()) { |
| 768 sSubject += L" - "; | 758 sSubject += L" - "; |
| 769 sSubject += m_sAuthor; | 759 sSubject += m_sAuthor; |
| 770 } | 760 } |
| 771 SetSubjectName(sSubject); | 761 SetSubjectName(sSubject); |
| 772 RePosChildWnd(); | 762 RePosChildWnd(); |
| 773 } | 763 } |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 918 return NULL; | 908 return NULL; |
| 919 } | 909 } |
| 920 | 910 |
| 921 FX_FLOAT CPWL_NoteItem::GetItemHeight(FX_FLOAT fLimitWidth) { | 911 FX_FLOAT CPWL_NoteItem::GetItemHeight(FX_FLOAT fLimitWidth) { |
| 922 if (fLimitWidth > 0) { | 912 if (fLimitWidth > 0) { |
| 923 if (!m_bSizeChanged) | 913 if (!m_bSizeChanged) |
| 924 return m_fOldItemHeight; | 914 return m_fOldItemHeight; |
| 925 | 915 |
| 926 m_bSizeChanged = FALSE; | 916 m_bSizeChanged = FALSE; |
| 927 | 917 |
| 928 ASSERT(m_pSubject != NULL); | |
| 929 ASSERT(m_pDateTime != NULL); | |
| 930 ASSERT(m_pContents != NULL); | |
| 931 | |
| 932 FX_FLOAT fRet = m_pDateTime->GetContentRect().Height(); | 918 FX_FLOAT fRet = m_pDateTime->GetContentRect().Height(); |
| 933 FX_FLOAT fBorderWidth = (FX_FLOAT)GetBorderWidth(); | 919 FX_FLOAT fBorderWidth = (FX_FLOAT)GetBorderWidth(); |
| 934 if (fLimitWidth > fBorderWidth * 2) | 920 if (fLimitWidth > fBorderWidth * 2) |
| 935 fRet += m_pContents->GetContentsHeight(fLimitWidth - fBorderWidth * 2); | 921 fRet += m_pContents->GetContentsHeight(fLimitWidth - fBorderWidth * 2); |
| 936 fRet += POPUP_ITEM_HEAD_BOTTOM + POPUP_ITEM_BOTTOMWIDTH + fBorderWidth * 2; | 922 fRet += POPUP_ITEM_HEAD_BOTTOM + POPUP_ITEM_BOTTOMWIDTH + fBorderWidth * 2; |
| 937 | 923 |
| 938 return m_fOldItemHeight = fRet; | 924 return m_fOldItemHeight = fRet; |
| 939 } | 925 } |
| 940 | 926 |
| 941 return 0; | 927 return 0; |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1149 RePosNoteChildren(); | 1135 RePosNoteChildren(); |
| 1150 } | 1136 } |
| 1151 | 1137 |
| 1152 void CPWL_Note::RePosNoteChildren() { | 1138 void CPWL_Note::RePosNoteChildren() { |
| 1153 if (m_bResizing) | 1139 if (m_bResizing) |
| 1154 return; | 1140 return; |
| 1155 | 1141 |
| 1156 m_bResizing = TRUE; | 1142 m_bResizing = TRUE; |
| 1157 | 1143 |
| 1158 if (IsValid()) { | 1144 if (IsValid()) { |
| 1159 ASSERT(m_pSubject != NULL); | |
| 1160 ASSERT(m_pDateTime != NULL); | |
| 1161 ASSERT(m_pContents != NULL); | |
| 1162 ASSERT(m_pAuthor != NULL); | |
| 1163 ASSERT(m_pCloseBox != NULL); | |
| 1164 ASSERT(m_pIcon != NULL); | |
| 1165 ASSERT(m_pLBBox != NULL); | |
| 1166 ASSERT(m_pRBBox != NULL); | |
| 1167 ASSERT(m_pContentsBar != NULL); | |
| 1168 ASSERT(m_pOptions != NULL); | |
| 1169 | |
| 1170 CPDF_Rect rcClient = GetClientRect(); | 1145 CPDF_Rect rcClient = GetClientRect(); |
| 1171 | 1146 |
| 1172 CPDF_Rect rcIcon = rcClient; | 1147 CPDF_Rect rcIcon = rcClient; |
| 1173 rcIcon.top -= 2.0f; | 1148 rcIcon.top -= 2.0f; |
| 1174 rcIcon.right = rcIcon.left + 14.0f; | 1149 rcIcon.right = rcIcon.left + 14.0f; |
| 1175 rcIcon.bottom = rcIcon.top - 14.0f; | 1150 rcIcon.bottom = rcIcon.top - 14.0f; |
| 1176 rcIcon.Normalize(); | 1151 rcIcon.Normalize(); |
| 1177 m_pIcon->Move(rcIcon, TRUE, FALSE); | 1152 m_pIcon->Move(rcIcon, TRUE, FALSE); |
| 1178 m_pIcon->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcIcon)); | 1153 m_pIcon->SetVisible(CPWL_Utils::ContainsRect(rcClient, rcIcon)); |
| 1179 | 1154 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1260 rcContentsBar.Normalize(); | 1235 rcContentsBar.Normalize(); |
| 1261 m_pContentsBar->Move(rcContentsBar, TRUE, FALSE); | 1236 m_pContentsBar->Move(rcContentsBar, TRUE, FALSE); |
| 1262 | 1237 |
| 1263 m_rcCaption = rcClient; | 1238 m_rcCaption = rcClient; |
| 1264 m_rcCaption.bottom = rcContents.top; | 1239 m_rcCaption.bottom = rcContents.top; |
| 1265 } | 1240 } |
| 1266 | 1241 |
| 1267 m_bResizing = FALSE; | 1242 m_bResizing = FALSE; |
| 1268 } | 1243 } |
| 1269 | 1244 |
| 1245 // TODO(thestig): Make this return an enum. |
| 1270 // 0-normal / 1-caption / 2-leftbottom corner / 3-rightbottom corner / 4-close / | 1246 // 0-normal / 1-caption / 2-leftbottom corner / 3-rightbottom corner / 4-close / |
| 1271 // 5-options | 1247 // 5-options |
| 1272 int32_t CPWL_Note::NoteHitTest(const CPDF_Point& point) const { | 1248 int32_t CPWL_Note::NoteHitTest(const CPDF_Point& point) const { |
| 1273 ASSERT(m_pSubject != NULL); | |
| 1274 ASSERT(m_pDateTime != NULL); | |
| 1275 ASSERT(m_pContents != NULL); | |
| 1276 ASSERT(m_pAuthor != NULL); | |
| 1277 ASSERT(m_pIcon != NULL); | |
| 1278 ASSERT(m_pContentsBar != NULL); | |
| 1279 | |
| 1280 ASSERT(m_pCloseBox != NULL); | |
| 1281 ASSERT(m_pLBBox != NULL); | |
| 1282 ASSERT(m_pRBBox != NULL); | |
| 1283 ASSERT(m_pOptions != NULL); | |
| 1284 | |
| 1285 GetClientRect(); | 1249 GetClientRect(); |
| 1286 | 1250 |
| 1287 if (m_pSubject->WndHitTest(m_pSubject->ParentToChild(point))) | 1251 if (m_pSubject->WndHitTest(m_pSubject->ParentToChild(point))) |
| 1288 return 1; | 1252 return 1; |
| 1289 if (m_pDateTime->WndHitTest(m_pDateTime->ParentToChild(point))) | 1253 if (m_pDateTime->WndHitTest(m_pDateTime->ParentToChild(point))) |
| 1290 return 1; | 1254 return 1; |
| 1291 if (m_pAuthor->WndHitTest(m_pAuthor->ParentToChild(point))) | 1255 if (m_pAuthor->WndHitTest(m_pAuthor->ParentToChild(point))) |
| 1292 return 1; | 1256 return 1; |
| 1293 if (m_pIcon->WndHitTest(m_pIcon->ParentToChild(point))) | 1257 if (m_pIcon->WndHitTest(m_pIcon->ParentToChild(point))) |
| 1294 return 1; | 1258 return 1; |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1606 m_pContents->EnableRead(bEnabled); | 1570 m_pContents->EnableRead(bEnabled); |
| 1607 } | 1571 } |
| 1608 | 1572 |
| 1609 CFX_WideString CPWL_Note::GetReplyString() const { | 1573 CFX_WideString CPWL_Note::GetReplyString() const { |
| 1610 return m_sReplyString; | 1574 return m_sReplyString; |
| 1611 } | 1575 } |
| 1612 | 1576 |
| 1613 void CPWL_Note::SetReplyString(const CFX_WideString& string) { | 1577 void CPWL_Note::SetReplyString(const CFX_WideString& string) { |
| 1614 m_sReplyString = string; | 1578 m_sReplyString = string; |
| 1615 } | 1579 } |
| OLD | NEW |