14d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 24d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 34d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// found in the LICENSE file. 44d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 54d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 64d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 74d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#ifndef XFA_FDE_CSS_FDE_CSS_H_ 84d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#define XFA_FDE_CSS_FDE_CSS_H_ 94d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "core/fxge/fx_dib.h" 114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fgas/crt/fgas_stream.h" 124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fgas/crt/fgas_utils.h" 134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#include "xfa/fgas/font/cfgas_fontmgr.h" 144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum FDE_CSSVALUETYPE { 164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_Primitive = 1 << 0, 174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_List = 1 << 1, 184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_Shorthand = 1 << 2, 194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann // Note the values below this comment must be > 0x0F so we can mask the above. 204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_MaybeNumber = 1 << 4, 214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_MaybeEnum = 1 << 5, 224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_MaybeString = 1 << 7, 234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSVALUETYPE_MaybeColor = 1 << 8 244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSPrimitiveType : uint8_t { 274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Unknown = 0, 284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Number, 294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann String, 304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann RGB, 314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Enum, 324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Function, 334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann List, 344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSPropertyValue : uint8_t { 374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Bolder = 0, 384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann None, 394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Dot, 404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Sub, 414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Top, 424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Right, 434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Normal, 444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Auto, 454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Text, 464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann XSmall, 474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Thin, 484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Small, 494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Bottom, 504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Underline, 514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Double, 524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Lighter, 534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Oblique, 544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Super, 554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Center, 564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann XxLarge, 574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Smaller, 584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Baseline, 594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Thick, 604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Justify, 614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Middle, 624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Medium, 634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ListItem, 644d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann XxSmall, 654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Bold, 664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann SmallCaps, 674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Inline, 684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Overline, 694d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextBottom, 704d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Larger, 714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann InlineTable, 724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann InlineBlock, 734d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Blink, 744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Block, 754d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Italic, 764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann LineThrough, 774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann XLarge, 784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Large, 794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Left, 804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextTop, 814d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann LAST_MARKER 824d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSProperty : uint8_t { 854d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderLeft = 0, 864d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Top, 874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Margin, 884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextIndent, 894d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Right, 904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann PaddingLeft, 914d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann MarginLeft, 924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Border, 934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderTop, 944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Bottom, 954d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann PaddingRight, 964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderBottom, 974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FontFamily, 984d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FontWeight, 994d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Color, 1004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann LetterSpacing, 1014d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextAlign, 1024d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderRightWidth, 1034d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann VerticalAlign, 1044d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann PaddingTop, 1054d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FontVariant, 1064d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderWidth, 1074d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderBottomWidth, 1084d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderRight, 1094d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FontSize, 1104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderSpacing, 1114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FontStyle, 1124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Font, 1134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann LineHeight, 1144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann MarginRight, 1154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderLeftWidth, 1164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Display, 1174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann PaddingBottom, 1184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann BorderTopWidth, 1194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann WordSpacing, 1204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Left, 1214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextDecoration, 1224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Padding, 1234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann MarginBottom, 1244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann MarginTop, 1254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann LAST_MARKER 1264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1285ae9d0c6fd838a2967cca72aa5751b51dadc2769Philip P. Moltmannenum class FDE_CSSSelectorType : uint8_t { Element = 0, Descendant }; 1294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSLengthUnit : uint8_t { 1314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Auto, 1324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann None, 1334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Normal, 1344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Point, 1354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Percent, 1364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSDisplay : uint8_t { 1394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann None, 1404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann ListItem, 1414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Block, 1424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Inline, 1434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann InlineBlock, 1444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann InlineTable, 1454d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1464d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1474d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSFontStyle : uint8_t { 1484d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Normal, 1494d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Italic, 1504d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1514d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1524d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSTextAlign : uint8_t { 1534d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Left, 1544d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Right, 1554d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Center, 1564d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Justify, 1574d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann JustifyAll, 1584d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1594d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1604d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSVerticalAlign : uint8_t { 1614d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Baseline, 1624d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Sub, 1634d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Super, 1644d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Top, 1654d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextTop, 1664d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Middle, 1674d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Bottom, 1684d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann TextBottom, 1694d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Number, 1704d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1714d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1724d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum class FDE_CSSFontVariant : uint8_t { 1734d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann Normal, 1744d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann SmallCaps, 1754d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1764d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1774d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannenum FDE_CSSTEXTDECORATION { 1784d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSTEXTDECORATION_None = 0, 1794d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSTEXTDECORATION_Underline = 1 << 0, 1804d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSTEXTDECORATION_Overline = 1 << 1, 1814d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSTEXTDECORATION_LineThrough = 1 << 2, 1824d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSTEXTDECORATION_Blink = 1 << 3, 1834d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSTEXTDECORATION_Double = 1 << 4, 1844d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 1854d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1864d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannclass FDE_CSSLength { 1874d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann public: 1884d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLength() {} 1894d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1904d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann explicit FDE_CSSLength(FDE_CSSLengthUnit eUnit) : m_unit(eUnit) {} 1914d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1924d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLength(FDE_CSSLengthUnit eUnit, FX_FLOAT fValue) 1934d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann : m_unit(eUnit), m_fValue(fValue) {} 1944d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 1954d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLength& Set(FDE_CSSLengthUnit eUnit) { 1964d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann m_unit = eUnit; 1974d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return *this; 1984d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann } 1994d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2004d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLength& Set(FDE_CSSLengthUnit eUnit, FX_FLOAT fValue) { 2014d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann m_unit = eUnit; 2024d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann m_fValue = fValue; 2034d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return *this; 2044d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann } 2054d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2064d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLengthUnit GetUnit() const { return m_unit; } 2074d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2084d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FX_FLOAT GetValue() const { return m_fValue; } 2094d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann bool NonZero() const { return static_cast<int>(m_fValue) != 0; } 2104d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2114d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann private: 2124d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLengthUnit m_unit; 2134d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FX_FLOAT m_fValue; 2144d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 2154d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2164d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmannclass FDE_CSSRect { 2174d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann public: 2184d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSRect() {} 2194d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2204d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSRect(FDE_CSSLengthUnit eUnit, FX_FLOAT val) 2214d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann : left(eUnit, val), 2224d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann top(eUnit, val), 2234d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann right(eUnit, val), 2244d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann bottom(eUnit, val) {} 2254d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2264d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSRect& Set(FDE_CSSLengthUnit eUnit) { 2274d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann left.Set(eUnit); 2284d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann top.Set(eUnit); 2294d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann right.Set(eUnit); 2304d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann bottom.Set(eUnit); 2314d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return *this; 2324d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann } 2334d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSRect& Set(FDE_CSSLengthUnit eUnit, FX_FLOAT fValue) { 2344d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann left.Set(eUnit, fValue); 2354d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann top.Set(eUnit, fValue); 2364d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann right.Set(eUnit, fValue); 2374d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann bottom.Set(eUnit, fValue); 2384d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann return *this; 2394d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann } 2404d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2414d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann FDE_CSSLength left, top, right, bottom; 2424d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann}; 2434d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann 2444d3acf4ec42bf6e838f9060103aff98fbf170794Philip P. Moltmann#endif // XFA_FDE_CSS_FDE_CSS_H_ 245