Loading...
Searching...
No Matches
Core.h
Go to the documentation of this file.
1// Copyright (c) 2025 Dave R. Smith. All rights reserved.
2// Malena Framework — Proprietary Software. See LICENSE for terms.
3
4//
5// Created by Dave Smith on 10/4/25.
6//
7
8#ifndef MALENA_UICOMPONENTBASE_H
9#define MALENA_UICOMPONENTBASE_H
10
12#include <SFML/Graphics.hpp>
13
18
25
27
28namespace ml
29{
57 class MALENA_API Core : public virtual Subscribable,
58 public virtual Flaggable,
59 public virtual Positionable,
60 public virtual Clickable,
61 public virtual Hoverable,
62 public virtual Focusable,
63 public virtual Keyable,
64 public virtual Scrollable,
65 // public virtual Draggable,
66 public virtual Updatable,
67 public Unsubscribable
68
69 {
70 public:
71 virtual ~Core();
72
83 };
84
85} // namespace ml
86
87#endif // MALENA_UICOMPONENTBASE_H
Virtual base class for all Malena framework objects.
Definition Core.h:69
virtual sf::RenderStates getRenderStates() const
Returns the SFML render states to use when drawing this object.
Definition Core.h:82
virtual ~Core()
Trait that provides system-level boolean flag management.
Definition Flaggable.h:53
Trait that adds keyboard-focus and blur callbacks to any Core object.
Definition Focusable.h:46
Trait that adds mouse-hover and mouse-leave callbacks to any Core object.
Definition Hoverable.h:47
Trait that adds keyboard-input callbacks to any Core object.
Definition Keyable.h:55
Trait that provides position, bounds, and animated movement.
Trait that adds mouse-wheel and raw mouse-button callbacks to any Core object.
Definition Scrollable.h:55
Trait that allows a component to subscribe to and publish framework events.
Trait that gives components the ability to unsubscribe from events.
Trait that adds per-frame update and window lifecycle callbacks to any Core object.
Definition Updatable.h:61
#define MALENA_API
Definition Component.h:22