view include/gui/widgets/anime_button.h @ 378:5912dafc6e28

anime: add poster cache :)
author Paper <paper@tflc.us>
date Wed, 05 Nov 2025 12:50:35 -0500
parents f81bed4e04ac
children
line wrap: on
line source

#ifndef MINORI_GUI_WIDGETS_ANIME_BUTTON_H_
#define MINORI_GUI_WIDGETS_ANIME_BUTTON_H_

#include <QFrame>
#include <QWidget>
#include <QLabel>

#include "gui/widgets/poster.h"
#include "gui/widgets/elided_label.h"
#include "gui/widgets/text.h"

namespace Anime {
class Anime;
}

class AnimeButton final : public QFrame {
	Q_OBJECT

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

	bool hasHeightForWidth() const override;
	int heightForWidth(int w) const override;

protected:
	Poster _poster;
	QLabel _title;
	TextWidgets::LabelledParagraph _info;
	TextWidgets::Paragraph _synopsis;
};

#endif // MINORI_GUI_WIDGETS_ANIME_BUTTON_H_