home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / src / insetspecialchar.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  1KB  |  75 lines

  1. // -*- C++ -*-
  2. /* This file is part of*
  3.  * ======================================================
  4.  *
  5.  *           LyX, The Document Processor
  6.  *      
  7.  *        Copyright (C) 1997 Asger Alstrup
  8.  *
  9.  *======================================================*/
  10.  
  11. #ifndef _INSET_SPECIALCHAR_H
  12. #define _INSET_SPECIALCHAR_H
  13.  
  14. #ifdef __GNUG__
  15. #pragma interface
  16. #endif
  17.  
  18. #include "lyxinset.h"
  19. #include "LString.h"
  20.  
  21. ///  Used to insert special chars
  22. class InsetSpecialChar: public Inset {
  23. public:
  24.  
  25.     /// The different kinds of special chars we support
  26.     enum Kind {
  27.         /// Optional hyphenation point (\-)
  28.         HYPHENATION,
  29.         /// ... (\ldots)
  30.         LDOTS,
  31.         /// End of sentence punctuation (\@)
  32.         END_OF_SENTENCE
  33.     };
  34.  
  35.     ///
  36.     InsetSpecialChar();
  37.     ///
  38.     InsetSpecialChar(Kind k);
  39.     ///
  40.     ~InsetSpecialChar();
  41.     ///
  42.     int Ascent(LyXFont const &font) const;
  43.     ///
  44.     int Descent(LyXFont const &font) const;
  45.     ///
  46.     int Width(LyXFont const &font) const;
  47.     ///
  48.     void Draw(LyXFont, LyXScreen &scr, int baseline, float &x);
  49.     ///
  50.     void Write(FILE *file);
  51.     /// Will not be used when lyxf3
  52.     void Read(LyXLex &lex);
  53.     /// 
  54.     int Latex(FILE *file, signed char fragile);
  55.     ///
  56.     int Latex(LString &file, signed char fragile);
  57.     ///
  58.     Inset* Clone();
  59.     ///  
  60.     Inset::Code LyxCode() const
  61.     {
  62.         return Inset::NO_CODE;
  63.     }
  64.     /// We don't need \begin_inset and \end_inset
  65.     bool DirectWrite() const 
  66.     {
  67.         return true;
  68.     };
  69. private:
  70.     /// And which kind is this?
  71.     Kind kind;
  72. };
  73.  
  74. #endif
  75.