IconStore.h 739 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include "..\..\General\gen_ml/ml_ipc_0313.h"
  3. #include <vector>
  4. class IconStore
  5. {
  6. public:
  7. IconStore();
  8. ~IconStore();
  9. int GetPlaylistIcon();
  10. int GetVideoIcon();
  11. int GetDeviceIcon();
  12. int GetQueueIcon(int iconIndex = 0);
  13. int GetResourceIcon(HINSTANCE module, const wchar_t *name);
  14. void ReleaseResourceIcon(int iconIndex);
  15. private:
  16. int RegisterResourceIcon(HINSTANCE module, const wchar_t *name);
  17. private:
  18. typedef struct ResourceIcon
  19. {
  20. size_t ref;
  21. int index;
  22. wchar_t *name;
  23. HINSTANCE module;
  24. } ResourceIcon;
  25. int playlist_icon_index;
  26. int video_icon_index;
  27. int device_icon_index;
  28. int queue_icon_index[4];
  29. int active_queue_icon[4];
  30. std::vector<ResourceIcon> iconList;
  31. };
  32. extern IconStore icon_store;