home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / at-inc-bin.lha / os-include / datatypes / textclass.h < prev    next >
C/C++ Source or Header  |  1993-10-15  |  2KB  |  84 lines

  1. #ifndef    DATATYPES_TEXTCLASS_H
  2. #define    DATATYPES_TEXTCLASS_H
  3. /*
  4. **  $VER: textclass.h 39.3 (3.8.92)
  5. **  Includes Release 40.15
  6. **
  7. **  Interface definitions for DataType text objects.
  8. **
  9. **  (C) Copyright 1992-1993 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. #define    TDTA_WordWrap        (DTA_Dummy + 305)
  38.      /* Boolean. Should the text be word wrapped.  Defaults to false. */
  39.  
  40. /*****************************************************************************/
  41.  
  42. /* There is one Line structure for every line of text in our document.    */
  43. struct Line
  44. {
  45.     struct MinNode     ln_Link;        /* to link the lines together */
  46.     STRPTR         ln_Text;        /* pointer to the text for this    line */
  47.     ULONG         ln_TextLen;        /* the character length of the text for this line */
  48.     UWORD         ln_XOffset;        /* where in the    line the text starts */
  49.     UWORD         ln_YOffset;        /* line the text is on */
  50.     UWORD         ln_Width;        /* Width of line in pixels */
  51.     UWORD         ln_Height;        /* Height of line in pixels */
  52.     UWORD         ln_Flags;        /* info    on the line */
  53.     BYTE         ln_FgPen;        /* foreground pen */
  54.     BYTE         ln_BgPen;        /* background pen */
  55.     ULONG         ln_Style;        /* Font style */
  56.     APTR         ln_Data;        /* Link data... */
  57. };
  58.  
  59. /*****************************************************************************/
  60.  
  61. /* Line.ln_Flags */
  62.  
  63. /* Line Feed */
  64. #define    LNF_LF        (1L << 0)
  65.  
  66. /* Segment is a link */
  67. #define    LNF_LINK    (1L << 1)
  68.  
  69. /* ln_Data is a pointer to an DataTypes object */
  70. #define    LNF_OBJECT    (1L << 2)
  71.  
  72. /* Object is selected */
  73. #define    LNF_SELECTED    (1L << 3)
  74.  
  75. /*****************************************************************************/
  76.  
  77. /* IFF types that may be text */
  78. #define    ID_FTXT        MAKE_ID('F','T','X','T')
  79. #define    ID_CHRS        MAKE_ID('C','H','R','S')
  80.  
  81. /*****************************************************************************/
  82.  
  83. #endif    /* DATATYPES_TEXTCLASS_H */
  84.