home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / useful / os-include / datatypes / textclass.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-24  |  2.3 KB  |  82 lines

  1. #ifndef    DATATYPES_TEXTCLASS_H
  2. #define    DATATYPES_TEXTCLASS_H
  3. /*
  4. **  $VER: textclass.h 39.2 (24.06.92)
  5. **  Includes Release 39.108
  6. **
  7. **  Interface definitions for DataType text objects.
  8. **
  9. **  (C) Copyright 1992 Commodore-Amiga, Inc.
  10. **    All Rights Reserved
  11. */
  12.  
  13. #ifndef    UTILITY_TAGITEM_H
  14. #include <utility/tagitem.h>
  15. #endif
  16.  
  17. #ifndef    DATATYPES_DATATYPESCLASS_H
  18. #include <datatypes/datatypesclass.h>
  19. #endif
  20.  
  21. #ifndef    LIBRARIES_IFFPARSE_H
  22. #include <libraries/iffparse.h>
  23. #endif
  24.  
  25. /*****************************************************************************/
  26.  
  27. #define    TEXTDTCLASS        "text.datatype"
  28.  
  29. /*****************************************************************************/
  30.  
  31. /* Text attributes */
  32. #define    TDTA_Buffer        (DTA_Dummy + 300)
  33. #define    TDTA_BufferLen        (DTA_Dummy + 301)
  34. #define    TDTA_LineList        (DTA_Dummy + 302)
  35. #define    TDTA_WordSelect        (DTA_Dummy + 303)
  36. #define    TDTA_WordDelim        (DTA_Dummy + 304)
  37.  
  38. /*****************************************************************************/
  39.  
  40. /* There is one Line structure for every line of text in our document.    */
  41. struct Line
  42. {
  43.     struct MinNode     ln_Link;        /* to link the lines together */
  44.     STRPTR         ln_Text;        /* pointer to the text for this    line */
  45.     ULONG         ln_TextLen;        /* the character length of the text for this line */
  46.     UWORD         ln_XOffset;        /* where in the    line the text starts */
  47.     UWORD         ln_YOffset;        /* line the text is on */
  48.     UWORD         ln_Width;        /* Width of line in pixels */
  49.     UWORD         ln_Height;        /* Height of line in pixels */
  50.     UWORD         ln_Flags;        /* info    on the line */
  51.     BYTE         ln_FgPen;        /* foreground pen */
  52.     BYTE         ln_BgPen;        /* background pen */
  53.     ULONG         ln_Style;        /* Font style */
  54.     APTR         ln_Data;        /* Link data... */
  55. };
  56.  
  57. /*****************************************************************************/
  58.  
  59. /* Line.ln_Flags */
  60.  
  61. /* Line Feed */
  62. #define    LNF_LF        (1L << 0)
  63.  
  64. /* Segment is a link */
  65. #define    LNF_LINK    (1L << 1)
  66.  
  67. /* ln_Data is a pointer to an DataTypes object */
  68. #define    LNF_OBJECT    (1L << 2)
  69.  
  70. /* Object is selected */
  71. #define    LNF_SELECTED    (1L << 3)
  72.  
  73. /*****************************************************************************/
  74.  
  75. /* IFF types that may be text */
  76. #define    ID_FTXT        MAKE_ID('F','T','X','T')
  77. #define    ID_CHRS        MAKE_ID('C','H','R','S')
  78.  
  79. /*****************************************************************************/
  80.  
  81. #endif    /* DATATYPES_TEXTCLASS_H */
  82.