#ifndef XFA_FXFA_CXFA_FFWIDGET_H_
#define XFA_FXFA_CXFA_FFWIDGET_H_
#include <stdint.h>
#include "core/fpdfdoc/cpdf_formfield.h"
#include "core/fxcodec/fx_codec_def.h"
#include "core/fxcrt/mask.h"
#include "core/fxcrt/retain_ptr.h"
#include "core/fxge/cfx_graphstatedata.h"
#include "fxjs/gc/heap.h"
#include "v8/include/cppgc/garbage-collected.h"
#include "v8/include/cppgc/visitor.h"
#include "xfa/fwl/cfwl_app.h"
#include "xfa/fwl/cfwl_messagemouse.h"
#include "xfa/fwl/cfwl_widget.h"
#include "xfa/fwl/fwl_widgetdef.h"
#include "xfa/fxfa/cxfa_eventparam.h"
#include "xfa/fxfa/cxfa_ffapp.h"
#include "xfa/fxfa/fxfa.h"
#include "xfa/fxfa/layout/cxfa_contentlayoutitem.h"
class CFGAS_GEGraphics;
class CFX_DIBitmap;
class CXFA_Box;
class CXFA_FFApp;
class CXFA_FFDoc;
class CXFA_FFDocView;
class CXFA_FFField;
class CXFA_FFPageView;
class CXFA_FFWidgetHandler;
class CXFA_Margin;
class IFX_SeekableReadStream;
namespace pdfium {
enum class FWL_WidgetHit;
}
inline float XFA_UnitPx2Pt(float fPx, float fDpi) { … }
constexpr float kXFAWidgetPrecision = …;
void XFA_DrawImage(CFGAS_GEGraphics* pGS,
const CFX_RectF& rtImage,
const CFX_Matrix& matrix,
RetainPtr<CFX_DIBitmap> pDIBitmap,
XFA_AttributeValue iAspect,
const CFX_Size& dpi,
XFA_AttributeValue iHorzAlign,
XFA_AttributeValue iVertAlign);
RetainPtr<CFX_DIBitmap> XFA_LoadImageFromBuffer(
RetainPtr<IFX_SeekableReadStream> pImageFileRead,
FXCODEC_IMAGE_TYPE type,
int32_t& iImageXDpi,
int32_t& iImageYDpi);
void XFA_RectWithoutMargin(CFX_RectF* rt, const CXFA_Margin* margin);
class CXFA_FFWidget : public cppgc::GarbageCollected<CXFA_FFWidget>,
public CFWL_Widget::AdapterIface { … };
inline CXFA_FFField* ToField(CXFA_FFWidget* widget) { … }
#endif