initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
75
libs/wxWidgets-3.3.1/include/wx/imagwebp.h
Executable file
75
libs/wxWidgets-3.3.1/include/wx/imagwebp.h
Executable file
@@ -0,0 +1,75 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/imagwebp.h
|
||||
// Purpose: wxImage WebP handler
|
||||
// Author: Hermann Höhne
|
||||
// Created: 2024-03-08
|
||||
// Copyright: (c) Hermann Höhne
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_IMAGWEBP_H_
|
||||
#define _WX_IMAGWEBP_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_LIBWEBP
|
||||
|
||||
#include "wx/colour.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/versioninfo.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxWEBPHandler
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace wxWebPImageFormat
|
||||
{
|
||||
enum wxWebPImageFormat : int
|
||||
{
|
||||
Undefined = 0,
|
||||
Lossy = 1,
|
||||
Lossless = 2
|
||||
};
|
||||
}
|
||||
|
||||
#define wxIMAGE_OPTION_WEBP_QUALITY wxS("WebPQuality")
|
||||
#define wxIMAGE_OPTION_WEBP_FORMAT wxS("WebPFormat")
|
||||
|
||||
|
||||
struct wxWebPAnimationFrame
|
||||
{
|
||||
wxImage image;
|
||||
wxColour bgColour;
|
||||
int duration = 0;
|
||||
};
|
||||
|
||||
|
||||
class WXDLLIMPEXP_CORE wxWEBPHandler : public wxImageHandler
|
||||
{
|
||||
public:
|
||||
wxWEBPHandler()
|
||||
{
|
||||
m_name = wxS("WebP file");
|
||||
m_extension = wxS("webp");
|
||||
m_type = wxBITMAP_TYPE_WEBP;
|
||||
m_mime = wxS("image/webp");
|
||||
}
|
||||
|
||||
static wxVersionInfo GetLibraryVersionInfo();
|
||||
|
||||
#if wxUSE_STREAMS
|
||||
virtual bool LoadFile(wxImage* image, wxInputStream& stream, bool verbose = true, int index = -1) override;
|
||||
virtual bool SaveFile(wxImage* image, wxOutputStream& stream, bool verbose = true) override;
|
||||
virtual bool LoadAnimation(std::vector<wxWebPAnimationFrame>& frames, wxInputStream& stream, bool verbose = true);
|
||||
protected:
|
||||
virtual bool DoCanRead(wxInputStream& stream) override;
|
||||
virtual int DoGetImageCount(wxInputStream& stream) override;
|
||||
#endif // wxUSE_STREAMS
|
||||
|
||||
private:
|
||||
wxDECLARE_DYNAMIC_CLASS(wxWEBPHandler);
|
||||
};
|
||||
|
||||
#endif // wxUSE_LIBWEBP
|
||||
|
||||
#endif // _WX_IMAGWEBP_H_
|
||||
Reference in New Issue
Block a user