ladybird/Userland/Services/WindowServer/AppletManager.h
Brian Gianforcaro 1682f0b760 Everything: Move to SPDX license identifiers in all files.
SPDX License Identifiers are a more compact / standardized
way of representing file license information.

See: https://spdx.dev/resources/use/#identifiers

This was done with the `ambr` search and replace tool.

 ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-22 11:22:27 +02:00

48 lines
1.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (c) 2020, Hüseyin Aslıtürk <asliturk@hotmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <WindowServer/Window.h>
#include <WindowServer/WindowManager.h>
namespace WindowServer {
class AppletManager : public Core::Object {
C_OBJECT(AppletManager)
public:
AppletManager();
~AppletManager();
static AppletManager& the();
virtual void event(Core::Event&) override;
void add_applet(Window& applet);
void remove_applet(Window& applet);
void draw();
void invalidate_applet(const Window& applet, const Gfx::IntRect& rect);
void relayout();
void set_position(const Gfx::IntPoint&);
Window* window() { return m_window; }
const Window* window() const { return m_window; }
void did_change_theme();
private:
void repaint();
void draw_applet(const Window& applet);
void set_hovered_applet(Window*);
Vector<WeakPtr<Window>> m_applets;
RefPtr<Window> m_window;
WeakPtr<Window> m_hovered_applet;
};
}