home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume11 / quadtree / part01 / quadtree.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-03  |  1.3 KB  |  35 lines

  1. typedef struct {
  2.     short           x, y, width, height, fullwidth, fullheight;
  3.     char           *bits;
  4. }               QT_Bitmap_t;
  5.  
  6. typedef struct _QT_TreeNode {
  7.     short           color;
  8.     struct _QT_TreeNode *children[4];
  9. }               QT_TreeNode_t;
  10.  
  11. #define QT_Bitmap_Width(b) ((b)->width)
  12. #define QT_Bitmap_Height(b) ((b)->height)
  13.  
  14. #define QT_TreeNode_Color(t) ((t)->color)
  15. #define QT_TreeNode_Child(t,n) ((t)->children[n])
  16. #define QT_TreeNode_UpperLeft(t) (QT_TreeNode_Child((t),0))
  17. #define QT_TreeNode_UpperRight(t) (QT_TreeNode_Child((t),1))
  18. #define QT_TreeNode_LowerLeft(t) (QT_TreeNode_Child((t),2))
  19. #define QT_TreeNode_LowerRight(t) (QT_TreeNode_Child((t),3))
  20. #define QT_TreeNode_SetColor(t,c) (((t)->color)=(c))
  21. #define QT_TreeNode_SetUpperLeft(t,v) (((t)->children[0])=(v))
  22. #define QT_TreeNode_SetUpperRight(t,v) (((t)->children[1])=(v))
  23. #define QT_TreeNode_SetLowerLeft(t,v) (((t)->children[2])=(v))
  24. #define QT_TreeNode_SetLowerRight(t,v) (((t)->children[3])=(v))
  25.  
  26. extern QT_TreeNode_t *QT_BitmapToTree();
  27. extern int      QT_Bitmap_Bit();
  28. extern int      QT_Bitmap_Init();
  29. extern int      QT_Bitmap_Read();
  30. extern void     QT_Bitmap_SetBit();
  31. extern void     QT_TreeNode_Destroy();
  32. extern QT_TreeNode_t *QT_TreeNode_New();
  33. extern QT_TreeNode_t *QT_Tree_Read();
  34. extern void     QT_Tree_Write();
  35.