home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / graphics / gdi / printer / paint.h < prev    next >
C/C++ Source or Header  |  1997-10-05  |  3KB  |  98 lines

  1.  
  2. /******************************************************************************\
  3. *       This is a part of the Microsoft Source Code Samples. 
  4. *       Copyright (C) 1993-1997 Microsoft Corporation.
  5. *       All rights reserved. 
  6. *       This source code is only intended as a supplement to 
  7. *       Microsoft Development Tools and/or WinHelp documentation.
  8. *       See these sources for detailed information regarding the 
  9. *       Microsoft samples programs.
  10. \******************************************************************************/
  11.  
  12. /******************************************************************************\
  13. *
  14. *                                PAINT.H
  15. *
  16. \******************************************************************************/
  17. #include "strings.h"
  18.  
  19. /******************************************************************************\
  20. *                           SYMBOLIC CONSTANTS
  21. \******************************************************************************/
  22.  
  23. #define BORDER                   5
  24.  
  25. #define NUM_GRAPHICS_XSLOTS      4
  26. #define NUM_GRAPHICS_YSLOTS      3
  27.  
  28. #define ERR_MOD_NAME              IDS_ERR_PAINT
  29.  
  30.  
  31.  
  32. /******************************************************************************\
  33. *                                TYPEDEFS
  34. \******************************************************************************/
  35.  
  36. typedef struct
  37. {
  38.   int left;
  39.   int top;
  40.   int right;
  41.   int bottom;
  42.  
  43. } RECTI, *PRECTI;
  44.  
  45. typedef struct tagArFonts
  46. {
  47.   int        nFonts;
  48.   int        cySpace;
  49.   HDC        hdc;
  50.   LOGFONT    *lf;
  51.   TEXTMETRIC *tm;
  52.   int        *Type;
  53.  
  54. } ARFONTS, *PARFONTS;
  55.  
  56.  
  57.  
  58. /******************************************************************************\
  59. *                             GLOBAL VARIABLES
  60. \******************************************************************************/
  61.  
  62. HDC      hdcGlobal;          // globals utilized by enum fonts funtions
  63. PARFONTS parFontsGlobal;
  64. int      iFace,jFont;
  65. int      nFaces;
  66.  
  67. int      giDeltaX;           // vars used by Get*GraphicSlot calls
  68. int      giDeltaY;
  69. int      giColumn;
  70.  
  71.  
  72.  
  73. /******************************************************************************\
  74. *                          EXTERNAL VARIABLES
  75. \******************************************************************************/
  76.  
  77. extern HANDLE ghInst;
  78. extern HWND   ghwndMain;
  79. extern DWORD  gdwGraphicsOptions;
  80. extern int    giMapMode;
  81. extern LONG   glcyMenu;
  82.  
  83.  
  84. /******************************************************************************\
  85. *                            FUNCTION PROTOTYPES
  86. \******************************************************************************/
  87.  
  88. void GetFirstGraphicSlot (LPRECT, PRECTI);
  89. void GetNextGraphicSlot  (PRECTI);
  90.  
  91. void         DrawFonts     (HDC, LPRECT);
  92. PARFONTS     BuildFontList (HDC);
  93. void         FreeFontList  (PARFONTS);
  94.  
  95. int CALLBACK MyEnumCount (LPLOGFONT, LPTEXTMETRIC, DWORD, LPVOID);
  96. int CALLBACK MyEnumCopy  (LPLOGFONT, LPTEXTMETRIC, DWORD, LPVOID);
  97. int CALLBACK MyEnumFaces (LPLOGFONT, LPTEXTMETRIC, DWORD, LPVOID);
  98.