blob: d2635eb4e12c44b725d874aa9ca12f6a0c28b3a1 [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
dsinclaira52ab742016-09-29 13:59:29 -070010#include "core/fxcrt/fx_coordinates.h"
11#include "core/fxcrt/fx_string.h"
Dan Sinclairaee0db02017-09-21 16:53:58 -040012#include "core/fxcrt/unowned_ptr.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:
Dan Sinclairaee0db02017-09-21 16:53:58 -040035 UnownedPtr<CPDFSDK_InterForm> m_pInterForm;
36 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_