From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- Runtime/Camera/RenderLayers/GUIElement.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Runtime/Camera/RenderLayers/GUIElement.h (limited to 'Runtime/Camera/RenderLayers/GUIElement.h') diff --git a/Runtime/Camera/RenderLayers/GUIElement.h b/Runtime/Camera/RenderLayers/GUIElement.h new file mode 100644 index 0000000..0092da9 --- /dev/null +++ b/Runtime/Camera/RenderLayers/GUIElement.h @@ -0,0 +1,30 @@ +#ifndef GUIELEMENT_H +#define GUIELEMENT_H + +#include "Runtime/GameCode/Behaviour.h" +#include "Runtime/Math/Rect.h" +class Vector2f; + + +// Base class for all GUI elements. +// Registers itself with the GUILayer when enabled. +class GUIElement : public Behaviour +{ +public: + + REGISTER_DERIVED_ABSTRACT_CLASS (GUIElement, Behaviour) + + GUIElement (MemLabelId label, ObjectCreationMode mode); + + virtual void RenderGUIElement (const Rectf& cameraRect) = 0; + virtual Rectf GetScreenRect (const Rectf& cameraRect) = 0; + + bool HitTest (const Vector2f& screenSpaceCoordinates, const Rectf& cameraRect); + +private: + + virtual void AddToManager (); + virtual void RemoveFromManager (); +}; + +#endif -- cgit v1.1-26-g67d0