blob: 42448b804f3400e9207071864dfddedf59670382 [file] [log] [blame]
jaepark611adb82016-08-17 11:34:36 -07001// Copyright 2016 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
dsinclair114e46a2016-09-29 17:18:21 -07007#ifndef FPDFSDK_CPDFSDK_XFAWIDGET_H_
8#define FPDFSDK_CPDFSDK_XFAWIDGET_H_
jaepark611adb82016-08-17 11:34:36 -07009
Tom Sepezd0409af2017-05-25 15:53:57 -070010#include "core/fxcrt/cfx_unowned_ptr.h"
dsinclaira52ab742016-09-29 13:59:29 -070011#include "core/fxcrt/fx_coordinates.h"
12#include "core/fxcrt/fx_string.h"
dsinclair114e46a2016-09-29 17:18:21 -070013#include "fpdfsdk/cpdfsdk_annot.h"
jaepark611adb82016-08-17 11:34:36 -070014
15class CPDFSDK_InterForm;
16class CPDFSDK_PageView;
17class CXFA_FFWidget;
18
19class CPDFSDK_XFAWidget : public CPDFSDK_Annot {
20 public:
21 CPDFSDK_XFAWidget(CXFA_FFWidget* pAnnot,
22 CPDFSDK_PageView* pPageView,
23 CPDFSDK_InterForm* pInterForm);
Tom Sepezd0409af2017-05-25 15:53:57 -070024 ~CPDFSDK_XFAWidget() override;
jaepark611adb82016-08-17 11:34:36 -070025
Tom Sepezd0409af2017-05-25 15:53:57 -070026 // CPDFSDK_Annot:
tsepez4cf55152016-11-02 14:37:54 -070027 bool IsXFAField() override;
jaepark611adb82016-08-17 11:34:36 -070028 CXFA_FFWidget* GetXFAWidget() const override;
jaepark956553e2016-08-31 06:49:27 -070029 CPDF_Annot::Subtype GetAnnotSubtype() const override;
jaepark611adb82016-08-17 11:34:36 -070030 CFX_FloatRect GetRect() const override;
31
Tom Sepezd0409af2017-05-25 15:53:57 -070032 CPDFSDK_InterForm* GetInterForm() const { return m_pInterForm.Get(); }
jaepark611adb82016-08-17 11:34:36 -070033
34 private:
Tom Sepezd0409af2017-05-25 15:53:57 -070035 CFX_UnownedPtr<CPDFSDK_InterForm> m_pInterForm;
36 CFX_UnownedPtr<CXFA_FFWidget> m_hXFAWidget;
jaepark611adb82016-08-17 11:34:36 -070037};
38
dsinclair114e46a2016-09-29 17:18:21 -070039#endif // FPDFSDK_CPDFSDK_XFAWIDGET_H_