|  | // Copyright 2014 PDFium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
|  |  | 
|  | #ifndef FPDFSDK_PWL_CPWL_ICON_H_ | 
|  | #define FPDFSDK_PWL_CPWL_ICON_H_ | 
|  |  | 
|  | #include <memory> | 
|  | #include <utility> | 
|  |  | 
|  | #include "core/fxcrt/fx_string.h" | 
|  | #include "core/fxcrt/unowned_ptr.h" | 
|  | #include "fpdfsdk/pwl/cpwl_wnd.h" | 
|  |  | 
|  | class CPDF_Icon; | 
|  | class CPDF_IconFit; | 
|  |  | 
|  | class CPWL_Icon final : public CPWL_Wnd { | 
|  | public: | 
|  | CPWL_Icon(const CreateParams& cp, | 
|  | std::unique_ptr<CPDF_Icon> pIcon, | 
|  | CPDF_IconFit* pFit); | 
|  | ~CPWL_Icon() override; | 
|  |  | 
|  | // horizontal scale, vertical scale | 
|  | std::pair<float, float> GetScale(); | 
|  |  | 
|  | // x, y | 
|  | std::pair<float, float> GetImageOffset(); | 
|  |  | 
|  | CFX_Matrix GetImageMatrix(); | 
|  | ByteString GetImageAlias(); | 
|  |  | 
|  | private: | 
|  | CFX_PointF GetIconPosition();  // left, bottom coordinates. | 
|  | CFX_SizeF GetImageSize(); | 
|  |  | 
|  | std::unique_ptr<CPDF_Icon> const m_pIcon; | 
|  | UnownedPtr<CPDF_IconFit> const m_pIconFit; | 
|  | }; | 
|  |  | 
|  | #endif  // FPDFSDK_PWL_CPWL_ICON_H_ |