X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfont.h;h=488932d208f592e52bd8299aa101b0bfb9c8c9be;hb=67f9c9fdae42211aa3ff8d0c6f62485bd721d8eb;hp=17b2359b11a0217262fd774c19e269f87863c828;hpb=cf3c73f4e85a8aedd92030427982aef98aae2baa;p=lyx.git diff --git a/src/lyxfont.h b/src/lyxfont.h index 17b2359b11..488932d208 100644 --- a/src/lyxfont.h +++ b/src/lyxfont.h @@ -1,26 +1,24 @@ // -*- C++ -*- -/* This file is part of - * ====================================================== +/** + * \file src/lyxfont.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * LyX, The Document Processor + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author Angus Leeming + * \author Dekel Tsur * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. - * - * ====================================================== */ + * Full author contact details are available in file CREDITS. + */ #ifndef LYXFONT_H #define LYXFONT_H -#ifdef __GNUG__ -#pragma interface -#endif - #include +#include -#include "LString.h" -#include "LColor.h" - +class LColor_color; class LyXLex; class BufferParams; class Language; @@ -208,7 +206,7 @@ public: FONT_MISC_STATE number() const; /// - LColor::color color() const; + LColor_color color() const; /// Language const * language() const; @@ -223,46 +221,37 @@ public: bool isSymbolFont() const; /// - LyXFont & setFamily(LyXFont::FONT_FAMILY f); - /// - LyXFont & setSeries(LyXFont::FONT_SERIES s); - /// - LyXFont & setShape(LyXFont::FONT_SHAPE s); - /// - LyXFont & setSize(LyXFont::FONT_SIZE s); - /// - LyXFont & setEmph(LyXFont::FONT_MISC_STATE e); - /// - LyXFont & setUnderbar(LyXFont::FONT_MISC_STATE u); - /// - LyXFont & setNoun(LyXFont::FONT_MISC_STATE n); - /// - LyXFont & setNumber(LyXFont::FONT_MISC_STATE n); - /// - LyXFont & setColor(LColor::color c); - /// - LyXFont & setLanguage(Language const * l); + void setFamily(LyXFont::FONT_FAMILY f); + void setSeries(LyXFont::FONT_SERIES s); + void setShape(LyXFont::FONT_SHAPE s); + void setSize(LyXFont::FONT_SIZE s); + void setEmph(LyXFont::FONT_MISC_STATE e); + void setUnderbar(LyXFont::FONT_MISC_STATE u); + void setNoun(LyXFont::FONT_MISC_STATE n); + void setNumber(LyXFont::FONT_MISC_STATE n); + void setColor(LColor_color c); + void setLanguage(Language const * l); /// Set family after LyX text format - LyXFont & setLyXFamily(string const &); + LyXFont & setLyXFamily(std::string const &); /// Set series after LyX text format - LyXFont & setLyXSeries(string const &); + LyXFont & setLyXSeries(std::string const &); /// Set shape after LyX text format - LyXFont & setLyXShape(string const &); + LyXFont & setLyXShape(std::string const &); /// Set size after LyX text format - LyXFont & setLyXSize(string const &); + LyXFont & setLyXSize(std::string const &); /// Returns misc flag after LyX text format - LyXFont::FONT_MISC_STATE setLyXMisc(string const &); + LyXFont::FONT_MISC_STATE setLyXMisc(std::string const &); /// Sets color after LyX text format - LyXFont & setLyXColor(string const &); + LyXFont & setLyXColor(std::string const &); /// Returns size of font in LaTeX text notation - string const latexSize() const; + std::string const latexSize() const; /** Updates font settings according to request. If an attribute is IGNORE, the attribute is left as it is. @@ -300,7 +289,7 @@ public: int latexWriteStartChanges(std::ostream &, LyXFont const & base, LyXFont const & prev) const; - /** Writes tha tail of the LaTeX needed to chagne to this font. + /** Writes the tail of the LaTeX needed to change to this font. Returns number of chars written. Base is the font state we want to achieve. */ @@ -308,14 +297,17 @@ public: LyXFont const & next) const; /// Build GUI description of font state - string const stateText(BufferParams * params) const; + std::string const stateText(BufferParams * params) const; /// - LColor::color realColor() const; + LColor_color realColor() const; /// friend bool operator==(LyXFont const & font1, LyXFont const & font2); + /// + friend + std::ostream & operator<<(std::ostream & os, LyXFont const & font); /// Converts logical attributes to concrete shape attribute LyXFont::FONT_SHAPE realShape() const; @@ -332,8 +324,10 @@ public: FONT_SHAPE shape; /// FONT_SIZE size; - /// - LColor::color color; + /** We store the LColor::color value as an int to get LColor.h out + * of the header file. + */ + int color; /// FONT_MISC_STATE emph; /// @@ -344,28 +338,39 @@ public: FONT_MISC_STATE number; }; private: - /// FontBits bits; - /// Language const * lang; - /// Sane font static FontBits sane; - /// All inherit font static FontBits inherit; - /// All ignore font static FontBits ignore; - /// Updates a misc setting according to request LyXFont::FONT_MISC_STATE setMisc(LyXFont::FONT_MISC_STATE newfont, LyXFont::FONT_MISC_STATE org); }; +/** \c LyXFont_size is a wrapper for LyXFont::FONT_SIZE. + * It can be forward-declared and passed as a function argument without + * having to expose lyxfont.h. + */ +class LyXFont_size { +public: + /// + LyXFont_size(LyXFont::FONT_SIZE val) : val_(val) {} + /// + operator LyXFont::FONT_SIZE() const { return val_; } +private: + /// + LyXFont::FONT_SIZE val_; +}; + + + inline LyXFont::FONT_SHAPE LyXFont::shape() const { @@ -440,8 +445,7 @@ bool operator!=(LyXFont::FontBits const & lhs, LyXFont::FontBits const & rhs) inline bool operator==(LyXFont const & font1, LyXFont const & font2) { - return font1.bits == font2.bits && - font1.lang == font2.lang; + return font1.bits == font2.bits && font1.lang == font2.lang; } /// @@ -451,5 +455,4 @@ bool operator!=(LyXFont const & font1, LyXFont const & font2) return !(font1 == font2); } - #endif