| 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_ffimageedit.h" | 7 #include "xfa/fxfa/app/xfa_ffimageedit.h" |
| 8 | 8 |
| 9 #include "third_party/base/ptr_util.h" |
| 9 #include "xfa/fwl/core/cfwl_message.h" | 10 #include "xfa/fwl/core/cfwl_message.h" |
| 10 #include "xfa/fwl/core/cfwl_picturebox.h" | 11 #include "xfa/fwl/core/cfwl_picturebox.h" |
| 11 #include "xfa/fwl/core/fwl_noteimp.h" | 12 #include "xfa/fwl/core/fwl_noteimp.h" |
| 12 #include "xfa/fwl/core/ifwl_app.h" | 13 #include "xfa/fwl/core/ifwl_app.h" |
| 14 #include "xfa/fxfa/app/cxfa_ffimageeditdelegate.h" |
| 13 #include "xfa/fxfa/app/xfa_fffield.h" | 15 #include "xfa/fxfa/app/xfa_fffield.h" |
| 14 #include "xfa/fxfa/xfa_ffdoc.h" | 16 #include "xfa/fxfa/xfa_ffdoc.h" |
| 15 #include "xfa/fxfa/xfa_ffdocview.h" | 17 #include "xfa/fxfa/xfa_ffdocview.h" |
| 16 #include "xfa/fxfa/xfa_ffpageview.h" | 18 #include "xfa/fxfa/xfa_ffpageview.h" |
| 17 #include "xfa/fxfa/xfa_ffwidget.h" | 19 #include "xfa/fxfa/xfa_ffwidget.h" |
| 18 | 20 |
| 19 CXFA_FFImageEdit::CXFA_FFImageEdit(CXFA_FFPageView* pPageView, | 21 CXFA_FFImageEdit::CXFA_FFImageEdit(CXFA_FFPageView* pPageView, |
| 20 CXFA_WidgetAcc* pDataAcc) | 22 CXFA_WidgetAcc* pDataAcc) |
| 21 : CXFA_FFField(pPageView, pDataAcc), m_pOldDelegate(nullptr) {} | 23 : CXFA_FFField(pPageView, pDataAcc) {} |
| 24 |
| 22 CXFA_FFImageEdit::~CXFA_FFImageEdit() { | 25 CXFA_FFImageEdit::~CXFA_FFImageEdit() { |
| 23 CXFA_FFImageEdit::UnloadWidget(); | 26 CXFA_FFImageEdit::UnloadWidget(); |
| 24 } | 27 } |
| 25 FX_BOOL CXFA_FFImageEdit::LoadWidget() { | 28 FX_BOOL CXFA_FFImageEdit::LoadWidget() { |
| 26 CFWL_PictureBox* pPictureBox = new CFWL_PictureBox(GetFWLApp()); | 29 CFWL_PictureBox* pPictureBox = new CFWL_PictureBox(GetFWLApp()); |
| 27 pPictureBox->Initialize(); | 30 pPictureBox->Initialize(); |
| 28 m_pNormalWidget = pPictureBox; | 31 m_pNormalWidget = pPictureBox; |
| 29 m_pNormalWidget->SetLayoutItem(this); | 32 m_pNormalWidget->SetLayoutItem(this); |
| 30 | 33 |
| 31 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); | 34 IFWL_Widget* pWidget = m_pNormalWidget->GetWidget(); |
| 32 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); | 35 CFWL_NoteDriver* pNoteDriver = pWidget->GetOwnerApp()->GetNoteDriver(); |
| 33 pNoteDriver->RegisterEventTarget(pWidget, pWidget); | 36 pNoteDriver->RegisterEventTarget(pWidget, pWidget); |
| 34 | 37 |
| 35 m_pOldDelegate = pPictureBox->GetCurrentDelegate(); | 38 pPictureBox->SetDelegate(pdfium::MakeUnique<CXFA_FFImageEditDelegate>( |
| 36 pPictureBox->SetCurrentDelegate(this); | 39 pPictureBox->ReleaseDelegate(), this)); |
| 37 | 40 |
| 38 CXFA_FFField::LoadWidget(); | 41 CXFA_FFField::LoadWidget(); |
| 39 if (m_pDataAcc->GetImageEditImage()) { | 42 if (m_pDataAcc->GetImageEditImage()) { |
| 40 return TRUE; | 43 return TRUE; |
| 41 } | 44 } |
| 42 UpdateFWLData(); | 45 UpdateFWLData(); |
| 43 return TRUE; | 46 return TRUE; |
| 44 } | 47 } |
| 45 void CXFA_FFImageEdit::UnloadWidget() { | 48 void CXFA_FFImageEdit::UnloadWidget() { |
| 46 m_pDataAcc->SetImageEditImage(nullptr); | 49 m_pDataAcc->SetImageEditImage(nullptr); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 } | 121 } |
| 119 FX_BOOL CXFA_FFImageEdit::CommitData() { | 122 FX_BOOL CXFA_FFImageEdit::CommitData() { |
| 120 return TRUE; | 123 return TRUE; |
| 121 } | 124 } |
| 122 FX_BOOL CXFA_FFImageEdit::UpdateFWLData() { | 125 FX_BOOL CXFA_FFImageEdit::UpdateFWLData() { |
| 123 m_pDataAcc->SetImageEditImage(nullptr); | 126 m_pDataAcc->SetImageEditImage(nullptr); |
| 124 m_pDataAcc->LoadImageEditImage(); | 127 m_pDataAcc->LoadImageEditImage(); |
| 125 return TRUE; | 128 return TRUE; |
| 126 } | 129 } |
| 127 | 130 |
| 128 void CXFA_FFImageEdit::OnProcessMessage(CFWL_Message* pMessage) { | |
| 129 m_pOldDelegate->OnProcessMessage(pMessage); | |
| 130 } | |
| 131 | |
| 132 void CXFA_FFImageEdit::OnProcessEvent(CFWL_Event* pEvent) { | |
| 133 CXFA_FFField::OnProcessEvent(pEvent); | |
| 134 m_pOldDelegate->OnProcessEvent(pEvent); | |
| 135 } | |
| 136 | |
| 137 void CXFA_FFImageEdit::OnDrawWidget(CFX_Graphics* pGraphics, | |
| 138 const CFX_Matrix* pMatrix) { | |
| 139 m_pOldDelegate->OnDrawWidget(pGraphics, pMatrix); | |
| 140 } | |
| OLD | NEW |