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 / mandel / bndscan.h < prev    next >
C/C++ Source or Header  |  1997-10-05  |  2KB  |  63 lines

  1. /******************************Module*Header*******************************\
  2. * Module Name: bndscan.h
  3. *
  4. * Contains the #defines used for finding boundary points
  5. *
  6. * Created: 19-Mar-1992 16:10:14
  7. * Author: Petrus Wong
  8. *
  9. * Copyright (C) 1993-1997 Microsoft Corporation
  10. *
  11. * The eight neighbors of any boundary point are represented by thier
  12. * relative direction.  For example, north, south, east and west.
  13. * The directions are #defined clockwise.  And these defined values will
  14. * be used with shifting operations.
  15. *
  16. * Dependencies:
  17. *
  18. *   none
  19. *
  20. \**************************************************************************/
  21. #define EAST        0x0001
  22. #define SOUTHEAST   0x0002
  23. #define SOUTH       0x0004
  24. #define SOUTHWEST   0x0008
  25. #define WEST        0x0010
  26. #define NORTHWEST   0x0020
  27. #define NORTH       0x0040
  28. #define NORTHEAST   0x0080
  29.  
  30. //
  31. // Turning left and right are also defined.
  32. //
  33. #define LEFT        1
  34. #define RIGHT        2
  35.  
  36. //
  37. // This is maximum number of boundary points we are going to handle.
  38. // Works pretty well in most cases.  This limit exists for catching
  39. // the unprobable situation of infinite loop.
  40. //
  41. #define MAXPOINT    50000
  42.  
  43. #define MM_SELCLIPRGN           7050
  44.  
  45. //
  46. // Internal data structure used for boundary point finding only.
  47. //
  48. typedef struct _node {
  49.     DWORD   dwDirection;
  50.     BOOL    bEscape;
  51. }NODE;
  52.  
  53. //
  54. // externs
  55. //
  56. extern HPEN hpnGreen;
  57. extern HPEN hpnBlack;
  58. extern HWND ghwndMain;
  59. extern char gtext[256];
  60. extern HBITMAP SaveBitmap   (HWND, HPALETTE);
  61. extern LONG lMul(LONG, LONG);
  62. extern LONG lDiv(LONG, LONG);
  63.