Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.4 KiB

  1. // frame.h
  2. #ifndef __INCLUDE_FRAME
  3. #define __INCLUDE_FRAME
  4. #ifdef __cplusplus
  5. extern "C"
  6. {
  7. #endif
  8. typedef POINT XY;
  9. typedef struct tagFRAME
  10. {
  11. void *pvData; // Recognizer specific private data
  12. STROKEINFO info; // Physical info about ink (Penwin.h)
  13. UINT csmoothxy; // points in smoothed strokes
  14. XY *rgrawxy; // tablet coords of all the points in the stroke
  15. XY *rgsmoothxy; // array of points after smoothing
  16. RECT rect; // bounding box of this stroke
  17. int iframe; // pos of this frame in linked list of glyphs
  18. } FRAME;
  19. FRAME *NewFRAME(void);
  20. void DestroyFRAME(FRAME *self);
  21. RECT *RectFRAME(FRAME *self);
  22. void TranslateFrame (FRAME *pFrame, int dx, int dy);
  23. #define SetIFrameFRAME(frame,i) ((frame)->iframe = (i))
  24. #define IFrameFRAME(frame) ((frame)->iframe)
  25. #define DeInitRectFRAME(frame) ((frame)->rect.left = -1)
  26. #define IsVisibleSTROKE(info) (((info)->wPdk) & PDK_TIPMASK)
  27. #define IsVisibleFRAME(frame) (IsVisibleSTROKE(&(frame)->info))
  28. #define RgrawxyFRAME(frame) ((frame)->rgrawxy)
  29. #define CrawxyFRAME(frame) ((frame)->info.cPnt)
  30. #define RawxyAtFRAME(frame,i) ((frame)->rgrawxy[i])
  31. #define LppointFRAME(frame) ((LPPOINT)(frame)->rgrawxy)
  32. #define CpointFRAME(frame) ((frame)->info.cPnt)
  33. #define CpointSmoothFRAME(frame) ((frame)->csmoothxy)
  34. #define LpframeinfoFRAME(frame) (&(frame)->info)
  35. #ifdef __cplusplus
  36. };
  37. #endif
  38. #endif //__INCLUDE_FRAME