diff --git a/LemonUI.SHV/IDrawable.hpp b/LemonUI.SHV/IDrawable.hpp
new file mode 100644
index 00000000..fe824831
--- /dev/null
+++ b/LemonUI.SHV/IDrawable.hpp
@@ -0,0 +1,16 @@
+#pragma once
+
+namespace LemonUI
+{
+ ///
+ /// Represents an item that can be drawn.
+ ///
+ class IDrawable
+ {
+ public:
+ ///
+ /// Draws the item on the screen.
+ ///
+ virtual void Draw() = 0;
+ };
+}
diff --git a/LemonUI.SHV/IRecalculable.hpp b/LemonUI.SHV/IRecalculable.hpp
new file mode 100644
index 00000000..e14d1d88
--- /dev/null
+++ b/LemonUI.SHV/IRecalculable.hpp
@@ -0,0 +1,16 @@
+#pragma once
+
+namespace LemonUI
+{
+ ///
+ /// Interface for classes that have values that need to be recalculated on resolution changes.
+ ///
+ class IRecalculable
+ {
+ public:
+ ///
+ /// Recalculates the values.
+ ///
+ virtual void Recalculate() = 0;
+ };
+}
diff --git a/LemonUI.SHV/LemonUI.SHV.vcxproj b/LemonUI.SHV/LemonUI.SHV.vcxproj
index 0e3668dc..3c3b4ba3 100644
--- a/LemonUI.SHV/LemonUI.SHV.vcxproj
+++ b/LemonUI.SHV/LemonUI.SHV.vcxproj
@@ -15,6 +15,8 @@
+
+
diff --git a/LemonUI.SHV/LemonUI.SHV.vcxproj.filters b/LemonUI.SHV/LemonUI.SHV.vcxproj.filters
index 77128a91..02a89782 100644
--- a/LemonUI.SHV/LemonUI.SHV.vcxproj.filters
+++ b/LemonUI.SHV/LemonUI.SHV.vcxproj.filters
@@ -26,5 +26,11 @@
Header Files
+
+ Header Files
+
+
+ Header Files
+
\ No newline at end of file