StyleRareInheritedData.h [plain text]
#pragma once
#include "Color.h"
#include "DataRef.h"
#include "Length.h"
#include "StyleCustomPropertyData.h"
#include <wtf/RefCounted.h>
#include <wtf/text/AtomicString.h>
#if ENABLE(TEXT_AUTOSIZING)
#include "TextSizeAdjustment.h"
#endif
namespace WebCore {
class CursorList;
class QuotesData;
class ShadowData;
class StyleImage;
class StyleRareInheritedData : public RefCounted<StyleRareInheritedData> {
public:
static Ref<StyleRareInheritedData> create() { return adoptRef(*new StyleRareInheritedData); }
Ref<StyleRareInheritedData> copy() const;
~StyleRareInheritedData();
bool operator==(const StyleRareInheritedData& o) const;
bool operator!=(const StyleRareInheritedData& o) const
{
return !(*this == o);
}
RefPtr<StyleImage> listStyleImage;
Color textStrokeColor;
float textStrokeWidth;
Color textFillColor;
Color textEmphasisColor;
Color visitedLinkTextStrokeColor;
Color visitedLinkTextFillColor;
Color visitedLinkTextEmphasisColor;
Color caretColor;
Color visitedLinkCaretColor;
std::unique_ptr<ShadowData> textShadow;
RefPtr<CursorList> cursorData;
Length indent;
float effectiveZoom;
Length wordSpacing;
DataRef<StyleCustomPropertyData> customProperties;
short widows;
short orphans;
unsigned hasAutoWidows : 1;
unsigned hasAutoOrphans : 1;
unsigned textSecurity : 2; unsigned userModify : 2; unsigned wordBreak : 2; unsigned overflowWrap : 1; unsigned nbspMode : 1; unsigned lineBreak : 3; unsigned userSelect : 2; unsigned colorSpace : 1; unsigned speak : 3; unsigned hyphens : 2; unsigned textEmphasisFill : 1; unsigned textEmphasisMark : 3; unsigned textEmphasisPosition : 4; unsigned textOrientation : 2; #if ENABLE(CSS3_TEXT)
unsigned textIndentLine : 1; unsigned textIndentType : 1; #endif
unsigned lineBoxContain: 7; #if ENABLE(CSS_IMAGE_ORIENTATION)
unsigned imageOrientation : 4; #endif
unsigned imageRendering : 3; unsigned lineSnap : 2; unsigned lineAlign : 1; #if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
unsigned useTouchOverflowScrolling: 1;
#endif
#if ENABLE(CSS_IMAGE_RESOLUTION)
unsigned imageResolutionSource : 1; unsigned imageResolutionSnap : 1; #endif
#if ENABLE(CSS3_TEXT)
unsigned textAlignLast : 3; unsigned textJustify : 2; #endif
unsigned textDecorationSkip : 5; unsigned textUnderlinePosition : 3; unsigned rubyPosition : 2; unsigned textZoom: 1;
#if PLATFORM(IOS)
unsigned touchCalloutEnabled : 1;
#endif
#if ENABLE(CSS_TRAILING_WORD)
unsigned trailingWord : 1;
#endif
unsigned hangingPunctuation : 4;
unsigned paintOrder : 3; unsigned capStyle : 2; unsigned joinStyle : 2; unsigned hasSetStrokeWidth : 1;
unsigned hasSetStrokeColor : 1;
Length strokeWidth;
Color strokeColor;
Color visitedLinkStrokeColor;
float miterLimit;
AtomicString hyphenationString;
short hyphenationLimitBefore;
short hyphenationLimitAfter;
short hyphenationLimitLines;
AtomicString textEmphasisCustomMark;
RefPtr<QuotesData> quotes;
AtomicString lineGrid;
unsigned tabSize;
#if ENABLE(TEXT_AUTOSIZING)
TextSizeAdjustment textSizeAdjust;
#endif
#if ENABLE(CSS_IMAGE_RESOLUTION)
float imageResolution;
#endif
#if ENABLE(TOUCH_EVENTS)
Color tapHighlightColor;
#endif
private:
StyleRareInheritedData();
StyleRareInheritedData(const StyleRareInheritedData&);
};
}