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 "xfa/fxfa/app/xfa_ffcheckbutton.h" | 7 #include "xfa/fxfa/app/xfa_ffcheckbutton.h" |
8 | 8 |
9 #include "xfa/fwl/core/cfwl_checkbox.h" | 9 #include "xfa/fwl/core/cfwl_checkbox.h" |
10 #include "xfa/fwl/core/cfwl_msgmouse.h" | 10 #include "xfa/fwl/core/cfwl_msgmouse.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 CXFA_FFCheckButton::CXFA_FFCheckButton(CXFA_FFPageView* pPageView, | 21 CXFA_FFCheckButton::CXFA_FFCheckButton(CXFA_FFPageView* pPageView, |
22 CXFA_WidgetAcc* pDataAcc) | 22 CXFA_WidgetAcc* pDataAcc) |
23 : CXFA_FFField(pPageView, pDataAcc), m_pOldDelegate(nullptr) { | 23 : CXFA_FFField(pPageView, pDataAcc), m_pOldDelegate(nullptr) { |
24 m_rtCheckBox.Set(0, 0, 0, 0); | 24 m_rtCheckBox.Set(0, 0, 0, 0); |
25 } | 25 } |
26 | 26 |
27 CXFA_FFCheckButton::~CXFA_FFCheckButton() {} | 27 CXFA_FFCheckButton::~CXFA_FFCheckButton() {} |
28 | 28 |
29 bool CXFA_FFCheckButton::LoadWidget() { | 29 bool CXFA_FFCheckButton::LoadWidget() { |
30 CFWL_CheckBox* pCheckBox = new CFWL_CheckBox(GetFWLApp()); | 30 CFWL_CheckBox* pCheckBox = new CFWL_CheckBox(GetFWLApp()); |
31 pCheckBox->Initialize(); | |
32 m_pNormalWidget = pCheckBox; | 31 m_pNormalWidget = pCheckBox; |
33 m_pNormalWidget->SetLayoutItem(this); | 32 m_pNormalWidget->SetLayoutItem(this); |
34 | 33 |
35 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 34 CFWL_NoteDriver* pNoteDriver = |
36 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); | 35 m_pNormalWidget->GetOwnerApp()->GetNoteDriver(); |
37 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 36 pNoteDriver->RegisterEventTarget(m_pNormalWidget, m_pNormalWidget); |
38 | 37 |
39 m_pOldDelegate = m_pNormalWidget->GetDelegate(); | 38 m_pOldDelegate = m_pNormalWidget->GetDelegate(); |
40 m_pNormalWidget->SetDelegate(this); | 39 m_pNormalWidget->SetDelegate(this); |
41 | 40 |
42 if (m_pDataAcc->IsRadioButton()) | 41 if (m_pDataAcc->IsRadioButton()) |
43 pCheckBox->ModifyStylesEx(FWL_STYLEEXT_CKB_RadioButton, 0xFFFFFFFF); | 42 pCheckBox->ModifyStylesEx(FWL_STYLEEXT_CKB_RadioButton, 0xFFFFFFFF); |
44 | 43 |
45 m_pNormalWidget->LockUpdate(); | 44 m_pNormalWidget->LockUpdate(); |
46 UpdateWidgetProperty(); | 45 UpdateWidgetProperty(); |
47 SetFWLCheckState(m_pDataAcc->GetCheckState()); | 46 SetFWLCheckState(m_pDataAcc->GetCheckState()); |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 DrawBorder(pGS, borderUI, m_rtUI, &mtRotate, | 230 DrawBorder(pGS, borderUI, m_rtUI, &mtRotate, |
232 m_pDataAcc->GetCheckButtonShape() == XFA_ATTRIBUTEENUM_Round | 231 m_pDataAcc->GetCheckButtonShape() == XFA_ATTRIBUTEENUM_Round |
233 ? XFA_DRAWBOX_ForceRound | 232 ? XFA_DRAWBOX_ForceRound |
234 : 0); | 233 : 0); |
235 RenderCaption(pGS, &mtRotate); | 234 RenderCaption(pGS, &mtRotate); |
236 DrawHighlight(pGS, &mtRotate, dwStatus, | 235 DrawHighlight(pGS, &mtRotate, dwStatus, |
237 m_pDataAcc->GetCheckButtonShape() == XFA_ATTRIBUTEENUM_Round); | 236 m_pDataAcc->GetCheckButtonShape() == XFA_ATTRIBUTEENUM_Round); |
238 CFX_Matrix mt; | 237 CFX_Matrix mt; |
239 mt.Set(1, 0, 0, 1, m_rtCheckBox.left, m_rtCheckBox.top); | 238 mt.Set(1, 0, 0, 1, m_rtCheckBox.left, m_rtCheckBox.top); |
240 mt.Concat(mtRotate); | 239 mt.Concat(mtRotate); |
241 GetApp()->GetWidgetMgrDelegate()->OnDrawWidget(m_pNormalWidget->GetWidget(), | 240 GetApp()->GetWidgetMgrDelegate()->OnDrawWidget(m_pNormalWidget, pGS, &mt); |
242 pGS, &mt); | |
243 } | 241 } |
244 bool CXFA_FFCheckButton::OnLButtonUp(uint32_t dwFlags, | 242 bool CXFA_FFCheckButton::OnLButtonUp(uint32_t dwFlags, |
245 FX_FLOAT fx, | 243 FX_FLOAT fx, |
246 FX_FLOAT fy) { | 244 FX_FLOAT fy) { |
247 if (!m_pNormalWidget || !IsButtonDown()) | 245 if (!m_pNormalWidget || !IsButtonDown()) |
248 return false; | 246 return false; |
249 | 247 |
250 SetButtonDown(false); | 248 SetButtonDown(false); |
251 CFWL_MsgMouse ms; | 249 CFWL_MsgMouse ms; |
252 ms.m_dwCmd = FWL_MouseCommand::LeftButtonUp; | 250 ms.m_dwCmd = FWL_MouseCommand::LeftButtonUp; |
253 ms.m_dwFlags = dwFlags; | 251 ms.m_dwFlags = dwFlags; |
254 ms.m_fx = fx; | 252 ms.m_fx = fx; |
255 ms.m_fy = fy; | 253 ms.m_fy = fy; |
256 FWLToClient(ms.m_fx, ms.m_fy); | 254 FWLToClient(ms.m_fx, ms.m_fy); |
257 ms.m_pDstTarget = m_pNormalWidget->GetWidget(); | 255 ms.m_pDstTarget = m_pNormalWidget; |
258 TranslateFWLMessage(&ms); | 256 TranslateFWLMessage(&ms); |
259 return true; | 257 return true; |
260 } | 258 } |
261 | 259 |
262 XFA_CHECKSTATE CXFA_FFCheckButton::FWLState2XFAState() { | 260 XFA_CHECKSTATE CXFA_FFCheckButton::FWLState2XFAState() { |
263 uint32_t dwState = m_pNormalWidget->GetStates(); | 261 uint32_t dwState = m_pNormalWidget->GetStates(); |
264 if (dwState & FWL_STATE_CKB_Checked) | 262 if (dwState & FWL_STATE_CKB_Checked) |
265 return XFA_CHECKSTATE_On; | 263 return XFA_CHECKSTATE_On; |
266 if (dwState & FWL_STATE_CKB_Neutral) | 264 if (dwState & FWL_STATE_CKB_Neutral) |
267 return XFA_CHECKSTATE_Neutral; | 265 return XFA_CHECKSTATE_Neutral; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 default: | 329 default: |
332 break; | 330 break; |
333 } | 331 } |
334 m_pOldDelegate->OnProcessEvent(pEvent); | 332 m_pOldDelegate->OnProcessEvent(pEvent); |
335 } | 333 } |
336 | 334 |
337 void CXFA_FFCheckButton::OnDrawWidget(CFX_Graphics* pGraphics, | 335 void CXFA_FFCheckButton::OnDrawWidget(CFX_Graphics* pGraphics, |
338 const CFX_Matrix* pMatrix) { | 336 const CFX_Matrix* pMatrix) { |
339 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); | 337 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); |
340 } | 338 } |
OLD | NEW |