Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: Source/core/rendering/style/RenderStyleConstants.h

Issue 61753010: Move CSSAnimationData and CSSAnimationDataList to platform/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/rendering/style/RenderStyle.h ('k') | Source/core/rendering/style/SVGRenderStyle.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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.torchmo bile.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 enum StyleRecalcChange {
32 NoChange,
33 NoInherit,
34 Inherit,
35 Force,
36 Reattach,
37 };
38
39 static const size_t PrintColorAdjustBits = 1;
40 enum PrintColorAdjust {
41 PrintColorAdjustEconomy,
42 PrintColorAdjustExact
43 };
44
45 // The difference between two styles. The following values are used:
46 // (1) StyleDifferenceEqual - The two styles are identical.
47 // (2) StyleDifferenceRecompositeLayer - The layer needs its position and transf orm updated, but no repaint.
48 // (3) StyleDifferenceRepaint - The object just needs to be repainted.
49 // (4) StyleDifferenceRepaintIfTextOrColorChange - The object needs to be repain ted if it contains text or properties dependent on color (e.g., border or outlin e).
50 // (5) StyleDifferenceRepaintLayer - The layer and its descendant layers needs t o be repainted.
51 // (6) StyleDifferenceLayoutPositionedMovementOnly - Only the position of this p ositioned object has been updated.
52 // (7) StyleDifferenceSimplifiedLayout - Only overflow needs to be recomputed.
53 // (8) StyleDifferenceSimplifiedLayoutAndPositionedMovement - Both positioned mo vement and simplified layout updates are required.
54 // (9) StyleDifferenceLayout - A full layout is required.
55 enum StyleDifference {
56 StyleDifferenceEqual,
57 StyleDifferenceRecompositeLayer,
58 StyleDifferenceRepaint,
59 StyleDifferenceRepaintIfTextOrColorChange,
60 StyleDifferenceRepaintLayer,
61 StyleDifferenceLayoutPositionedMovementOnly,
62 StyleDifferenceSimplifiedLayout,
63 StyleDifferenceSimplifiedLayoutAndPositionedMovement,
64 StyleDifferenceLayout
65 };
66
67 // When some style properties change, different amounts of work have to be done depending on
68 // context (e.g. whether the property is changing on an element which has a comp ositing layer).
69 // A simple StyleDifference does not provide enough information so we return a b it mask of
70 // StyleDifferenceContextSensitiveProperties from RenderStyle::diff() too.
71 enum StyleDifferenceContextSensitiveProperty {
72 ContextSensitivePropertyNone = 0,
73 ContextSensitivePropertyTransform = (1 << 0),
74 ContextSensitivePropertyOpacity = (1 << 1),
75 ContextSensitivePropertyFilter = (1 << 2)
76 };
77
78 // Static pseudo styles. Dynamic ones are produced on the fly.
79 enum PseudoId {
80 // The order must be NOP ID, public IDs, and then internal IDs.
81 // If you add or remove a public ID, you must update _pseudoBits in RenderSt yle.
82 NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, BACKDROP, SELECTION, FIRS T_LINE_INHERITED, SCROLLBAR,
83 // Internal IDs follow:
84 SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, S CROLLBAR_CORNER, RESIZER,
85 INPUT_LIST_BUTTON,
86 AFTER_LAST_INTERNAL_PSEUDOID,
87 FULL_SCREEN, FULL_SCREEN_DOCUMENT, FULL_SCREEN_ANCESTOR,
88 FIRST_PUBLIC_PSEUDOID = FIRST_LINE,
89 FIRST_INTERNAL_PSEUDOID = SCROLLBAR_THUMB,
90 PUBLIC_PSEUDOID_MASK = ((1 << FIRST_INTERNAL_PSEUDOID) - 1) & ~((1 << FIRST_ PUBLIC_PSEUDOID) - 1)
91 };
92
93 enum ColumnFill { ColumnFillBalance, ColumnFillAuto };
94
95 enum ColumnSpan { ColumnSpanNone = 0, ColumnSpanAll };
96
97 enum EBorderCollapse { BSEPARATE = 0, BCOLLAPSE = 1 };
98
99 // These have been defined in the order of their precedence for border-collapsin g. Do
100 // not change this order! This order also must match the order in CSSValueKeywor ds.in.
101 enum EBorderStyle { BNONE, BHIDDEN, INSET, GROOVE, OUTSET, RIDGE, DOTTED, DASHED , SOLID, DOUBLE };
102
103 enum EBorderPrecedence { BOFF, BTABLE, BCOLGROUP, BCOL, BROWGROUP, BROW, BCELL } ;
104
105 enum OutlineIsAuto { AUTO_OFF = 0, AUTO_ON };
106
107 enum EPosition {
108 StaticPosition = 0,
109 RelativePosition = 1,
110 AbsolutePosition = 2,
111 StickyPosition = 3,
112 // This value is required to pack our bits efficiently in RenderObject.
113 FixedPosition = 6
114 };
115
116 enum EFloat {
117 NoFloat, LeftFloat, RightFloat
118 };
119
120 enum EMarginCollapse { MCOLLAPSE, MSEPARATE, MDISCARD };
121
122 // Box decoration attributes. Not inherited.
123
124 enum EBoxDecorationBreak { DSLICE, DCLONE };
125
126 // Box attributes. Not inherited.
127
128 enum EBoxSizing { CONTENT_BOX, BORDER_BOX };
129
130 // Random visual rendering model attributes. Not inherited.
131
132 enum EOverflow {
133 OVISIBLE, OHIDDEN, OSCROLL, OAUTO, OOVERLAY, OPAGEDX, OPAGEDY
134 };
135
136 enum EVerticalAlign {
137 BASELINE, MIDDLE, SUB, SUPER, TEXT_TOP,
138 TEXT_BOTTOM, TOP, BOTTOM, BASELINE_MIDDLE, LENGTH
139 };
140
141 enum EClear {
142 CNONE = 0, CLEFT = 1, CRIGHT = 2, CBOTH = 3
143 };
144
145 enum ETableLayout {
146 TAUTO, TFIXED
147 };
148
149 enum TextCombine {
150 TextCombineNone, TextCombineHorizontal
151 };
152
153 enum EFillAttachment {
154 ScrollBackgroundAttachment, LocalBackgroundAttachment, FixedBackgroundAttach ment
155 };
156
157 enum EFillBox {
158 BorderFillBox, PaddingFillBox, ContentFillBox, TextFillBox
159 };
160
161 enum EFillRepeat {
162 RepeatFill, NoRepeatFill, RoundFill, SpaceFill
163 };
164
165 enum EFillLayerType {
166 BackgroundFillLayer, MaskFillLayer
167 };
168
169 // CSS3 Background Values
170 enum EFillSizeType { Contain, Cover, SizeLength, SizeNone };
171
172 // CSS3 Background Position
173 enum BackgroundEdgeOrigin { TopEdge, RightEdge, BottomEdge, LeftEdge };
174
175 // CSS Mask Source Types
176 enum EMaskSourceType { MaskAlpha, MaskLuminance };
177
178 // CSS3 Marquee Properties
179
180 enum EMarqueeBehavior { MNONE, MSCROLL, MSLIDE, MALTERNATE };
181 enum EMarqueeDirection { MAUTO = 0, MLEFT = 1, MRIGHT = -1, MUP = 2, MDOWN = -2, MFORWARD = 3, MBACKWARD = -3 };
182
183 // Deprecated Flexible Box Properties
184
185 enum EBoxPack { Start, Center, End, Justify };
186 enum EBoxAlignment { BSTRETCH, BSTART, BCENTER, BEND, BBASELINE };
187 enum EBoxOrient { HORIZONTAL, VERTICAL };
188 enum EBoxLines { SINGLE, MULTIPLE };
189 enum EBoxDirection { BNORMAL, BREVERSE };
190
191 // CSS3 Flexbox Properties
192
193 enum EAlignContent { AlignContentFlexStart, AlignContentFlexEnd, AlignContentCen ter, AlignContentSpaceBetween, AlignContentSpaceAround, AlignContentStretch };
194 enum EAlignItems { AlignAuto, AlignFlexStart, AlignFlexEnd, AlignCenter, AlignSt retch, AlignBaseline };
195 enum EFlexDirection { FlowRow, FlowRowReverse, FlowColumn, FlowColumnReverse };
196 enum EFlexWrap { FlexNoWrap, FlexWrap, FlexWrapReverse };
197 enum EJustifyContent { JustifyFlexStart, JustifyFlexEnd, JustifyCenter, JustifyS paceBetween, JustifySpaceAround };
198
199 enum ETextSecurity {
200 TSNONE, TSDISC, TSCIRCLE, TSSQUARE
201 };
202
203 // CSS3 User Modify Properties
204
205 enum EUserModify {
206 READ_ONLY, READ_WRITE, READ_WRITE_PLAINTEXT_ONLY
207 };
208
209 // CSS3 User Drag Values
210
211 enum EUserDrag {
212 DRAG_AUTO, DRAG_NONE, DRAG_ELEMENT
213 };
214
215 // CSS3 User Select Values
216
217 enum EUserSelect {
218 SELECT_NONE, SELECT_TEXT, SELECT_ALL
219 };
220
221 // CSS3 Image Values
222 enum ObjectFit { ObjectFitFill, ObjectFitContain, ObjectFitCover, ObjectFitNone, ObjectFitScaleDown };
223
224 // Word Break Values. Matches WinIE, rather than CSS3
225
226 enum EWordBreak {
227 NormalWordBreak, BreakAllWordBreak, BreakWordBreak
228 };
229
230 enum EOverflowWrap {
231 NormalOverflowWrap, BreakOverflowWrap
232 };
233
234 enum LineBreak {
235 LineBreakAuto, LineBreakLoose, LineBreakNormal, LineBreakStrict, LineBreakAf terWhiteSpace
236 };
237
238 enum EResize {
239 RESIZE_NONE, RESIZE_BOTH, RESIZE_HORIZONTAL, RESIZE_VERTICAL
240 };
241
242 // The order of this enum must match the order of the list style types in CSSVal ueKeywords.in.
243 enum EListStyleType {
244 Disc,
245 Circle,
246 Square,
247 DecimalListStyle,
248 DecimalLeadingZero,
249 ArabicIndic,
250 BinaryListStyle,
251 Bengali,
252 Cambodian,
253 Khmer,
254 Devanagari,
255 Gujarati,
256 Gurmukhi,
257 Kannada,
258 LowerHexadecimal,
259 Lao,
260 Malayalam,
261 Mongolian,
262 Myanmar,
263 Octal,
264 Oriya,
265 Persian,
266 Urdu,
267 Telugu,
268 Tibetan,
269 Thai,
270 UpperHexadecimal,
271 LowerRoman,
272 UpperRoman,
273 LowerGreek,
274 LowerAlpha,
275 LowerLatin,
276 UpperAlpha,
277 UpperLatin,
278 Afar,
279 EthiopicHalehameAaEt,
280 EthiopicHalehameAaEr,
281 Amharic,
282 EthiopicHalehameAmEt,
283 AmharicAbegede,
284 EthiopicAbegedeAmEt,
285 CjkEarthlyBranch,
286 CjkHeavenlyStem,
287 Ethiopic,
288 EthiopicHalehameGez,
289 EthiopicAbegede,
290 EthiopicAbegedeGez,
291 HangulConsonant,
292 Hangul,
293 LowerNorwegian,
294 Oromo,
295 EthiopicHalehameOmEt,
296 Sidama,
297 EthiopicHalehameSidEt,
298 Somali,
299 EthiopicHalehameSoEt,
300 Tigre,
301 EthiopicHalehameTig,
302 TigrinyaEr,
303 EthiopicHalehameTiEr,
304 TigrinyaErAbegede,
305 EthiopicAbegedeTiEr,
306 TigrinyaEt,
307 EthiopicHalehameTiEt,
308 TigrinyaEtAbegede,
309 EthiopicAbegedeTiEt,
310 UpperGreek,
311 UpperNorwegian,
312 Asterisks,
313 Footnotes,
314 Hebrew,
315 Armenian,
316 LowerArmenian,
317 UpperArmenian,
318 Georgian,
319 CJKIdeographic,
320 Hiragana,
321 Katakana,
322 HiraganaIroha,
323 KatakanaIroha,
324 NoneListStyle
325 };
326
327 enum QuoteType {
328 OPEN_QUOTE, CLOSE_QUOTE, NO_OPEN_QUOTE, NO_CLOSE_QUOTE
329 };
330
331 enum EBorderFit { BorderFitBorder, BorderFitLines };
332
333 enum EAnimationFillMode { AnimationFillModeNone, AnimationFillModeForwards, Anim ationFillModeBackwards, AnimationFillModeBoth };
334
335 enum EAnimPlayState {
336 AnimPlayStatePlaying = 0x0,
337 AnimPlayStatePaused = 0x1
338 };
339
340 enum EWhiteSpace {
341 NORMAL, PRE, PRE_WRAP, PRE_LINE, NOWRAP, KHTML_NOWRAP
342 };
343
344 // The order of this enum must match the order of the text align values in CSSVa lueKeywords.in.
345 enum ETextAlign {
346 LEFT, RIGHT, CENTER, JUSTIFY, WEBKIT_LEFT, WEBKIT_RIGHT, WEBKIT_CENTER, TAST ART, TAEND,
347 };
348
349 enum ETextTransform {
350 CAPITALIZE, UPPERCASE, LOWERCASE, TTNONE
351 };
352
353 static const size_t TextDecorationBits = 4;
354 enum TextDecoration {
355 TextDecorationNone = 0x0,
356 TextDecorationUnderline = 0x1,
357 TextDecorationOverline = 0x2,
358 TextDecorationLineThrough = 0x4,
359 TextDecorationBlink = 0x8
360 };
361 inline TextDecoration operator| (TextDecoration a, TextDecoration b) { return Te xtDecoration(int(a) | int(b)); }
362 inline TextDecoration& operator|= (TextDecoration& a, TextDecoration b) { return a = a | b; }
363
364 enum TextDecorationStyle {
365 TextDecorationStyleSolid,
366 TextDecorationStyleDouble,
367 TextDecorationStyleDotted,
368 TextDecorationStyleDashed,
369 TextDecorationStyleWavy
370 };
371
372 enum TextAlignLast {
373 TextAlignLastAuto, TextAlignLastStart, TextAlignLastEnd, TextAlignLastLeft, TextAlignLastRight, TextAlignLastCenter, TextAlignLastJustify
374 };
375
376 enum TextJustify {
377 TextJustifyAuto, TextJustifyNone, TextJustifyInterWord, TextJustifyDistribut e
378 };
379
380 enum TextUnderlinePosition {
381 // FIXME: Implement support for 'under left' and 'under right' values.
382 TextUnderlinePositionAuto = 0x1,
383 TextUnderlinePositionUnder = 0x2
384 };
385
386 enum EPageBreak {
387 PBAUTO, PBALWAYS, PBAVOID
388 };
389
390 enum EEmptyCell {
391 SHOW, HIDE
392 };
393
394 enum ECaptionSide {
395 CAPTOP, CAPBOTTOM, CAPLEFT, CAPRIGHT
396 };
397
398 enum EListStylePosition { OUTSIDE, INSIDE };
399
400 enum EVisibility { VISIBLE, HIDDEN, COLLAPSE };
401
402 enum ECursor {
403 // The following must match the order in CSSValueKeywords.in.
404 CURSOR_AUTO,
405 CURSOR_CROSS,
406 CURSOR_DEFAULT,
407 CURSOR_POINTER,
408 CURSOR_MOVE,
409 CURSOR_VERTICAL_TEXT,
410 CURSOR_CELL,
411 CURSOR_CONTEXT_MENU,
412 CURSOR_ALIAS,
413 CURSOR_PROGRESS,
414 CURSOR_NO_DROP,
415 CURSOR_NOT_ALLOWED,
416 CURSOR_WEBKIT_ZOOM_IN,
417 CURSOR_WEBKIT_ZOOM_OUT,
418 CURSOR_E_RESIZE,
419 CURSOR_NE_RESIZE,
420 CURSOR_NW_RESIZE,
421 CURSOR_N_RESIZE,
422 CURSOR_SE_RESIZE,
423 CURSOR_SW_RESIZE,
424 CURSOR_S_RESIZE,
425 CURSOR_W_RESIZE,
426 CURSOR_EW_RESIZE,
427 CURSOR_NS_RESIZE,
428 CURSOR_NESW_RESIZE,
429 CURSOR_NWSE_RESIZE,
430 CURSOR_COL_RESIZE,
431 CURSOR_ROW_RESIZE,
432 CURSOR_TEXT,
433 CURSOR_WAIT,
434 CURSOR_HELP,
435 CURSOR_ALL_SCROLL,
436 CURSOR_WEBKIT_GRAB,
437 CURSOR_WEBKIT_GRABBING,
438
439 // The following are handled as exceptions so don't need to match.
440 CURSOR_COPY,
441 CURSOR_NONE
442 };
443
444 // The order of this enum must match the order of the display values in CSSValue Keywords.in.
445 enum EDisplay {
446 INLINE, BLOCK, LIST_ITEM, INLINE_BLOCK,
447 TABLE, INLINE_TABLE, TABLE_ROW_GROUP,
448 TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, TABLE_ROW,
449 TABLE_COLUMN_GROUP, TABLE_COLUMN, TABLE_CELL,
450 TABLE_CAPTION, BOX, INLINE_BOX,
451 FLEX, INLINE_FLEX,
452 GRID, INLINE_GRID,
453 NONE
454 };
455
456 enum EInsideLink {
457 NotInsideLink, InsideUnvisitedLink, InsideVisitedLink
458 };
459
460 enum EPointerEvents {
461 PE_NONE, PE_AUTO, PE_STROKE, PE_FILL, PE_PAINTED, PE_VISIBLE,
462 PE_VISIBLE_STROKE, PE_VISIBLE_FILL, PE_VISIBLE_PAINTED, PE_ALL
463 };
464
465 enum ETransformStyle3D {
466 TransformStyle3DFlat, TransformStyle3DPreserve3D
467 };
468
469 enum EBackfaceVisibility {
470 BackfaceVisibilityVisible, BackfaceVisibilityHidden
471 };
472
473 enum ELineClampType { LineClampLineCount, LineClampPercentage };
474
475 enum Hyphens { HyphensNone, HyphensManual, HyphensAuto };
476
477 enum ESpeak { SpeakNone, SpeakNormal, SpeakSpellOut, SpeakDigits, SpeakLiteralPu nctuation, SpeakNoPunctuation };
478
479 enum TextEmphasisFill { TextEmphasisFillFilled, TextEmphasisFillOpen };
480
481 enum TextEmphasisMark { TextEmphasisMarkNone, TextEmphasisMarkAuto, TextEmphasis MarkDot, TextEmphasisMarkCircle, TextEmphasisMarkDoubleCircle, TextEmphasisMarkT riangle, TextEmphasisMarkSesame, TextEmphasisMarkCustom };
482
483 enum TextEmphasisPosition { TextEmphasisPositionOver, TextEmphasisPositionUnder };
484
485 enum TextOrientation { TextOrientationVerticalRight, TextOrientationUpright, Tex tOrientationSideways, TextOrientationSidewaysRight };
486
487 enum TextOverflow { TextOverflowClip = 0, TextOverflowEllipsis };
488
489 enum EImageRendering { ImageRenderingAuto, ImageRenderingOptimizeSpeed, ImageRen deringOptimizeQuality, ImageRenderingOptimizeContrast };
490
491 enum ImageResolutionSource { ImageResolutionSpecified = 0, ImageResolutionFromIm age };
492
493 enum ImageResolutionSnap { ImageResolutionNoSnap = 0, ImageResolutionSnapPixels };
494
495 enum Order { LogicalOrder = 0, VisualOrder };
496
497 enum RegionFragment { AutoRegionFragment, BreakRegionFragment };
498
499 enum ColumnAxis { HorizontalColumnAxis, VerticalColumnAxis, AutoColumnAxis };
500
501 enum ColumnProgression { NormalColumnProgression, ReverseColumnProgression };
502
503 enum LineSnap { LineSnapNone, LineSnapBaseline, LineSnapContain };
504
505 enum LineAlign { LineAlignNone, LineAlignEdges };
506
507 enum WrapFlow { WrapFlowAuto, WrapFlowBoth, WrapFlowStart, WrapFlowEnd, WrapFlow Maximum, WrapFlowClear };
508
509 enum WrapThrough { WrapThroughWrap, WrapThroughNone };
510
511 enum RubyPosition { RubyPositionBefore, RubyPositionAfter };
512
513 enum GridAutoFlow { AutoFlowNone, AutoFlowColumn, AutoFlowRow };
514
515 enum DraggableRegionMode { DraggableRegionNone, DraggableRegionDrag, DraggableRe gionNoDrag };
516
517 enum TouchAction { TouchActionAuto, TouchActionNone };
518
519 enum EIsolation { IsolationAuto, IsolationIsolate };
520
521 enum TouchActionDelay { TouchActionDelayNone, TouchActionDelayScript };
522
523 // Reasonable maximum to prevent insane font sizes from causing crashes on some platforms (such as Windows).
524 static const float maximumAllowedFontSize = 1000000.0f;
525
526 enum TextIndentLine { TextIndentFirstLine, TextIndentEachLine };
527
528 } // namespace WebCore
529
530 #endif // RenderStyleConstants_h
OLDNEW
« no previous file with comments | « Source/core/rendering/style/RenderStyle.h ('k') | Source/core/rendering/style/SVGRenderStyle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698