CARDDRAW.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //=--------------------------------------------------------------------------=
  2. // CardDraw.Cpp
  3. //=--------------------------------------------------------------------------=
  4. // Copyright 1996 - 1997 Microsoft Corporation.  All Rights Reserved.
  5. //
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
  7. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  8. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
  9. // PARTICULAR PURPOSE.
  10. //=--------------------------------------------------------------------------=
  11. //
  12. //
  13. class CCardDraw {
  14. public:
  15. CCardDraw( int number );
  16. ~CCardDraw();
  17. BOOL DrawCard( HDC hdcMem, int suite, int number );
  18. BOOL DrawCardBack( HDC hdcMem, int backnum );
  19. HBITMAP CreateDIBCard( HDC drawDc );
  20. // size of the card
  21. enum { CardSizeX = 71, CardSizeY = 96 };
  22. // constants to use in constructor
  23. enum { DrawBack = -1, DrawAll = 15 };
  24. // rect for filling in the card blank, 
  25. // POINT array for drawing the border with PolyLine()
  26. static const POINT CardBorder[9];
  27. static const RECT CardRect;
  28. private:
  29. // DC's for drawing, Mem's hold old DC bitmap contents
  30. HDC symsDc, symsiDc;
  31. HBITMAP symsMem, symsiMem;
  32. HDC centerDc;
  33. HBITMAP centerMem;
  34. HDC jokerDc;
  35. HBITMAP jokerMem;
  36. // constants for locations of card elements
  37. enum { SymsSizeX = 73, SymsSizeY = 51 };
  38. enum { JokerCornerSizeY = 49, JokerCornerSizeX = 38 };
  39. enum { JokerCornerSrcX = 0, JokerCornerSrcY = 0 };
  40. enum { JokerCornerY = 5, JokerCornerX = 4 };
  41. enum { JokerCornerRectSX = 13, JokerCornerRectSY = 15 };
  42. enum { JokerCornerRectEX = 13, JokerCornerRectEY = 15 };
  43. enum { LargeSymSrcX = 9, LargeSymSrcY = 36 };
  44. enum { LargeSymSizeX = 15, LargeSymSizeY = 15 };
  45. enum { SmallSymSizeX = 9, SmallSymSizeY = 10 };
  46. enum { SmallSymSrcX = 38, SmallSymSrcY = 0 };
  47. enum { SmallSymY = 19 };
  48. enum { NumberSrcX = 12, NumberSrcY = 10 };
  49. enum { NumberSizeX = 9, NumberSizeY = 12 };
  50. enum { NumberY = 5 };
  51. enum { JokerSizeY = 63, JokerSizeX = 45 };
  52. enum { JokerY = 17, JokerX = 13 };
  53. enum { PictSizeY = 72, PictSizeX = 45 };
  54.   enum { PictY = 11, PictX = 12 };
  55. };