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 / winnt / plgblt / track.h < prev   
Text File  |  1997-10-05  |  2KB  |  51 lines

  1.  
  2. /******************************************************************************\
  3. *       This is a part of the Microsoft Source Code Samples. 
  4. *       Copyright (C) 1992-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. /* track.h - header file for doTrackObject support */
  13.  
  14.  
  15. /* special messages for doTrackobject(). */
  16. #define TROB_NEW         WM_USER+1
  17. #define TROB_DELETE      WM_USER+2
  18. #define TROB_PAINT       WM_USER+3
  19. #define TROB_HITTEST     WM_USER+5
  20.  
  21.  
  22. /* Different "Track modes." */
  23. #define TMNONE    0x0000
  24. #define TMMOVE    0x0001
  25. #define TMSIZEX   0x0002
  26. #define TMSIZEY   0x0004
  27. #define TMSIZEXY  0x0006
  28. #define TMSHEARX  0x0010
  29. #define TMSHEARY  0x0020
  30. #define TMROTATE  0x0008
  31. #define TMALL     0x00ff
  32.  
  33.  
  34.  
  35. /* structure for the track object.  */
  36. typedef struct tagTrackObject{
  37.     RECT   rect;
  38.     XFORM  xfmChange;   /* World coordinate transform      */
  39.     XFORM  xfmDown;     /* transform when the mouse down happens. */
  40.     HDC    hdc;
  41.     int    Mode;        /* TMROTATE, TMSIZEXY, TMMOVE, ... */
  42.     int    allowedModes;
  43.     RECT   rectClip;
  44.     struct tagTrackObject* Next;
  45. } TrackObject, *PTrackObject;
  46.  
  47.  
  48. /* function prototypes. */
  49. PTrackObject doTrackObject(PTrackObject, int, HWND, LONG);
  50. VOID MouseMove(PTrackObject, int, HWND, LONG);
  51.