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/PWL_ListCtrl.h" | 7 #include "fpdfsdk/include/pdfwindow/PWL_ListCtrl.h" |
8 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h" | 8 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h" |
9 | 9 |
10 CPWL_ListCtrl::CPWL_ListCtrl() | 10 CPWL_ListCtrl::CPWL_ListCtrl() |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
134 void CPWL_ListCtrl::RePosChildWnd() { | 134 void CPWL_ListCtrl::RePosChildWnd() { |
135 ResetFace(); | 135 ResetFace(); |
136 } | 136 } |
137 | 137 |
138 void CPWL_ListCtrl::DrawChildAppearance(CFX_RenderDevice* pDevice, | 138 void CPWL_ListCtrl::DrawChildAppearance(CFX_RenderDevice* pDevice, |
139 CFX_Matrix* pUser2Device) { | 139 CFX_Matrix* pUser2Device) { |
140 pDevice->SaveState(); | 140 pDevice->SaveState(); |
141 CFX_FloatRect rcClient = GetClientRect(); | 141 CFX_FloatRect rcClient = GetClientRect(); |
142 CFX_FloatRect rcTemp = rcClient; | 142 CFX_FloatRect rcTemp = rcClient; |
143 pUser2Device->TransformRect(rcTemp); | 143 pUser2Device->TransformRect(rcTemp); |
144 FX_RECT rcClip((int32_t)rcTemp.left, (int32_t)rcTemp.bottom, | 144 pDevice->SetClip_Rect(FX_RECT((int32_t)rcTemp.left, (int32_t)rcTemp.bottom, |
dsinclair
2016/02/29 21:15:26
This is ... upside down?
Tom Sepez
2016/02/29 21:17:45
Has been since day 1 ...
9d8ec5a6 (Nico Weber
| |
145 (int32_t)rcTemp.right, (int32_t)rcTemp.top); | 145 (int32_t)rcTemp.right, (int32_t)rcTemp.top)); |
146 | |
147 pDevice->SetClip_Rect(&rcClip); | |
148 | 146 |
149 for (int32_t i = 0, sz = m_aChildren.GetSize(); i < sz; i++) { | 147 for (int32_t i = 0, sz = m_aChildren.GetSize(); i < sz; i++) { |
150 if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) { | 148 if (CPWL_Wnd* pChild = m_aChildren.GetAt(i)) { |
151 CFX_FloatRect rcChild = pChild->ChildToParent(pChild->GetWindowRect()); | 149 CFX_FloatRect rcChild = pChild->ChildToParent(pChild->GetWindowRect()); |
152 if (!(rcChild.top < rcClient.bottom || rcChild.bottom > rcClient.top)) { | 150 if (!(rcChild.top < rcClient.bottom || rcChild.bottom > rcClient.top)) { |
153 CFX_Matrix mt = pChild->GetChildMatrix(); | 151 CFX_Matrix mt = pChild->GetChildMatrix(); |
154 if (mt.IsIdentity()) { | 152 if (mt.IsIdentity()) { |
155 pChild->DrawAppearance(pDevice, pUser2Device); | 153 pChild->DrawAppearance(pDevice, pUser2Device); |
156 } else { | 154 } else { |
157 mt.Concat(*pUser2Device); | 155 mt.Concat(*pUser2Device); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
197 } | 195 } |
198 | 196 |
199 CFX_FloatRect CPWL_ListCtrl::OutToIn(const CFX_FloatRect& rect) const { | 197 CFX_FloatRect CPWL_ListCtrl::OutToIn(const CFX_FloatRect& rect) const { |
200 CFX_FloatRect rcClient = GetClientRect(); | 198 CFX_FloatRect rcClient = GetClientRect(); |
201 | 199 |
202 return CFX_FloatRect(rect.left - rcClient.left + m_ptScroll.x, | 200 return CFX_FloatRect(rect.left - rcClient.left + m_ptScroll.x, |
203 rect.bottom - rcClient.top + m_ptScroll.y, | 201 rect.bottom - rcClient.top + m_ptScroll.y, |
204 rect.right - rcClient.left + m_ptScroll.x, | 202 rect.right - rcClient.left + m_ptScroll.x, |
205 rect.top - rcClient.top + m_ptScroll.y); | 203 rect.top - rcClient.top + m_ptScroll.y); |
206 } | 204 } |
OLD | NEW |