14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved.
24d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
34d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// found in the LICENSE file.
44d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
54d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
64d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
74d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifndef XFA_FXFA_APP_XFA_FFTEXT_H_
84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define XFA_FXFA_APP_XFA_FFTEXT_H_
94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fxfa/app/xfa_ffdraw.h"
114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannclass CXFA_FFText : public CXFA_FFDraw {
134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann public:
145ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  explicit CXFA_FFText(CXFA_WidgetAcc* pDataAcc);
154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  ~CXFA_FFText() override;
164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  // CXFA_FFWidget
185ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  bool OnLButtonDown(uint32_t dwFlags, const CFX_PointF& point) override;
195ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  bool OnLButtonUp(uint32_t dwFlags, const CFX_PointF& point) override;
205ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  bool OnMouseMove(uint32_t dwFlags, const CFX_PointF& point) override;
215ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  FWL_WidgetHit OnHitTest(const CFX_PointF& point) override;
224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  void RenderWidget(CFX_Graphics* pGS,
234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                    CFX_Matrix* pMatrix,
244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann                    uint32_t dwStatus) override;
254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  bool IsLoaded() override;
264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann  bool PerformLayout() override;
274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann private:
295ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmann  const FX_WCHAR* GetLinkURLAtPoint(const CFX_PointF& point);
304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann};
314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann
324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif  // XFA_FXFA_APP_XFA_FFTEXT_H_
33