BNDSCAN.H
/******************************Module*Header*******************************\ 
* Module Name: bndscan.h 
* 
* Contains the #defines used for finding boundary points 
* 
* Created: 19-Mar-1992 16:10:14 
* Author: Petrus Wong 
* 
* Copyright 1993 - 1998 Microsoft Corporation 
* 
* The eight neighbors of any boundary point are represented by thier 
* relative direction.  For example, north, south, east and west. 
* The directions are #defined clockwise.  And these defined values will 
* be used with shifting operations. 
* 
* Dependencies: 
* 
*   none 
* 
\**************************************************************************/ 
#define EAST        0x0001 
#define SOUTHEAST   0x0002 
#define SOUTH       0x0004 
#define SOUTHWEST   0x0008 
#define WEST        0x0010 
#define NORTHWEST   0x0020 
#define NORTH       0x0040 
#define NORTHEAST   0x0080 
 
// 
// Turning left and right are also defined. 
// 
#define LEFT    1 
#define RIGHT    2 
 
// 
// This is maximum number of boundary points we are going to handle. 
// Works pretty well in most cases.  This limit exists for catching 
// the unprobable situation of infinite loop. 
// 
#define MAXPOINT    50000 
 
#define MM_SELCLIPRGN           7050 
 
// 
// Internal data structure used for boundary point finding only. 
// 
typedef struct _node { 
    DWORD   dwDirection; 
    BOOL    bEscape; 
}NODE; 
 
// 
// externs 
// 
extern HPEN hpnGreen; 
extern HPEN hpnBlack; 
extern HWND ghwndMain; 
extern char gtext[256]; 
extern HBITMAP SaveBitmap   (HWND, HPALETTE); 
extern LONG lMul(LONG, LONG); 
extern LONG lDiv(LONG, LONG);