home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / OpenDoc Parts Framework / OPF / Examples / Text / Textension / Include / Paragraph.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-21  |  1.4 KB  |  71 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Paragraph.h
  3.  
  4.     Contains:    xxx put contents here xxx
  5.  
  6.     Written by:    Essam Zaky
  7.  
  8.     Copyright:    © 1994 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <2>      1/4/94    EZ        clean up
  13.          <1>      1/4/94    EZ        first checked in
  14.  
  15. */
  16.  
  17. #ifndef _Paragraph_
  18. #define _Paragraph_
  19.  
  20. #ifndef _ToolBoxDump_
  21. #include "ToolBoxDump.h"
  22. #endif
  23.  
  24. #ifndef _TextensionCommon_
  25. #include "TextensionCommon.h"
  26. #endif
  27.  
  28. //***************************************************************************************************
  29.  
  30. const short kMaxParagCtrlChars = 500; //allocate global data of size kMaxParagCtrlChars*3
  31.  
  32. class CParagCtrlChars : private SingleObject {
  33.     public :
  34.         CParagCtrlChars() {}
  35.         
  36.         void Invalid();
  37.         
  38.         long Define(uPtr charsPtr, long startOffset, long maxOffset);
  39.         
  40.         inline long GetParagEnd() {return fParagEnd;}
  41.         inline long GetParagStart() {return fParagStart;}
  42.         
  43.         long GetCurrCtrlOffset();
  44.         char GetCurrCtrlChar();
  45.         
  46.         inline void Next() {++fIndex;}
  47.         
  48.         inline void Reset() {fIndex = 0;}
  49.         
  50.     private:
  51.         long fParagStart;
  52.         long fParagEnd;
  53.         
  54.         short fCount;
  55.         short fOffsets[kMaxParagCtrlChars];
  56.         char    fChars[kMaxParagCtrlChars];
  57.  
  58.         short fIndex; //for iteration
  59. };
  60.  
  61.  
  62.  
  63. extern CParagCtrlChars gParagCtrlChars;
  64. //***************************************************************************************************
  65.  
  66. long GetParagStartOffset(uPtr charsPtr, long lenBefore);
  67.  
  68. long GetParagEndOffset(uPtr charsPtr, long lenAfter);
  69.  
  70. #endif
  71.