2 * Copyright (C) 2013 Arne Morten Kvarving
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 * See LICENSES/README.md for more information.
10 #include "addons/IAddonSupportCheck.h"
11 #include "addons/binary-addons/AddonInstanceHandler.h"
12 #include "addons/kodi-dev-kit/include/kodi/addon-instance/ImageDecoder.h"
13 #include "guilib/iimage.h"
15 class CPictureInfoTag
;
22 class CImageDecoder
: public ADDON::IAddonInstanceHandler
,
23 public KODI::ADDONS::IAddonSupportCheck
,
27 explicit CImageDecoder(const ADDON::AddonInfoPtr
& addonInfo
, const std::string
& mimetype
);
28 ~CImageDecoder() override
;
30 bool IsCreated() const { return m_created
; }
32 /*! @ref IImage related functions */
34 bool CreateThumbnailFromSurface(unsigned char*,
41 unsigned int&) override
45 bool LoadImageFromMemory(unsigned char* buffer
,
48 unsigned int height
) override
;
49 bool Decode(unsigned char* const pixels
,
53 unsigned int format
) override
;
56 /*! From @ref CPictureInfoTag used function to get information from addon */
58 bool LoadInfoTag(const std::string
& fileName
, CPictureInfoTag
* tag
);
61 /*! @ref KODI::ADDONS::IAddonSupportCheck related function */
63 bool SupportsFile(const std::string
& filename
) override
;
67 /*! @note m_mimetype not set in all cases, only available if @ref LoadImageFromMemory is used. */
68 const std::string m_mimetype
;
69 bool m_created
{false};
72 } /* namespace ADDONS */
73 } /* namespace KODI */