53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
|
|
// Copyright 2020 The PDFium Authors
|
||
|
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
|
// found in the LICENSE file.
|
||
|
|
|
||
|
|
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
||
|
|
|
||
|
|
#ifndef FPDFSDK_FORMFILLER_CFFL_PERWINDOWDATA_H_
|
||
|
|
#define FPDFSDK_FORMFILLER_CFFL_PERWINDOWDATA_H_
|
||
|
|
|
||
|
|
#include <memory>
|
||
|
|
|
||
|
|
#include "core/fxcrt/observed_ptr.h"
|
||
|
|
#include "core/fxcrt/unowned_ptr.h"
|
||
|
|
#include "fpdfsdk/pwl/ipwl_fillernotify.h"
|
||
|
|
|
||
|
|
class CFFL_FormField;
|
||
|
|
class CPDFSDK_PageView;
|
||
|
|
class CPDFSDK_Widget;
|
||
|
|
|
||
|
|
class CFFL_PerWindowData final : public IPWL_FillerNotify::PerWindowData {
|
||
|
|
public:
|
||
|
|
CFFL_PerWindowData(CPDFSDK_Widget* pWidget,
|
||
|
|
const CPDFSDK_PageView* pPageView,
|
||
|
|
uint32_t nAppearanceAge,
|
||
|
|
uint32_t nValueAge);
|
||
|
|
CFFL_PerWindowData& operator=(const CFFL_PerWindowData& that) = delete;
|
||
|
|
~CFFL_PerWindowData() override;
|
||
|
|
|
||
|
|
// IPWL_FillerNotify::PerWindowData:
|
||
|
|
std::unique_ptr<IPWL_FillerNotify::PerWindowData> Clone() const override;
|
||
|
|
|
||
|
|
CPDFSDK_Widget* GetWidget() const { return m_pWidget.Get(); }
|
||
|
|
const CPDFSDK_PageView* GetPageView() const { return m_pPageView; }
|
||
|
|
bool AppearanceAgeEquals(uint32_t age) const {
|
||
|
|
return age == m_nAppearanceAge;
|
||
|
|
}
|
||
|
|
uint32_t GetValueAge() const { return m_nValueAge; }
|
||
|
|
|
||
|
|
void SetFormField(CFFL_FormField* pFormField) { m_pFormField = pFormField; }
|
||
|
|
CFFL_FormField* GetFormField() { return m_pFormField; }
|
||
|
|
|
||
|
|
private:
|
||
|
|
CFFL_PerWindowData(const CFFL_PerWindowData& that);
|
||
|
|
|
||
|
|
ObservedPtr<CPDFSDK_Widget> m_pWidget;
|
||
|
|
UnownedPtr<const CPDFSDK_PageView> const m_pPageView;
|
||
|
|
UnownedPtr<CFFL_FormField> m_pFormField;
|
||
|
|
const uint32_t m_nAppearanceAge;
|
||
|
|
const uint32_t m_nValueAge;
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // FPDFSDK_FORMFILLER_CFFL_PERWINDOWDATA_H_
|