// -*- C++ -*-
/* This file is part of*
- * ======================================================
+ * ======================================================
*
* LyX, The Document Processor
*
- * Copyright (C) 1997 Asger Alstrup
+ * Copyright 1997 Asger Alstrup
*
- *======================================================*/
+ * ====================================================== */
-#ifndef _INSET_SPECIALCHAR_H
-#define _INSET_SPECIALCHAR_H
+#ifndef INSET_SPECIALCHAR_H
+#define INSET_SPECIALCHAR_H
#ifdef __GNUG__
#pragma interface
struct LaTeXFeatures;
/// Used to insert special chars
-class InsetSpecialChar: public Inset {
+class InsetSpecialChar : public Inset {
public:
/// The different kinds of special chars we support
/// End of sentence punctuation (\@)
END_OF_SENTENCE,
/// Menu separator
- MENU_SEPARATOR
+ MENU_SEPARATOR,
+ /// Protected Separator
+ PROTECTED_SEPARATOR
};
///
- InsetSpecialChar();
+ InsetSpecialChar() {}
///
+ explicit
InsetSpecialChar(Kind k);
///
- ~InsetSpecialChar();
+ int ascent(BufferView *, LyXFont const &) const;
///
- int Ascent(LyXFont const &font) const;
+ int descent(BufferView *, LyXFont const &) const;
///
- int Descent(LyXFont const &font) const;
+ int width(BufferView *, LyXFont const &) const;
///
- int Width(LyXFont const &font) const;
+ void draw(BufferView *, LyXFont const &, int, float &, bool) const;
///
- void Draw(LyXFont, LyXScreen &scr, int baseline, float &x);
- ///
- void Write(FILE *file);
+ void Write(Buffer const *, std::ostream &) const;
/// Will not be used when lyxf3
- void Read(LyXLex &lex);
+ void Read(Buffer const *, LyXLex & lex);
///
- int Latex(FILE *file, signed char fragile);
+ int Latex(Buffer const *, std::ostream &,
+ bool fragile, bool free_spc) const;
///
- int Latex(string &file, signed char fragile);
+ int Ascii(Buffer const *, std::ostream &, int linelen) const;
///
- int Linuxdoc(string &file);
+ int Linuxdoc(Buffer const *, std::ostream &) const;
///
- int DocBook(string &file);
+ int DocBook(Buffer const *, std::ostream &) const;
///
- Inset* Clone();
+ Inset * Clone(Buffer const &) const;
///
Inset::Code LyxCode() const
{
- return Inset::NO_CODE;
+ return Inset::SPECIALCHAR_CODE;
}
/// We don't need \begin_inset and \end_inset
bool DirectWrite() const