view include/gui/widgets/poster.h @ 266:1a6a5d3a94cd

dep/animone: make bsd.cc and x11.cc actually work apparently I broke these, and even now the x11 code *still* doesn't want to work correctly (at least on FreeBSD). half of the PID response codes are just 0 or the PID for the X server itself... wtf? maybe dwm just doesn't support the XRes extension, or I'm just stupid. i don't know.
author Paper <paper@paper.us.eu.org>
date Thu, 11 Apr 2024 22:05:41 -0400
parents 3ec7804abf17
children f31305b9f60a
line wrap: on
line source

#ifndef MINORI_GUI_WIDGETS_POSTER_H_
#define MINORI_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);
	void SetClickable(bool clickable);

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

private:
	QImage img;
	QString service_url;
	ClickableLabel* label;
	bool clickable = true;
};

#endif // MINORI_GUI_WIDGETS_POSTER_H_