1// Copyright 2014 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
7#ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_LABEL_H_
8#define FPDFSDK_INCLUDE_PDFWINDOW_PWL_LABEL_H_
9
10#include "PWL_Wnd.h"
11
12class IFX_Edit;
13
14class CPWL_Label : public CPWL_Wnd {
15 public:
16  CPWL_Label();
17  ~CPWL_Label() override;
18
19  void SetText(const FX_WCHAR* csText);
20  CFX_WideString GetText() const;
21  void SetLimitChar(int32_t nLimitChar);
22  void SetHorzScale(int32_t nHorzScale);
23  void SetCharSpace(FX_FLOAT fCharSpace);
24  CPDF_Rect GetContentRect() const;
25  int32_t GetTotalWords();
26  CFX_ByteString GetTextAppearanceStream(const CPDF_Point& ptOffset) const;
27
28 protected:
29  // CPWL_Wnd
30  CFX_ByteString GetClassName() const override;
31  void SetFontSize(FX_FLOAT fFontSize) override;
32  FX_FLOAT GetFontSize() const override;
33  void OnCreated() override;
34  void DrawThisAppearance(CFX_RenderDevice* pDevice,
35                          CFX_Matrix* pUser2Device) override;
36  void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
37  void RePosChildWnd() override;
38
39 private:
40  void SetParamByFlag();
41
42  IFX_Edit* m_pEdit;
43};
44
45#endif  // FPDFSDK_INCLUDE_PDFWINDOW_PWL_LABEL_H_
46