[CSS Grid Layout] Implement justify-self css property
[WebKit-https.git] / Source / WebCore / rendering / style / RenderStyleConstants.h
1 /*
2  * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3  *           (C) 2000 Antti Koivisto (koivisto@kde.org)
4  *           (C) 2000 Dirk Mueller (mueller@kde.org)
5  * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
6  * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7  * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public License
20  * along with this library; see the file COPYING.LIB.  If not, write to
21  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301, USA.
23  *
24  */
25
26 #ifndef RenderStyleConstants_h
27 #define RenderStyleConstants_h
28
29 namespace WebCore {
30
31 static const size_t PrintColorAdjustBits = 1;
32 enum PrintColorAdjust {
33     PrintColorAdjustEconomy,
34     PrintColorAdjustExact
35 };
36
37 // The difference between two styles.  The following values are used:
38 // - StyleDifferenceEqual - The two styles are identical
39 // - StyleDifferenceRecompositeLayer - The layer needs its position and transform updated, but no repaint
40 // - StyleDifferenceRepaint - The object just needs to be repainted.
41 // - StyleDifferenceRepaintIfTextOrBorderOrOutline - The object needs to be repainted if it contains text or a border or outline.
42 // - StyleDifferenceRepaintLayer - The layer and its descendant layers needs to be repainted.
43 // - StyleDifferenceLayoutPositionedMovementOnly - Only the position of this positioned object has been updated
44 // - StyleDifferenceSimplifiedLayout - Only overflow needs to be recomputed
45 // - StyleDifferenceSimplifiedLayoutAndPositionedMovement - Both positioned movement and simplified layout updates are required.
46 // - StyleDifferenceLayout - A full layout is required.
47 enum StyleDifference {
48     StyleDifferenceEqual,
49     StyleDifferenceRecompositeLayer,
50     StyleDifferenceRepaint,
51     StyleDifferenceRepaintIfTextOrBorderOrOutline,
52     StyleDifferenceRepaintLayer,
53     StyleDifferenceLayoutPositionedMovementOnly,
54     StyleDifferenceSimplifiedLayout,
55     StyleDifferenceSimplifiedLayoutAndPositionedMovement,
56     StyleDifferenceLayout
57 };
58
59 // When some style properties change, different amounts of work have to be done depending on
60 // context (e.g. whether the property is changing on an element which has a compositing layer).
61 // A simple StyleDifference does not provide enough information so we return a bit mask of
62 // StyleDifferenceContextSensitiveProperties from RenderStyle::diff() too.
63 enum StyleDifferenceContextSensitiveProperty {
64     ContextSensitivePropertyNone = 0,
65     ContextSensitivePropertyTransform = (1 << 0),
66     ContextSensitivePropertyOpacity = (1 << 1),
67     ContextSensitivePropertyFilter = (1 << 2)
68 };
69
70 // Static pseudo styles. Dynamic ones are produced on the fly.
71 enum PseudoId {
72     // The order must be NOP ID, public IDs, and then internal IDs.
73     NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, SELECTION, FIRST_LINE_INHERITED, SCROLLBAR,
74     // Internal IDs follow:
75     SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER, RESIZER,
76     AFTER_LAST_INTERNAL_PSEUDOID,
77     FIRST_PUBLIC_PSEUDOID = FIRST_LINE,
78     FIRST_INTERNAL_PSEUDOID = SCROLLBAR_THUMB,
79     PUBLIC_PSEUDOID_MASK = ((1 << FIRST_INTERNAL_PSEUDOID) - 1) & ~((1 << FIRST_PUBLIC_PSEUDOID) - 1)
80 };
81
82 enum ColumnFill { ColumnFillBalance, ColumnFillAuto };
83
84 enum ColumnSpan { ColumnSpanNone = 0, ColumnSpanAll };
85
86 enum EBorderCollapse { BSEPARATE = 0, BCOLLAPSE = 1 };
87
88 // These have been defined in the order of their precedence for border-collapsing. Do
89 // not change this order! This order also must match the order in CSSValueKeywords.in.
90 enum EBorderStyle { BNONE, BHIDDEN, INSET, GROOVE, OUTSET, RIDGE, DOTTED, DASHED, SOLID, DOUBLE };
91
92 enum EBorderPrecedence { BOFF, BTABLE, BCOLGROUP, BCOL, BROWGROUP, BROW, BCELL };
93
94 enum OutlineIsAuto { AUTO_OFF = 0, AUTO_ON };
95
96 enum EPosition {
97     StaticPosition = 0,
98     RelativePosition = 1,
99     AbsolutePosition = 2,
100     StickyPosition = 3,
101     // This value is required to pack our bits efficiently in RenderObject.
102     FixedPosition = 6
103 };
104
105 enum EFloat {
106     NoFloat, LeftFloat, RightFloat
107 };
108
109 enum EMarginCollapse { MCOLLAPSE, MSEPARATE, MDISCARD };
110
111 // Box decoration attributes. Not inherited.
112
113 enum EBoxDecorationBreak { DSLICE, DCLONE };
114
115 // Box attributes. Not inherited.
116
117 enum EBoxSizing { CONTENT_BOX, BORDER_BOX };
118
119 // Random visual rendering model attributes. Not inherited.
120
121 enum EOverflow {
122     OVISIBLE, OHIDDEN, OSCROLL, OAUTO, OOVERLAY, OMARQUEE, OPAGEDX, OPAGEDY
123 };
124
125 enum EVerticalAlign {
126     BASELINE, MIDDLE, SUB, SUPER, TEXT_TOP,
127     TEXT_BOTTOM, TOP, BOTTOM, BASELINE_MIDDLE, LENGTH
128 };
129
130 enum EClear {
131     CNONE = 0, CLEFT = 1, CRIGHT = 2, CBOTH = 3
132 };
133
134 enum ETableLayout {
135     TAUTO, TFIXED
136 };
137
138 enum TextCombine {
139     TextCombineNone, TextCombineHorizontal
140 };
141
142 enum EFillAttachment {
143     ScrollBackgroundAttachment, LocalBackgroundAttachment, FixedBackgroundAttachment
144 };
145
146 enum EFillBox {
147     BorderFillBox, PaddingFillBox, ContentFillBox, TextFillBox
148 };
149
150 enum EFillRepeat {
151     RepeatFill, NoRepeatFill, RoundFill, SpaceFill
152 };
153
154 enum EFillLayerType {
155     BackgroundFillLayer, MaskFillLayer
156 };
157
158 // CSS3 Background Values
159 enum EFillSizeType { Contain, Cover, SizeLength, SizeNone };
160
161 // CSS3 Background Position
162 enum BackgroundEdgeOrigin { TopEdge, RightEdge, BottomEdge, LeftEdge };
163
164 // CSS3 Mask Source Types
165 enum EMaskSourceType { MaskAlpha, MaskLuminance };
166
167 // CSS3 Marquee Properties
168
169 enum EMarqueeBehavior { MNONE, MSCROLL, MSLIDE, MALTERNATE };
170 enum EMarqueeDirection { MAUTO = 0, MLEFT = 1, MRIGHT = -1, MUP = 2, MDOWN = -2, MFORWARD = 3, MBACKWARD = -3 };
171
172 // Deprecated Flexible Box Properties
173
174 enum EBoxPack { Start, Center, End, Justify };
175 enum EBoxAlignment { BSTRETCH, BSTART, BCENTER, BEND, BBASELINE };
176 enum EBoxOrient { HORIZONTAL, VERTICAL };
177 enum EBoxLines { SINGLE, MULTIPLE };
178 enum EBoxDirection { BNORMAL, BREVERSE };
179
180 // CSS3 Flexbox Properties
181
182 enum EAlignContent { AlignContentFlexStart, AlignContentFlexEnd, AlignContentCenter, AlignContentSpaceBetween, AlignContentSpaceAround, AlignContentStretch };
183 enum EAlignItems { AlignAuto, AlignFlexStart, AlignFlexEnd, AlignCenter, AlignStretch, AlignBaseline };
184 enum EFlexDirection { FlowRow, FlowRowReverse, FlowColumn, FlowColumnReverse };
185 enum EFlexWrap { FlexNoWrap, FlexWrap, FlexWrapReverse };
186 enum EJustifyContent { JustifyFlexStart, JustifyFlexEnd, JustifyCenter, JustifySpaceBetween, JustifySpaceAround };
187 enum EJustifySelf {JustifySelfAuto, JustifySelfStretch, JustifySelfBaseline, JustifySelfCenter, JustifySelfStart, JustifySelfEnd, JustifySelfSelfStart, JustifySelfSelfEnd, JustifySelfFlexStart, JustifySelfFlexEnd, JustifySelfLeft, JustifySelfRight};
188 enum EJustifySelfOverflowAlignment {JustifySelfOverflowAlignmentDefault, JustifySelfOverflowAlignmentTrue, JustifySelfOverflowAlignmentSafe};
189
190
191 enum ETextSecurity {
192     TSNONE, TSDISC, TSCIRCLE, TSSQUARE
193 };
194
195 // CSS3 User Modify Properties
196
197 enum EUserModify {
198     READ_ONLY, READ_WRITE, READ_WRITE_PLAINTEXT_ONLY
199 };
200
201 // CSS3 User Drag Values
202
203 enum EUserDrag {
204     DRAG_AUTO, DRAG_NONE, DRAG_ELEMENT
205 };
206
207 // CSS3 User Select Values
208
209 enum EUserSelect {
210     SELECT_NONE, SELECT_TEXT, SELECT_ALL
211 };
212
213 // CSS3 Image Values
214 enum ObjectFit {
215     ObjectFitFill, ObjectFitContain, ObjectFitCover, ObjectFitNone, ObjectFitScaleDown
216 };
217
218 enum AspectRatioType {
219     AspectRatioAuto, AspectRatioFromIntrinsic, AspectRatioFromDimensions, AspectRatioSpecified
220 };
221
222 // Word Break Values. Matches WinIE, rather than CSS3
223
224 enum EWordBreak {
225     NormalWordBreak, BreakAllWordBreak, BreakWordBreak
226 };
227
228 enum EOverflowWrap {
229     NormalOverflowWrap, BreakOverflowWrap
230 };
231
232 enum ENBSPMode {
233     NBNORMAL, SPACE
234 };
235
236 enum LineBreak {
237     LineBreakAuto, LineBreakLoose, LineBreakNormal, LineBreakStrict, LineBreakAfterWhiteSpace
238 };
239
240 enum EResize {
241     RESIZE_NONE, RESIZE_BOTH, RESIZE_HORIZONTAL, RESIZE_VERTICAL
242 };
243
244 // The order of this enum must match the order of the list style types in CSSValueKeywords.in.
245 enum EListStyleType {
246     Disc,
247     Circle,
248     Square,
249     DecimalListStyle,
250     DecimalLeadingZero,
251     ArabicIndic,
252     BinaryListStyle,
253     Bengali,
254     Cambodian,
255     Khmer,
256     Devanagari,
257     Gujarati,
258     Gurmukhi,
259     Kannada,
260     LowerHexadecimal,
261     Lao,
262     Malayalam,
263     Mongolian,
264     Myanmar,
265     Octal,
266     Oriya,
267     Persian,
268     Urdu,
269     Telugu,
270     Tibetan,
271     Thai,
272     UpperHexadecimal,
273     LowerRoman,
274     UpperRoman,
275     LowerGreek,
276     LowerAlpha,
277     LowerLatin,
278     UpperAlpha,
279     UpperLatin,
280     Afar,
281     EthiopicHalehameAaEt,
282     EthiopicHalehameAaEr,
283     Amharic,
284     EthiopicHalehameAmEt,
285     AmharicAbegede,
286     EthiopicAbegedeAmEt,
287     CjkEarthlyBranch,
288     CjkHeavenlyStem,
289     Ethiopic,
290     EthiopicHalehameGez,
291     EthiopicAbegede,
292     EthiopicAbegedeGez,
293     HangulConsonant,
294     Hangul,
295     LowerNorwegian,
296     Oromo,
297     EthiopicHalehameOmEt,
298     Sidama,
299     EthiopicHalehameSidEt,
300     Somali,
301     EthiopicHalehameSoEt,
302     Tigre,
303     EthiopicHalehameTig,
304     TigrinyaEr,
305     EthiopicHalehameTiEr,
306     TigrinyaErAbegede,
307     EthiopicAbegedeTiEr,
308     TigrinyaEt,
309     EthiopicHalehameTiEt,
310     TigrinyaEtAbegede,
311     EthiopicAbegedeTiEt,
312     UpperGreek,
313     UpperNorwegian,
314     Asterisks,
315     Footnotes,
316     Hebrew,
317     Armenian,
318     LowerArmenian,
319     UpperArmenian,
320     Georgian,
321     CJKIdeographic,
322     Hiragana,
323     Katakana,
324     HiraganaIroha,
325     KatakanaIroha,
326     NoneListStyle
327 };
328
329 enum QuoteType {
330     OPEN_QUOTE, CLOSE_QUOTE, NO_OPEN_QUOTE, NO_CLOSE_QUOTE
331 };
332
333 enum EBorderFit { BorderFitBorder, BorderFitLines };
334
335 enum EAnimationFillMode { AnimationFillModeNone, AnimationFillModeForwards, AnimationFillModeBackwards, AnimationFillModeBoth };
336
337 enum EAnimPlayState {
338     AnimPlayStatePlaying = 0x0,
339     AnimPlayStatePaused = 0x1
340 };
341
342 enum EWhiteSpace {
343     NORMAL, PRE, PRE_WRAP, PRE_LINE, NOWRAP, KHTML_NOWRAP
344 };
345
346 // The order of this enum must match the order of the text align values in CSSValueKeywords.in.
347 enum ETextAlign {
348     LEFT, RIGHT, CENTER, JUSTIFY, WEBKIT_LEFT, WEBKIT_RIGHT, WEBKIT_CENTER, TASTART, TAEND,
349 };
350
351 enum ETextTransform {
352     CAPITALIZE, UPPERCASE, LOWERCASE, TTNONE
353 };
354
355 #if ENABLE(LETTERPRESS)
356 static const size_t TextDecorationBits = 5;
357 #else
358 static const size_t TextDecorationBits = 4;
359 #endif
360 enum TextDecoration {
361     TextDecorationNone = 0x0,
362     TextDecorationUnderline = 0x1,
363     TextDecorationOverline = 0x2,
364     TextDecorationLineThrough = 0x4,
365     TextDecorationBlink = 0x8,
366 #if ENABLE(LETTERPRESS)
367     TextDecorationLetterpress = 0x10,
368 #endif
369 };
370 inline TextDecoration operator| (TextDecoration a, TextDecoration b) { return TextDecoration(int(a) | int(b)); }
371 inline TextDecoration& operator|= (TextDecoration& a, TextDecoration b) { return a = a | b; }
372
373 enum TextDecorationStyle {
374     TextDecorationStyleSolid,
375     TextDecorationStyleDouble,
376     TextDecorationStyleDotted,
377     TextDecorationStyleDashed,
378     TextDecorationStyleWavy
379 };
380
381 #if ENABLE(CSS3_TEXT)
382 enum TextAlignLast {
383     TextAlignLastAuto, TextAlignLastStart, TextAlignLastEnd, TextAlignLastLeft, TextAlignLastRight, TextAlignLastCenter, TextAlignLastJustify
384 };
385
386 enum TextJustify {
387     TextJustifyAuto, TextJustifyNone, TextJustifyInterWord, TextJustifyInterIdeograph, TextJustifyInterCluster, TextJustifyDistribute, TextJustifyKashida
388 };
389 #endif // CSS3_TEXT
390
391 enum TextDecorationSkipItems {
392     TextDecorationSkipNone = 0,
393     TextDecorationSkipInk = 1 << 0,
394     TextDecorationSkipObjects = 1 << 1,
395     TextDecorationSkipAuto = 1 << 2
396 };
397 typedef unsigned TextDecorationSkip;
398
399 enum TextUnderlinePosition {
400     // FIXME: Implement support for 'under left' and 'under right' values.
401     TextUnderlinePositionAuto = 0x1, TextUnderlinePositionAlphabetic = 0x2, TextUnderlinePositionUnder = 0x4
402 };
403
404 enum EPageBreak {
405     PBAUTO, PBALWAYS, PBAVOID
406 };
407
408 enum EEmptyCell {
409     SHOW, HIDE
410 };
411
412 enum ECaptionSide {
413     CAPTOP, CAPBOTTOM, CAPLEFT, CAPRIGHT
414 };
415
416 enum EListStylePosition { OUTSIDE, INSIDE };
417
418 enum EVisibility { VISIBLE, HIDDEN, COLLAPSE };
419
420 enum ECursor {
421     // The following must match the order in CSSValueKeywords.in.
422     CURSOR_AUTO,
423     CURSOR_CROSS,
424     CURSOR_DEFAULT,
425     CURSOR_POINTER,
426     CURSOR_MOVE,
427     CURSOR_VERTICAL_TEXT,
428     CURSOR_CELL,
429     CURSOR_CONTEXT_MENU,
430     CURSOR_ALIAS,
431     CURSOR_PROGRESS,
432     CURSOR_NO_DROP,
433     CURSOR_NOT_ALLOWED,
434     CURSOR_WEBKIT_ZOOM_IN,
435     CURSOR_WEBKIT_ZOOM_OUT,
436     CURSOR_E_RESIZE,
437     CURSOR_NE_RESIZE,
438     CURSOR_NW_RESIZE,
439     CURSOR_N_RESIZE,
440     CURSOR_SE_RESIZE,
441     CURSOR_SW_RESIZE,
442     CURSOR_S_RESIZE,
443     CURSOR_W_RESIZE,
444     CURSOR_EW_RESIZE,
445     CURSOR_NS_RESIZE,
446     CURSOR_NESW_RESIZE,
447     CURSOR_NWSE_RESIZE,
448     CURSOR_COL_RESIZE,
449     CURSOR_ROW_RESIZE,
450     CURSOR_TEXT,
451     CURSOR_WAIT,
452     CURSOR_HELP,
453     CURSOR_ALL_SCROLL,
454     CURSOR_WEBKIT_GRAB,
455     CURSOR_WEBKIT_GRABBING,
456
457     // The following are handled as exceptions so don't need to match.
458     CURSOR_COPY,
459     CURSOR_NONE
460 };
461
462 #if ENABLE(CURSOR_VISIBILITY)
463 enum CursorVisibility {
464     CursorVisibilityAuto,
465     CursorVisibilityAutoHide,
466 };
467 #endif
468
469 // The order of this enum must match the order of the display values in CSSValueKeywords.in.
470 enum EDisplay {
471     INLINE, BLOCK, LIST_ITEM, COMPACT, INLINE_BLOCK,
472     TABLE, INLINE_TABLE, TABLE_ROW_GROUP,
473     TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, TABLE_ROW,
474     TABLE_COLUMN_GROUP, TABLE_COLUMN, TABLE_CELL,
475     TABLE_CAPTION, BOX, INLINE_BOX,
476     FLEX, INLINE_FLEX,
477 #if ENABLE(CSS_GRID_LAYOUT)
478     GRID, INLINE_GRID,
479 #endif
480     NONE
481 };
482
483 enum EInsideLink {
484     NotInsideLink, InsideUnvisitedLink, InsideVisitedLink
485 };
486     
487 enum EPointerEvents {
488     PE_NONE, PE_AUTO, PE_STROKE, PE_FILL, PE_PAINTED, PE_VISIBLE,
489     PE_VISIBLE_STROKE, PE_VISIBLE_FILL, PE_VISIBLE_PAINTED, PE_ALL
490 };
491
492 enum ETransformStyle3D {
493     TransformStyle3DFlat, TransformStyle3DPreserve3D
494 };
495
496 enum EBackfaceVisibility {
497     BackfaceVisibilityVisible, BackfaceVisibilityHidden
498 };
499     
500 enum ELineClampType { LineClampLineCount, LineClampPercentage };
501
502 enum Hyphens { HyphensNone, HyphensManual, HyphensAuto };
503
504 enum ESpeak { SpeakNone, SpeakNormal, SpeakSpellOut, SpeakDigits, SpeakLiteralPunctuation, SpeakNoPunctuation };
505
506 enum TextEmphasisFill { TextEmphasisFillFilled, TextEmphasisFillOpen };
507
508 enum TextEmphasisMark { TextEmphasisMarkNone, TextEmphasisMarkAuto, TextEmphasisMarkDot, TextEmphasisMarkCircle, TextEmphasisMarkDoubleCircle, TextEmphasisMarkTriangle, TextEmphasisMarkSesame, TextEmphasisMarkCustom };
509
510 enum TextEmphasisPositions {
511     TextEmphasisPositionOver = 1 << 0,
512     TextEmphasisPositionUnder = 1 << 1,
513     TextEmphasisPositionLeft = 1 << 2,
514     TextEmphasisPositionRight = 1 << 3
515 };
516 typedef unsigned TextEmphasisPosition;
517
518 enum TextOrientation { TextOrientationVerticalRight, TextOrientationUpright, TextOrientationSideways, TextOrientationSidewaysRight };
519
520 enum TextOverflow { TextOverflowClip = 0, TextOverflowEllipsis };
521
522 enum EImageRendering { ImageRenderingAuto = 0, ImageRenderingOptimizeSpeed, ImageRenderingOptimizeQuality, ImageRenderingCrispEdges };
523
524 enum ImageResolutionSource { ImageResolutionSpecified = 0, ImageResolutionFromImage };
525
526 enum ImageResolutionSnap { ImageResolutionNoSnap = 0, ImageResolutionSnapPixels };
527
528 enum Order { LogicalOrder = 0, VisualOrder };
529
530 enum RegionFragment { AutoRegionFragment, BreakRegionFragment };
531
532 enum ColumnAxis { HorizontalColumnAxis, VerticalColumnAxis, AutoColumnAxis };
533
534 enum ColumnProgression { NormalColumnProgression, ReverseColumnProgression };
535
536 enum LineSnap { LineSnapNone, LineSnapBaseline, LineSnapContain };
537
538 enum LineAlign { LineAlignNone, LineAlignEdges };
539
540 enum RubyPosition { RubyPositionBefore, RubyPositionAfter };
541
542 #if ENABLE(CSS_GRID_LAYOUT)
543 static const size_t GridAutoFlowBits = 5;
544 enum InternalGridAutoFlowAlgorithm {
545     InternalAutoFlowAlgorithmSparse = 0x1,
546     InternalAutoFlowAlgorithmDense = 0x2,
547     InternalAutoFlowAlgorithmStack = 0x4
548 };
549
550 enum InternalGridAutoFlowDirection {
551     InternalAutoFlowDirectionRow = 0x8,
552     InternalAutoFlowDirectionColumn = 0x10
553 };
554
555 enum GridAutoFlow {
556     AutoFlowRow = InternalAutoFlowAlgorithmSparse | InternalAutoFlowDirectionRow,
557     AutoFlowColumn = InternalAutoFlowAlgorithmSparse | InternalAutoFlowDirectionColumn,
558     AutoFlowRowDense = InternalAutoFlowAlgorithmDense | InternalAutoFlowDirectionRow,
559     AutoFlowColumnDense = InternalAutoFlowAlgorithmDense | InternalAutoFlowDirectionColumn,
560     AutoFlowStackRow = InternalAutoFlowAlgorithmStack | InternalAutoFlowDirectionRow,
561     AutoFlowStackColumn = InternalAutoFlowAlgorithmStack | InternalAutoFlowDirectionColumn
562 };
563 #endif
564
565 // Reasonable maximum to prevent insane font sizes from causing crashes on some platforms (such as Windows).
566 static const float maximumAllowedFontSize = 1000000.0f;
567
568 #if ENABLE(CSS3_TEXT)
569 enum TextIndentLine { TextIndentFirstLine, TextIndentEachLine };
570 enum TextIndentType { TextIndentNormal, TextIndentHanging };
571 #endif
572
573 enum Isolation { IsolationAuto, IsolationIsolate };
574
575 // Fill, Stroke, ViewBox are just used for SVG.
576 enum CSSBoxType { BoxMissing = 0, MarginBox, BorderBox, PaddingBox, ContentBox, Fill, Stroke, ViewBox };
577
578 } // namespace WebCore
579
580 #endif // RenderStyleConstants_h