/binding/win32/gdipluscachedbitmap.d

http://github.com/wilkie/djehuty · D · 78 lines · 42 code · 9 blank · 27 comment · 0 complexity · 11c1ec84d7c2efcddf440f9057f6b0da MD5 · raw file

  1. /*
  2. * gdipluscachedbitmap.d
  3. *
  4. * This module implements GdiPlusCachedBitmap.h for D. The original
  5. * copyright info is given below.
  6. *
  7. * Author: Dave Wilkinson
  8. * Originated: November 25th, 2009
  9. *
  10. */
  11. module binding.win32.gdipluscachedbitmap;
  12. import binding.win32.windef;
  13. import binding.win32.winbase;
  14. import binding.win32.winnt;
  15. import binding.win32.wingdi;
  16. import binding.win32.guiddef;
  17. import binding.win32.gdiplusbase;
  18. import binding.win32.gdiplustypes;
  19. import binding.win32.gdiplusenums;
  20. import binding.win32.gdipluspixelformats;
  21. import binding.win32.gdiplusgpstubs;
  22. import binding.win32.gdiplusmetaheader;
  23. import binding.win32.gdipluspixelformats;
  24. import binding.win32.gdipluscolor;
  25. import binding.win32.gdipluscolormatrix;
  26. import binding.win32.gdiplusflat;
  27. import binding.win32.gdiplusimaging;
  28. import binding.win32.gdiplusbitmap;
  29. import binding.win32.gdiplusimageattributes;
  30. import binding.win32.gdiplusmatrix;
  31. import binding.win32.gdiplusgraphics;
  32. /**************************************************************************
  33. *
  34. * Copyright (c) 2000 Microsoft Corporation
  35. *
  36. * Module Name:
  37. *
  38. * CachedBitmap class definition
  39. *
  40. * Abstract:
  41. *
  42. * GDI+ CachedBitmap is a representation of an accelerated drawing
  43. * that has restrictions on what operations are allowed in order
  44. * to accelerate the drawing to the destination.
  45. *
  46. * Look for class definition in GdiplusHeaders.h
  47. *
  48. **************************************************************************/
  49. class CachedBitmap : GdiplusBase {
  50. this(in Bitmap bitmap, in Graphics graphics) {
  51. nativeCachedBitmap = null;
  52. lastResult = GdipCreateCachedBitmap(
  53. bitmap.nativeImage,
  54. graphics.nativeGraphics,
  55. &nativeCachedBitmap
  56. );
  57. }
  58. ~this() {
  59. GdipDeleteCachedBitmap(nativeCachedBitmap);
  60. }
  61. Status GetLastStatus() {
  62. Status lastStatus = lastResult;
  63. lastResult = Status.Ok;
  64. return (lastStatus);
  65. }
  66. protected:
  67. package GpCachedBitmap *nativeCachedBitmap;
  68. package Status lastResult;
  69. }