GdiPlusCachedBitmap.h
上传用户:jinlangri
上传日期:2022-07-17
资源大小:10774k
文件大小:2k
源码类别:

GDI/图象编程

开发平台:

Visual C++

  1. /**************************************************************************
  2. *
  3. * Copyright (c) 2000 Microsoft Corporation
  4. *
  5. * Module Name:
  6. *
  7. *   CachedBitmap class definition
  8. *
  9. * Abstract:
  10. *
  11. *   CachedBitmap is a representation of an accelerated drawing
  12. *   that has restrictions on what operations are allowed in order
  13. *   to accelerate the drawing to the destination.
  14. *
  15. **************************************************************************/
  16. #ifndef _GDIPLUSCACHEDBITMAP_H
  17. #define _GDIPLUSCACHEDBITMAP_H
  18. /**************************************************************************
  19. *
  20. * Class Name:
  21. *
  22. *   CachedBitmap
  23. *
  24. * Abstract:
  25. *
  26. *   An object to store a bitmap prepared for rendering on a particular
  27. *   Graphics object. The memory storage for the CachedBitmap is opaque
  28. *   to the other Engine code, so the only operations supported are
  29. *   initializing the data (with a bitmap) and using the graphics to
  30. *   draw it on the screen with an integer offset.
  31. *
  32. *   Look for the class definition in GdiplusHeaders.h
  33. *
  34. * Created:
  35. *
  36. *   04/23/2000 asecchia
  37. *      Created it.
  38. *
  39. **************************************************************************/
  40. inline 
  41. CachedBitmap::CachedBitmap(
  42.     IN Bitmap *bitmap, 
  43.     IN Graphics *graphics)
  44. {
  45.     nativeCachedBitmap = NULL;    
  46.     lastResult = DllExports::GdipCreateCachedBitmap(
  47.         (GpBitmap *)bitmap->nativeImage,
  48.         graphics->nativeGraphics,
  49.         &nativeCachedBitmap
  50.     );
  51. }
  52. inline 
  53. CachedBitmap::~CachedBitmap()
  54. {
  55.     DllExports::GdipDeleteCachedBitmap(nativeCachedBitmap);
  56. }
  57. inline Status 
  58. CachedBitmap::GetLastStatus() const 
  59. {
  60.     Status lastStatus = lastResult;
  61.     lastResult = Ok;    
  62.     return (lastStatus);
  63. }
  64. #endif