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 12 class IFX_Edit; 13 14 class 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