ExtSkinBitmap.h
上传用户:sesekoo
上传日期:2020-07-18
资源大小:21543k
文件大小:3k
源码类别:

界面编程

开发平台:

Visual C++

  1. // This is part of the Professional User Interface Suite library.
  2. // Copyright (C) 2001-2009 FOSS Software, Inc.
  3. // All rights reserved.
  4. //
  5. // http://www.prof-uis.com
  6. // mailto:support@prof-uis.com
  7. //
  8. // This source code can be used, modified and redistributed
  9. // under the terms of the license agreement that is included
  10. // in the Professional User Interface Suite package.
  11. //
  12. // Warranties and Disclaimers:
  13. // THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND
  14. // INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY,
  15. // FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  16. // IN NO EVENT WILL FOSS SOFTWARE INC. BE LIABLE FOR ANY DIRECT,
  17. // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES,
  18. // INCLUDING DAMAGES FOR LOSS OF PROFITS, LOSS OR INACCURACY OF DATA,
  19. // INCURRED BY ANY PERSON FROM SUCH PERSON'S USAGE OF THIS SOFTWARE
  20. // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  21. #if (!defined __PROF_SKIN_BITMAP_H)
  22. #define __PROF_SKIN_BITMAP_H
  23. #if (!defined __PROF_SKIN_H)
  24. #include <../ProfSkin/ProfSkin.h>
  25. #endif
  26. #if (!defined __EXT_CMD_ICON_H)
  27. #include <ExtCmdIcon.h>
  28. #endif
  29. class __PROF_SKIN_API CExtSkinBitmap : public CExtBitmapCache
  30. {
  31. public:
  32. CExtSkinBitmap();
  33. CExtSkinBitmap(
  34. const CExtBitmap & other
  35. );
  36. virtual ~CExtSkinBitmap();
  37. virtual bool AssignFromOther(
  38. const CExtBitmap & other,
  39. bool bEnableThrowException = false
  40. );
  41. virtual void Empty();
  42. virtual bool IsEmpty() const;
  43. bool LoadImage_File(
  44. __EXT_MFC_SAFE_LPCTSTR strFilePath,
  45. bool bMake32 = false,
  46. bool bEnableThrowException = false
  47. );
  48. bool LoadPNG_Resource(
  49. HINSTANCE hInst,
  50. HRSRC hRsrc,
  51. bool bMake32 = false,
  52. bool bEnableThrowException = false
  53. );
  54. bool LoadPNG_File(
  55. __EXT_MFC_SAFE_LPCTSTR strFilePath,
  56. bool bMake32 = false,
  57. bool bEnableThrowException = false
  58. );
  59. bool LoadPNG_File(
  60. CFile & _file,
  61. bool bMake32 = false,
  62. bool bEnableThrowException = false
  63. );
  64. bool LoadPNG(
  65. CArchive & ar,
  66. bool bMake32 = false,
  67. bool bEnableThrowException = false
  68. );
  69. bool SavePNG_File(
  70. __EXT_MFC_SAFE_LPCTSTR strFilePath,
  71. bool bMake32 = false,
  72. bool bEnableThrowException = false
  73. );
  74. bool SavePNG_File(
  75. CFile & _file,
  76. bool bMake32 = false,
  77. bool bEnableThrowException = false
  78. );
  79. bool SavePNG(
  80. CArchive & ar,
  81. bool bMake32 = false,
  82. bool bEnableThrowException = false
  83. );
  84. protected:
  85. static void stat_PngCallbackRead(
  86. LPVOID pCallbackData,
  87. LPBYTE pBuffer,
  88. size_t nSize
  89. );
  90. static void stat_PngCallbackWrite(
  91. LPVOID pCallbackData,
  92. LPBYTE pBuffer,
  93. size_t nSize
  94. );
  95. static void stat_PngCallbackFlush(
  96. LPVOID pCallbackData
  97. );
  98. static void stat_PngCallbackError(
  99. LPVOID pCallbackData,
  100. const char * strErrorDescription
  101. );
  102. static void stat_PngCallbackWarning(
  103. LPVOID pCallbackData,
  104. const char * strWarningDescription
  105. );
  106. static bool stat_PngCheckSwap32(
  107. LPBYTE pImageBuffer
  108. );
  109. static LPBYTE stat_PngLoad(
  110. CArchive & ar,
  111. bool bEnableThrowException
  112. );
  113. static bool stat_PngSave(
  114. LPBYTE pImageBuffer,
  115. CArchive & ar,
  116. bool bEnableThrowException
  117. );
  118. }; // class CExtSkinBitmap
  119. #endif // __PROF_SKIN_BITMAP_H