mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 08:17:35 +00:00
LibCore: Introduce a C_OBJECT macro.
This macro goes at the top of every CObject-derived class like so: class SomeClass : public CObject { C_OBJECT(SomeClass) public: ... At the moment, all it does is create an override for the class_name() getter but in the future this will be used to automatically insert member functions into these classes.
This commit is contained in:
parent
d21a4f7518
commit
a599317624
56 changed files with 70 additions and 105 deletions
|
@ -19,6 +19,7 @@ enum class WallpaperMode {
|
|||
};
|
||||
|
||||
class WSCompositor final : public CObject {
|
||||
C_OBJECT(WSCompositor)
|
||||
public:
|
||||
static WSCompositor& the();
|
||||
|
||||
|
@ -35,8 +36,6 @@ public:
|
|||
Rect current_cursor_rect() const;
|
||||
|
||||
private:
|
||||
virtual const char* class_name() const override { return "WSCompositor"; }
|
||||
|
||||
WSCompositor();
|
||||
void flip_buffers();
|
||||
void flush(const Rect&);
|
||||
|
|
|
@ -14,6 +14,7 @@ class WSWindow;
|
|||
class Font;
|
||||
|
||||
class WSMenu final : public CObject {
|
||||
C_OBJECT(WSMenu)
|
||||
public:
|
||||
WSMenu(WSClientConnection*, int menu_id, const String& name);
|
||||
virtual ~WSMenu() override;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <WindowServer/WSWindow.h>
|
||||
|
||||
class WSMenuManager final : public CObject {
|
||||
C_OBJECT(WSMenuManager)
|
||||
public:
|
||||
WSMenuManager();
|
||||
virtual ~WSMenuManager() override;
|
||||
|
@ -13,7 +14,6 @@ public:
|
|||
void refresh();
|
||||
|
||||
virtual void event(CEvent&) override;
|
||||
virtual const char* class_name() const override { return "WSMenuManager"; }
|
||||
|
||||
private:
|
||||
WSWindow& window() { return *m_window; }
|
||||
|
|
|
@ -16,6 +16,7 @@ class WSMouseEvent;
|
|||
|
||||
class WSWindow final : public CObject
|
||||
, public InlineLinkedListNode<WSWindow> {
|
||||
C_OBJECT(WSWindow)
|
||||
public:
|
||||
WSWindow(WSClientConnection&, WSWindowType, int window_id, bool modal, bool resizable, bool fullscreen);
|
||||
WSWindow(CObject&, WSWindowType);
|
||||
|
|
|
@ -42,6 +42,8 @@ enum class ResizeDirection {
|
|||
};
|
||||
|
||||
class WSWindowManager : public CObject {
|
||||
C_OBJECT(WSWindowManager)
|
||||
|
||||
friend class WSCompositor;
|
||||
friend class WSWindowFrame;
|
||||
friend class WSWindowSwitcher;
|
||||
|
|
|
@ -10,6 +10,7 @@ class WSKeyEvent;
|
|||
class WSWindow;
|
||||
|
||||
class WSWindowSwitcher : public CObject {
|
||||
C_OBJECT(WSWindowSwitcher)
|
||||
public:
|
||||
static WSWindowSwitcher& the();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue