IClip.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. #include "DittoDefines.h"
  3. #include <gdiplus.h>
  4. //Contains the actual data of a clip format
  5. // Type is the type of clipboard format
  6. // Data is a HGLOBAL object pointing to the clipboard format data
  7. class IClipFormat
  8. {
  9. public:
  10. virtual CLIPFORMAT Type() = 0;
  11. virtual HGLOBAL Data() = 0;
  12. virtual bool AutoDeleteData() = 0;
  13. virtual void Type(CLIPFORMAT type) = 0;
  14. virtual void Data(HGLOBAL data) = 0;
  15. virtual void AutoDeleteData(bool autoDelete) = 0;
  16. virtual void Free() = 0;
  17. virtual CStringA GetAsCStringA() = 0;
  18. virtual CString GetAsCString() = 0;
  19. virtual Gdiplus::Bitmap* CreateGdiplusBitmap() = 0;
  20. };
  21. //Contains a list of IClipFormats
  22. //This is a list of all data associated with a clip
  23. class IClipFormats
  24. {
  25. public:
  26. virtual int Size() = 0;
  27. virtual IClipFormat *GetAt(int nPos) = 0;
  28. virtual void DeleteAt(int nPos) = 0;
  29. virtual void DeleteAll() = 0;
  30. virtual INT_PTR AddNew(CLIPFORMAT type, HGLOBAL data) = 0;
  31. virtual IClipFormat *FindFormatEx(CLIPFORMAT type) = 0;
  32. virtual bool RemoveFormat(CLIPFORMAT type) = 0;
  33. };
  34. class IClip
  35. {
  36. public:
  37. virtual CString Description() = 0;
  38. virtual void Description(CString csValue) = 0;
  39. virtual CTime PasteTime() = 0;
  40. virtual int ID() = 0;
  41. virtual int Parent() = 0;
  42. virtual void Parent(int nParent) = 0;
  43. virtual int DontAutoDelete() = 0;
  44. virtual void DontAutoDelete(int Dont) = 0;
  45. virtual CString QuickPaste() = 0;
  46. virtual void QuickPaste(CString csValue) = 0;
  47. virtual void SetSaveToDbSticky(AddToDbStickyEnum::AddToDbSticky option) = 0;
  48. virtual IClipFormats *Clips() = 0;
  49. };