1d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 2d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 3d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// found in the LICENSE file. 4d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 5d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 7d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#ifndef FPDFSDK_PWL_CPWL_ICON_H_ 8d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#define FPDFSDK_PWL_CPWL_ICON_H_ 9d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 10d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include <utility> 11d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 12d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "core/fxcrt/fx_string.h" 13d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "core/fxcrt/unowned_ptr.h" 14d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "fpdfsdk/pwl/cpwl_wnd.h" 15d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 16d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmannclass CPWL_Icon : public CPWL_Wnd { 17d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann public: 18d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann CPWL_Icon(); 19d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann ~CPWL_Icon() override; 20d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 21d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann void SetIconFit(CPDF_IconFit* pIconFit) { m_pIconFit = pIconFit; } 22d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann void SetPDFStream(CPDF_Stream* pStream) { m_pPDFStream = pStream; } 23d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 24d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann // horizontal scale, vertical scale 25d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann std::pair<float, float> GetScale(); 26d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 27d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann // x, y 28d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann std::pair<float, float> GetImageOffset(); 29d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 30d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann CFX_Matrix GetImageMatrix(); 31d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann ByteString GetImageAlias(); 32d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 33d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann private: 34d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann // left, bottom 35d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann std::pair<float, float> GetIconPosition(); 36d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 37d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann // width, height 38d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann std::pair<float, float> GetImageSize(); 39d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 40d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann UnownedPtr<CPDF_Stream> m_pPDFStream; 41d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann UnownedPtr<CPDF_IconFit> m_pIconFit; 42d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann}; 43d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann 44d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#endif // FPDFSDK_PWL_CPWL_ICON_H_ 45