OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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/cpdfsdk_baannot.h" | 7 #include "fpdfsdk/include/cpdfsdk_baannot.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" | 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" |
10 #include "core/fpdfapi/fpdf_parser/include/cpdf_number.h" | 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_number.h" |
11 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h" | 11 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream.h" |
12 #include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h" | 12 #include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h" |
13 #include "fpdfsdk/include/cpdfsdk_datetime.h" | 13 #include "fpdfsdk/include/cpdfsdk_datetime.h" |
14 #include "fpdfsdk/include/fsdk_mgr.h" | 14 #include "fpdfsdk/include/fsdk_mgr.h" |
15 | 15 |
| 16 CPDFSDK_BAAnnot::Observer::Observer(CPDFSDK_BAAnnot** pWatchedPtr) |
| 17 : m_pWatchedPtr(pWatchedPtr) { |
| 18 (*m_pWatchedPtr)->AddObserver(this); |
| 19 } |
| 20 |
| 21 CPDFSDK_BAAnnot::Observer::~Observer() { |
| 22 if (m_pWatchedPtr) |
| 23 (*m_pWatchedPtr)->RemoveObserver(this); |
| 24 } |
| 25 |
| 26 void CPDFSDK_BAAnnot::Observer::OnAnnotDestroyed() { |
| 27 ASSERT(m_pWatchedPtr); |
| 28 *m_pWatchedPtr = nullptr; |
| 29 m_pWatchedPtr = nullptr; |
| 30 } |
| 31 |
16 CPDFSDK_BAAnnot::CPDFSDK_BAAnnot(CPDF_Annot* pAnnot, | 32 CPDFSDK_BAAnnot::CPDFSDK_BAAnnot(CPDF_Annot* pAnnot, |
17 CPDFSDK_PageView* pPageView) | 33 CPDFSDK_PageView* pPageView) |
18 : CPDFSDK_Annot(pPageView), m_pAnnot(pAnnot) {} | 34 : CPDFSDK_Annot(pPageView), m_pAnnot(pAnnot) {} |
19 | 35 |
20 CPDFSDK_BAAnnot::~CPDFSDK_BAAnnot() {} | 36 CPDFSDK_BAAnnot::~CPDFSDK_BAAnnot() {} |
21 | 37 |
22 CPDF_Annot* CPDFSDK_BAAnnot::GetPDFAnnot() const { | 38 CPDF_Annot* CPDFSDK_BAAnnot::GetPDFAnnot() const { |
23 return m_pAnnot; | 39 return m_pAnnot; |
24 } | 40 } |
25 | 41 |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 CPDF_RenderOptions* pOptions) { | 414 CPDF_RenderOptions* pOptions) { |
399 m_pAnnot->GetAPForm(m_pPageView->GetPDFPage(), CPDF_Annot::Normal); | 415 m_pAnnot->GetAPForm(m_pPageView->GetPDFPage(), CPDF_Annot::Normal); |
400 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Device, | 416 m_pAnnot->DrawAppearance(m_pPageView->GetPDFPage(), pDevice, pUser2Device, |
401 CPDF_Annot::Normal, nullptr); | 417 CPDF_Annot::Normal, nullptr); |
402 } | 418 } |
403 | 419 |
404 void CPDFSDK_BAAnnot::SetOpenState(bool bOpenState) { | 420 void CPDFSDK_BAAnnot::SetOpenState(bool bOpenState) { |
405 if (CPDF_Annot* pAnnot = m_pAnnot->GetPopupAnnot()) | 421 if (CPDF_Annot* pAnnot = m_pAnnot->GetPopupAnnot()) |
406 pAnnot->SetOpenState(bOpenState); | 422 pAnnot->SetOpenState(bOpenState); |
407 } | 423 } |
OLD | NEW |