aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/IDesktopWidget.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.WinForms/IDesktopWidget.cs')
-rw-r--r--ShiftOS.WinForms/IDesktopWidget.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/ShiftOS.WinForms/IDesktopWidget.cs b/ShiftOS.WinForms/IDesktopWidget.cs
new file mode 100644
index 0000000..95c373c
--- /dev/null
+++ b/ShiftOS.WinForms/IDesktopWidget.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ShiftOS.Engine;
+
+namespace ShiftOS.WinForms
+{
+ /// <summary>
+ /// Provides base functionality for a ShiftOS desktop widget.
+ /// </summary>
+ public interface IDesktopWidget
+ {
+ /// <summary>
+ /// Performs routine setup operations to keep the widget up to date.
+ /// </summary>
+ void Setup();
+
+ /// <summary>
+ /// Occurs when a skin is loaded.
+ /// </summary>
+ void OnSkinLoad();
+
+ /// <summary>
+ /// Occurs when a Shiftorium upgrade is installed.
+ /// </summary>
+ void OnUpgrade();
+
+ /// <summary>
+ /// Hides this desktop widget.
+ /// </summary>
+ void Hide();
+
+ /// <summary>
+ /// Shows this desktop widget.
+ /// </summary>
+ void Show();
+
+ /// <summary>
+ /// Gets or sets the location on the desktop that this widget resides.
+ /// </summary>
+ Point Location { get; set; }
+
+ /// <summary>
+ /// Gets or sets this widget's size.
+ /// </summary>
+ Size Size { get; set; }
+ }
+}