home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / activexcontrol / basectl / card / carddraw.h < prev    next >
C/C++ Source or Header  |  1997-10-05  |  2KB  |  70 lines

  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.  
  14. class CCardDraw {
  15.     public:
  16.         CCardDraw( int number );
  17.         ~CCardDraw();
  18.         BOOL DrawCard( HDC hdcMem, int suite, int number );
  19.         BOOL DrawCardBack( HDC hdcMem, int backnum );
  20.         HBITMAP CreateDIBCard( HDC drawDc );
  21.  
  22.         // size of the card
  23.         enum { CardSizeX = 71, CardSizeY = 96 };
  24.  
  25.         // constants to use in constructor
  26.         enum { DrawBack = -1, DrawAll = 15 };
  27.  
  28.         // rect for filling in the card blank, 
  29.         // POINT array for drawing the border with PolyLine()
  30.         static const POINT CardBorder[9];
  31.         static const RECT CardRect;
  32.  
  33.     private:
  34.         // DC's for drawing, Mem's hold old DC bitmap contents
  35.         HDC symsDc, symsiDc;
  36.         HBITMAP symsMem, symsiMem;
  37.         HDC centerDc;
  38.         HBITMAP centerMem;
  39.         HDC jokerDc;
  40.         HBITMAP jokerMem;
  41.  
  42.         // constants for locations of card elements
  43.         enum { SymsSizeX = 73, SymsSizeY = 51 };
  44.  
  45.         enum { JokerCornerSizeY = 49, JokerCornerSizeX = 38 };
  46.         enum { JokerCornerSrcX = 0, JokerCornerSrcY = 0 };
  47.         enum { JokerCornerY = 5, JokerCornerX = 4 };
  48.         enum { JokerCornerRectSX = 13, JokerCornerRectSY = 15 };
  49.         enum { JokerCornerRectEX = 13, JokerCornerRectEY = 15 };
  50.  
  51.         enum { LargeSymSrcX = 9, LargeSymSrcY = 36 };
  52.         enum { LargeSymSizeX = 15, LargeSymSizeY = 15 };
  53.  
  54.         enum { SmallSymSizeX = 9, SmallSymSizeY = 10 };
  55.         enum { SmallSymSrcX = 38, SmallSymSrcY = 0 };
  56.         enum { SmallSymY = 19 };
  57.  
  58.         enum { NumberSrcX = 12, NumberSrcY = 10 };
  59.         enum { NumberSizeX = 9, NumberSizeY = 12 };
  60.         enum { NumberY = 5 };
  61.  
  62.         enum { JokerSizeY = 63, JokerSizeX = 45 };
  63.         enum { JokerY = 17, JokerX = 13 };
  64.  
  65.         enum { PictSizeY = 72, PictSizeX = 45 };
  66.          enum { PictY = 11, PictX = 12 };
  67.  
  68. };
  69.  
  70.