diff options
Diffstat (limited to 'plugins/Updater/icons.cpp')
-rw-r--r-- | plugins/Updater/icons.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/plugins/Updater/icons.cpp b/plugins/Updater/icons.cpp new file mode 100644 index 0000000000..1123294676 --- /dev/null +++ b/plugins/Updater/icons.cpp @@ -0,0 +1,56 @@ +#include "common.h"
+#include "icons.h"
+
+typedef struct
+{
+ char* szDescr;
+ char* szName;
+ int defIconID;
+} IconStruct;
+
+static const IconStruct iconList[] =
+{
+ { "Check for Plugin Updates", "updater_check", IDI_MAINMENU },
+ { "Restart", "updater_restart", IDI_RESTART },
+ { "Update and Exit", "updater_checkexit", IDI_UPDATEANDEXIT },
+};
+
+HANDLE hIcolibIcon[SIZEOF(iconList)];
+
+
+HICON LoadIconEx(IconIndex i, bool big)
+{
+ return (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, big, (LPARAM)hIcolibIcon[(int)i]);
+}
+
+HANDLE GetIconHandle(IconIndex i)
+{
+ return hIcolibIcon[(int)i];
+}
+
+void ReleaseIconEx(HICON hIcon)
+{
+ CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
+}
+
+
+void InitIcons(void)
+{
+ SKINICONDESC sid = {0};
+ TCHAR path[MAX_PATH];
+ int i;
+
+ sid.cbSize = sizeof(SKINICONDESC);
+ sid.pszSection = MODULE;
+ sid.flags = SIDF_PATH_TCHAR;
+ sid.ptszDefaultFile = path;
+ GetModuleFileName(hInst, path, sizeof(path));
+
+ for (i = 0; i < SIZEOF(iconList); ++i)
+ {
+ sid.pszDescription = iconList[i].szDescr;
+ sid.pszName = iconList[i].szName;
+ sid.iDefaultIndex = -iconList[i].defIconID;
+ hIcolibIcon[i] = (HANDLE)CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
+ }
+}
|