Serenity Operating System
at master 32 lines 1.0 kB view raw
1/* 2 * Copyright (c) 2021, Cesar Torres <shortanemoia@protonmail.com> 3 * Copyright (c) 2022, the SerenityOS developers. 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#pragma once 9 10#include "VisualizationWidget.h" 11#include <LibGUI/Frame.h> 12 13class AlbumCoverVisualizationWidget final : public VisualizationWidget { 14 C_OBJECT(AlbumCoverVisualizationWidget) 15 16public: 17 AlbumCoverVisualizationWidget(Function<RefPtr<Gfx::Bitmap>()> get_file_cover_from_player); 18 ~AlbumCoverVisualizationWidget() override = default; 19 void start_new_file(StringView) override; 20 21private: 22 void render(GUI::PaintEvent&, FixedArray<float> const&) override { } 23 void paint_event(GUI::PaintEvent&) override; 24 AlbumCoverVisualizationWidget() = default; 25 ErrorOr<NonnullRefPtr<Gfx::Bitmap>> get_album_cover(StringView const filename); 26 27 Function<RefPtr<Gfx::Bitmap>()> m_get_file_cover_from_player; 28 29 RefPtr<Gfx::Bitmap> m_serenity_bg; 30 RefPtr<Gfx::Bitmap> m_album_cover; 31 RefPtr<Gfx::Bitmap> m_file_cover; 32};