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 / gdidemo / bounce.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-10-05  |  2.2 KB  |  90 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. #ifdef WIN16
  14. #define APIENTRY FAR PASCAL
  15. typedef WORD WPARAM;
  16. #endif
  17.  
  18. #define BOUNCECLASS  "BOUNCEDEMO"
  19.  
  20.  
  21. typedef struct _MYXFORM
  22. {
  23.     int xForm[3][3];
  24. } MYXFORM;
  25. typedef MYXFORM      *PMYXFORM;
  26. typedef MYXFORM NEAR *NPMYXFORM;
  27. typedef MYXFORM FAR  *LPMYXFORM;
  28.  
  29.  
  30. /*
  31. ** BALL OBJECT
  32. */
  33. typedef struct _BALLDATA
  34. {
  35.     HWND     hWnd;
  36.     int      nWidth;
  37.     int      nHeight;
  38.     int      xDirection;
  39.     int      yDirection;
  40.     BOOL     bNewPosition;
  41.     int      xPosition;
  42.     int      yPosition;
  43.     COLORREF crColor;
  44.     MYXFORM  xForm;
  45. } BALLDATA;
  46. typedef BALLDATA      *PBALLDATA;
  47. typedef BALLDATA NEAR *NPBALLDATA;
  48. typedef BALLDATA FAR  *LPBALLDATA;
  49.  
  50. HANDLE ballCreate(HWND,int,int,COLORREF);
  51. BOOL   ballDestroy(HANDLE);
  52. VOID   ballBounce(HANDLE);
  53. BOOL   ballSetDimensions(HANDLE,int,int);
  54. BOOL   ballGetDimensions(HANDLE,LPPOINT);
  55. BOOL   ballSetDirection(HANDLE,int,int);
  56. BOOL   ballGetDirection(HANDLE,LPPOINT);
  57. BOOL   ballGetPosition(HANDLE,LPPOINT);
  58. BOOL   ballSetPosition(HANDLE,int,int);
  59.  
  60.  
  61.  
  62.  
  63. typedef struct _BOUNCEDATA
  64. {
  65.     HANDLE hBall1;
  66.     HANDLE hBall2;
  67.     HANDLE hBall3;
  68.     HANDLE hBall4;
  69. } BOUNCEDATA;
  70. typedef BOUNCEDATA      *PBOUNCEDATA;
  71. typedef BOUNCEDATA NEAR *NPBOUNCEDATA;
  72. typedef BOUNCEDATA FAR  *LPBOUNCEDATA;
  73.  
  74.  
  75. /*
  76. ** DRAW WINDOW ROUTINES (draw.c)
  77. */
  78. HWND  FAR      CreateBounceWindow(HWND,int);
  79. LONG  APIENTRY BounceProc(HWND,UINT,WPARAM,LONG);
  80. BOOL           BounceCreateProc(HWND);
  81. VOID           BounceDestroyProc(HWND);
  82. BOOL           BounceCommandProc(HWND,WPARAM,LONG);
  83. VOID           BouncePaintProc(HWND);
  84.  
  85. VOID           BounceObjects(HWND);
  86. VOID           BounceRefresh(HWND);
  87.  
  88.  
  89. VOID           CheckEdgePosition(HWND,HANDLE);
  90.