Wayland cOMPositor written in C++ using Louvre.
at main 999 B view raw
1/* ======================================================================== 2 * 3 * Filename: WOutput.hpp 4 * Description: W Compositor output class declaration 5 * GitHub Repo: https://github.com/diego-est/womp 6 * Author: Diego A. Estrada Rivera 7 * License: GPL-3.0 8 * 9 * ======================================================================== */ 10#pragma once 11#include "prelude.hpp" 12#include <LOutput.h> 13#include <memory> 14 15using namespace Louvre; 16 17class WTopBar; 18 19class WOutput : public LOutput { 20 public: 21 WOutput() noexcept; 22 23 void initializeGL() noexcept override; 24 void moveGL() noexcept override; 25 void resizeGL() noexcept override; 26 void paintGL() noexcept override; 27 void uninitializeGL() noexcept override; 28 29 std::unique_ptr<LTextureView> wallpaperView; 30 void updateWallpaper() const noexcept; 31 32 void damageRenderingTest() noexcept; 33 34 fn calculateWallpaperRect( 35 LSize const& originalWallpaperSize) const noexcept -> LRect; 36 37 std::unique_ptr<WTopBar> topBar; 38};