view include/gui/widgets/poster.h @ 179:9c4645100fec

osx: clean up includes, we do not need cocoa what we *do* need is the very basics that animia already depends on anyway. these are basically guaranteed to be on any macos system, making it fairly portable now... I haven't tested this :) I don't have a macos machine right now...
author Paper <mrpapersonic@gmail.com>
date Mon, 04 Dec 2023 12:03:36 -0500
parents 8043152ef9d4
children d14f8e0e40c3
line wrap: on
line source

#ifndef __gui__widgets__poster_h
#define __gui__widgets__poster_h
#include <QFrame>
#include <QImage>

class QWidget;
class ClickableLabel;
namespace Anime {
class Anime;
}

class Poster final : public QFrame {
		Q_OBJECT

	public:
		Poster(QWidget* parent = nullptr);
		Poster(const Anime::Anime& anime, QWidget* parent = nullptr);
		void SetAnime(const Anime::Anime& anime);

	protected:
		void resizeEvent(QResizeEvent*) override;
		void ImageDownloadFinished(const QByteArray& arr);
		void RenderToLabel();

	private:
		QImage img;
		ClickableLabel* label;
};

#endif // __gui__widgets__poster_h