// Scintilla source code edit control /** @file Style.h ** Defines the font and colour style for a class of text. **/ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. #ifndef STYLE_H #define STYLE_H /** */ class Style { public: ColourPair fore; ColourPair back; bool aliasOfDefaultFont; bool bold; bool italic; int size; const char *fontName; int characterSet; bool eolFilled; bool underline; enum ecaseForced {caseMixed, caseUpper, caseLower}; ecaseForced caseForce; bool visible; bool changeable; bool hotspot; Font font; int sizeZoomed; unsigned int lineHeight; unsigned int ascent; unsigned int descent; unsigned int externalLeading; unsigned int aveCharWidth; unsigned int spaceWidth; Style(); Style(const Style &source); ~Style(); Style &operator=(const Style &source); void Clear(ColourDesired fore_, ColourDesired back_, int size_, const char *fontName_, int characterSet_, bool bold_, bool italic_, bool eolFilled_, bool underline_, ecaseForced caseForce_, bool visible_, bool changeable_, bool hotspot_); void ClearTo(const Style &source); bool EquivalentFontTo(const Style *other) const; void Realise(Surface &surface, int zoomLevel, Style *defaultStyle = 0, bool extraFontFlag = false); bool IsProtected() const { return !(changeable && visible);}; }; #endif