OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "xfa/fde/css/fde_cssstyleselector.h" | 7 #include "xfa/fde/css/fde_cssstyleselector.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "xfa/fde/css/fde_csscache.h" | 12 #include "xfa/fde/css/fde_csscache.h" |
13 #include "xfa/fde/css/fde_cssdeclaration.h" | 13 #include "xfa/fde/css/fde_cssdeclaration.h" |
14 #include "xfa/fde/css/fde_cssstylesheet.h" | 14 #include "xfa/fde/css/fde_cssstylesheet.h" |
15 #include "xfa/fde/css/fde_csssyntax.h" | 15 #include "xfa/fde/css/fde_csssyntax.h" |
16 #include "xfa/fxfa/app/xfa_textlayout.h" | 16 #include "xfa/fxfa/app/xfa_textlayout.h" |
17 | 17 |
18 #define FDE_CSSUNIVERSALHASH ('*') | 18 #define FDE_CSSUNIVERSALHASH ('*') |
19 | 19 |
20 int32_t CFDE_CSSCounterStyle::FindIndex(const FX_WCHAR* pszIdentifier) { | 20 int32_t CFDE_CSSCounterStyle::FindIndex(const FX_WCHAR* pszIdentifier) { |
21 int32_t iCount = m_arrCounterData.GetSize(); | 21 int32_t iCount = m_arrCounterData.GetSize(); |
22 for (int32_t i = 0; i < iCount; i++) { | 22 for (int32_t i = 0; i < iCount; i++) { |
23 if (FXSYS_wcscmp(pszIdentifier, m_arrCounterData.ElementAt(i).m_pszIdent) == | 23 if (FXSYS_wcscmp(pszIdentifier, m_arrCounterData.ElementAt(i).m_pszIdent) == |
24 0) { | 24 0) { |
25 return i; | 25 return i; |
26 } | 26 } |
27 } | 27 } |
28 return -1; | 28 return -1; |
29 } | 29 } |
| 30 |
30 void CFDE_CSSCounterStyle::DoUpdateIndex(IFDE_CSSValueList* pList) { | 31 void CFDE_CSSCounterStyle::DoUpdateIndex(IFDE_CSSValueList* pList) { |
31 if (!pList) | 32 if (!pList) |
32 return; | 33 return; |
33 | 34 |
34 int32_t iCount = pList->CountValues(); | 35 int32_t iCount = pList->CountValues(); |
35 FX_FLOAT fDefValue = 1.0; | 36 FX_FLOAT fDefValue = 1.0; |
36 FX_BOOL bDefIncrement = TRUE; | 37 FX_BOOL bDefIncrement = TRUE; |
37 if (pList == m_pCounterReset) { | 38 if (pList == m_pCounterReset) { |
38 fDefValue = 0.0; | 39 fDefValue = 0.0; |
39 bDefIncrement = FALSE; | 40 bDefIncrement = FALSE; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 0x00100000, 0x01000000}; | 99 0x00100000, 0x01000000}; |
99 for (; pSel; pSel = pSel->GetNextSelector()) { | 100 for (; pSel; pSel = pSel->GetNextSelector()) { |
100 FDE_CSSSELECTORTYPE eType = pSel->GetType(); | 101 FDE_CSSSELECTORTYPE eType = pSel->GetType(); |
101 if (eType > FDE_CSSSELECTORTYPE_Descendant || | 102 if (eType > FDE_CSSSELECTORTYPE_Descendant || |
102 pSel->GetNameHash() != FDE_CSSUNIVERSALHASH) { | 103 pSel->GetNameHash() != FDE_CSSUNIVERSALHASH) { |
103 dwPriority += s_Specific[eType]; | 104 dwPriority += s_Specific[eType]; |
104 } | 105 } |
105 } | 106 } |
106 } | 107 } |
107 | 108 |
108 CFDE_CSSStyleSelector::CFDE_CSSStyleSelector() | 109 CFDE_CSSStyleSelector::CFDE_CSSStyleSelector(IFGAS_FontMgr* pFontMgr) |
109 : m_pFontMgr(nullptr), | 110 : m_pFontMgr(pFontMgr), m_fDefFontSize(12.0f) { |
110 m_fDefFontSize(12.0f), | |
111 m_pRuleDataStore(nullptr), | |
112 m_pInlineStyleStore(nullptr), | |
113 m_pFixedStyleStore(nullptr), | |
114 m_pAccelerator(nullptr) { | |
115 m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_High] = FDE_CSSSTYLESHEETGROUP_Author; | 111 m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_High] = FDE_CSSSTYLESHEETGROUP_Author; |
116 m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_Mid] = FDE_CSSSTYLESHEETGROUP_User; | 112 m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_Mid] = FDE_CSSSTYLESHEETGROUP_User; |
117 m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_Low] = | 113 m_ePriorities[FDE_CSSSTYLESHEETPRIORITY_Low] = |
118 FDE_CSSSTYLESHEETGROUP_UserAgent; | 114 FDE_CSSSTYLESHEETGROUP_UserAgent; |
119 } | 115 } |
120 | 116 |
121 CFDE_CSSStyleSelector::~CFDE_CSSStyleSelector() { | 117 CFDE_CSSStyleSelector::~CFDE_CSSStyleSelector() { |
122 Reset(); | 118 Reset(); |
123 delete m_pInlineStyleStore; | |
124 delete m_pFixedStyleStore; | |
125 delete m_pAccelerator; | |
126 } | 119 } |
127 | 120 |
128 void CFDE_CSSStyleSelector::SetFontMgr(IFGAS_FontMgr* pFontMgr) { | |
129 m_pFontMgr = pFontMgr; | |
130 } | |
131 void CFDE_CSSStyleSelector::SetDefFontSize(FX_FLOAT fFontSize) { | 121 void CFDE_CSSStyleSelector::SetDefFontSize(FX_FLOAT fFontSize) { |
132 ASSERT(fFontSize > 0); | 122 ASSERT(fFontSize > 0); |
133 m_fDefFontSize = fFontSize; | 123 m_fDefFontSize = fFontSize; |
134 } | 124 } |
135 | 125 |
136 CFDE_CSSAccelerator* CFDE_CSSStyleSelector::InitAccelerator() { | 126 CFDE_CSSAccelerator* CFDE_CSSStyleSelector::InitAccelerator() { |
137 if (!m_pAccelerator) | 127 if (!m_pAccelerator) |
138 m_pAccelerator = new CFDE_CSSAccelerator; | 128 m_pAccelerator.reset(new CFDE_CSSAccelerator); |
139 m_pAccelerator->Clear(); | 129 m_pAccelerator->Clear(); |
140 return m_pAccelerator; | 130 return m_pAccelerator.get(); |
141 } | 131 } |
142 | 132 |
143 IFDE_CSSComputedStyle* CFDE_CSSStyleSelector::CreateComputedStyle( | 133 IFDE_CSSComputedStyle* CFDE_CSSStyleSelector::CreateComputedStyle( |
144 IFDE_CSSComputedStyle* pParentStyle) { | 134 IFDE_CSSComputedStyle* pParentStyle) { |
145 if (!m_pFixedStyleStore) { | 135 if (!m_pFixedStyleStore) { |
146 m_pFixedStyleStore = IFX_MemoryAllocator::Create( | 136 m_pFixedStyleStore = IFX_MemoryAllocator::Create( |
147 FX_ALLOCTYPE_Fixed, 16, sizeof(CFDE_CSSComputedStyle)); | 137 FX_ALLOCTYPE_Fixed, 16, sizeof(CFDE_CSSComputedStyle)); |
148 } | 138 } |
149 CFDE_CSSComputedStyle* pStyle = FXTARGET_NewWith(m_pFixedStyleStore) | 139 CFDE_CSSComputedStyle* pStyle = FXTARGET_NewWith(m_pFixedStyleStore.get()) |
150 CFDE_CSSComputedStyle(m_pFixedStyleStore); | 140 CFDE_CSSComputedStyle(m_pFixedStyleStore.get()); |
151 if (pParentStyle) { | 141 if (pParentStyle) { |
152 pStyle->m_InheritedData = | 142 pStyle->m_InheritedData = |
153 static_cast<CFDE_CSSComputedStyle*>(pParentStyle)->m_InheritedData; | 143 static_cast<CFDE_CSSComputedStyle*>(pParentStyle)->m_InheritedData; |
154 } else { | 144 } else { |
155 pStyle->m_InheritedData.Reset(); | 145 pStyle->m_InheritedData.Reset(); |
156 } | 146 } |
157 pStyle->m_NonInheritedData.Reset(); | 147 pStyle->m_NonInheritedData.Reset(); |
158 return pStyle; | 148 return pStyle; |
159 } | 149 } |
| 150 |
160 FX_BOOL CFDE_CSSStyleSelector::SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, | 151 FX_BOOL CFDE_CSSStyleSelector::SetStyleSheet(FDE_CSSSTYLESHEETGROUP eType, |
161 IFDE_CSSStyleSheet* pSheet) { | 152 IFDE_CSSStyleSheet* pSheet) { |
162 ASSERT(eType < FDE_CSSSTYLESHEETGROUP_MAX); | 153 ASSERT(eType < FDE_CSSSTYLESHEETGROUP_MAX); |
163 CFDE_CSSStyleSheetArray& dest = m_SheetGroups[eType]; | 154 CFDE_CSSStyleSheetArray& dest = m_SheetGroups[eType]; |
164 dest.RemoveAt(0, dest.GetSize()); | 155 dest.RemoveAt(0, dest.GetSize()); |
165 if (pSheet) | 156 if (pSheet) |
166 dest.Add(pSheet); | 157 dest.Add(pSheet); |
167 return TRUE; | 158 return TRUE; |
168 } | 159 } |
| 160 |
169 FX_BOOL CFDE_CSSStyleSelector::SetStyleSheets( | 161 FX_BOOL CFDE_CSSStyleSelector::SetStyleSheets( |
170 FDE_CSSSTYLESHEETGROUP eType, | 162 FDE_CSSSTYLESHEETGROUP eType, |
171 const CFDE_CSSStyleSheetArray* pArray) { | 163 const CFDE_CSSStyleSheetArray* pArray) { |
172 ASSERT(eType < FDE_CSSSTYLESHEETGROUP_MAX); | 164 ASSERT(eType < FDE_CSSSTYLESHEETGROUP_MAX); |
173 CFDE_CSSStyleSheetArray& dest = m_SheetGroups[eType]; | 165 CFDE_CSSStyleSheetArray& dest = m_SheetGroups[eType]; |
174 if (pArray) | 166 if (pArray) |
175 dest.Copy(*pArray); | 167 dest.Copy(*pArray); |
176 else | 168 else |
177 dest.RemoveAt(0, dest.GetSize()); | 169 dest.RemoveAt(0, dest.GetSize()); |
178 return TRUE; | 170 return TRUE; |
179 } | 171 } |
| 172 |
180 void CFDE_CSSStyleSelector::SetStylePriority( | 173 void CFDE_CSSStyleSelector::SetStylePriority( |
181 FDE_CSSSTYLESHEETGROUP eType, | 174 FDE_CSSSTYLESHEETGROUP eType, |
182 FDE_CSSSTYLESHEETPRIORITY ePriority) { | 175 FDE_CSSSTYLESHEETPRIORITY ePriority) { |
183 m_ePriorities[ePriority] = eType; | 176 m_ePriorities[ePriority] = eType; |
184 } | 177 } |
| 178 |
185 void CFDE_CSSStyleSelector::UpdateStyleIndex(uint32_t dwMediaList) { | 179 void CFDE_CSSStyleSelector::UpdateStyleIndex(uint32_t dwMediaList) { |
186 Reset(); | 180 Reset(); |
187 m_pRuleDataStore = IFX_MemoryAllocator::Create(FX_ALLOCTYPE_Static, 1024, 0); | 181 m_pRuleDataStore = IFX_MemoryAllocator::Create(FX_ALLOCTYPE_Static, 1024, 0); |
188 for (int32_t iGroup = 0; iGroup < FDE_CSSSTYLESHEETGROUP_MAX; ++iGroup) { | 182 for (int32_t iGroup = 0; iGroup < FDE_CSSSTYLESHEETGROUP_MAX; ++iGroup) { |
189 CFDE_CSSRuleCollection& rules = m_RuleCollection[iGroup]; | 183 CFDE_CSSRuleCollection& rules = m_RuleCollection[iGroup]; |
190 rules.m_pStaticStore = m_pRuleDataStore; | 184 rules.m_pStaticStore = m_pRuleDataStore.get(); |
191 rules.AddRulesFrom(m_SheetGroups[iGroup], dwMediaList, m_pFontMgr); | 185 rules.AddRulesFrom(m_SheetGroups[iGroup], dwMediaList, m_pFontMgr); |
192 } | 186 } |
193 } | 187 } |
| 188 |
194 void CFDE_CSSStyleSelector::Reset() { | 189 void CFDE_CSSStyleSelector::Reset() { |
195 for (int32_t iGroup = 0; iGroup < FDE_CSSSTYLESHEETGROUP_MAX; ++iGroup) { | 190 for (int32_t iGroup = 0; iGroup < FDE_CSSSTYLESHEETGROUP_MAX; ++iGroup) { |
196 m_RuleCollection[iGroup].Clear(); | 191 m_RuleCollection[iGroup].Clear(); |
197 } | 192 } |
198 delete m_pRuleDataStore; | 193 m_pRuleDataStore.reset(); |
199 m_pRuleDataStore = nullptr; | |
200 } | 194 } |
| 195 |
201 int32_t CFDE_CSSStyleSelector::MatchDeclarations( | 196 int32_t CFDE_CSSStyleSelector::MatchDeclarations( |
202 CXFA_CSSTagProvider* pTag, | 197 CXFA_CSSTagProvider* pTag, |
203 CFDE_CSSDeclarationArray& matchedDecls, | 198 CFDE_CSSDeclarationArray& matchedDecls, |
204 FDE_CSSPERSUDO ePersudoType) { | 199 FDE_CSSPERSUDO ePersudoType) { |
205 ASSERT(m_pAccelerator && pTag); | 200 ASSERT(m_pAccelerator && pTag); |
206 | 201 |
207 FDE_CSSTagCache* pCache = m_pAccelerator->GetTopElement(); | 202 FDE_CSSTagCache* pCache = m_pAccelerator->GetTopElement(); |
208 ASSERT(pCache && pCache->GetTag() == pTag); | 203 ASSERT(pCache && pCache->GetTag() == pTag); |
209 | 204 |
210 matchedDecls.RemoveAt(0, matchedDecls.GetSize()); | 205 matchedDecls.RemoveAt(0, matchedDecls.GetSize()); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 m_pInlineStyleStore = | 313 m_pInlineStyleStore = |
319 IFX_MemoryAllocator::Create(FX_ALLOCTYPE_Static, 2048, 0); | 314 IFX_MemoryAllocator::Create(FX_ALLOCTYPE_Static, 2048, 0); |
320 } | 315 } |
321 CFDE_CSSDeclaration* pDecl = nullptr; | 316 CFDE_CSSDeclaration* pDecl = nullptr; |
322 for (auto it : *pTag) { | 317 for (auto it : *pTag) { |
323 CFX_WideString wsAttri = it.first; | 318 CFX_WideString wsAttri = it.first; |
324 CFX_WideString wsValue = it.second; | 319 CFX_WideString wsValue = it.second; |
325 uint32_t dwAttriHash = FX_HashCode_GetW(wsAttri.AsStringC(), true); | 320 uint32_t dwAttriHash = FX_HashCode_GetW(wsAttri.AsStringC(), true); |
326 if (dwAttriHash == s_dwStyleHash) { | 321 if (dwAttriHash == s_dwStyleHash) { |
327 if (!pDecl) | 322 if (!pDecl) |
328 pDecl = FXTARGET_NewWith(m_pInlineStyleStore) CFDE_CSSDeclaration; | 323 pDecl = |
| 324 FXTARGET_NewWith(m_pInlineStyleStore.get()) CFDE_CSSDeclaration; |
329 | 325 |
330 AppendInlineStyle(pDecl, wsValue.c_str(), wsValue.GetLength()); | 326 AppendInlineStyle(pDecl, wsValue.c_str(), wsValue.GetLength()); |
331 } else if (dwAttriHash == s_dwAlignHash) { | 327 } else if (dwAttriHash == s_dwAlignHash) { |
332 if (!pDecl) | 328 if (!pDecl) |
333 pDecl = FXTARGET_NewWith(m_pInlineStyleStore) CFDE_CSSDeclaration; | 329 pDecl = |
| 330 FXTARGET_NewWith(m_pInlineStyleStore.get()) CFDE_CSSDeclaration; |
334 | 331 |
335 FDE_CSSPROPERTYARGS args; | 332 FDE_CSSPROPERTYARGS args; |
336 args.pStringCache = nullptr; | 333 args.pStringCache = nullptr; |
337 args.pStaticStore = m_pInlineStyleStore; | 334 args.pStaticStore = m_pInlineStyleStore.get(); |
338 args.pProperty = FDE_GetCSSPropertyByEnum(FDE_CSSPROPERTY_TextAlign); | 335 args.pProperty = FDE_GetCSSPropertyByEnum(FDE_CSSPROPERTY_TextAlign); |
339 pDecl->AddProperty(&args, wsValue.c_str(), wsValue.GetLength()); | 336 pDecl->AddProperty(&args, wsValue.c_str(), wsValue.GetLength()); |
340 } | 337 } |
341 } | 338 } |
342 | 339 |
343 if (pDecl) { | 340 if (pDecl) { |
344 CFDE_CSSDeclarationArray decls; | 341 CFDE_CSSDeclarationArray decls; |
345 decls.SetSize(iDeclCount + 1); | 342 decls.SetSize(iDeclCount + 1); |
346 CFDE_CSSDeclaration** ppInline = decls.GetData(); | 343 CFDE_CSSDeclaration** ppInline = decls.GetData(); |
347 FXSYS_memcpy(ppInline, ppDeclArray, | 344 FXSYS_memcpy(ppInline, ppDeclArray, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 } | 421 } |
425 } | 422 } |
426 CFX_WideString wsName, wsValue; | 423 CFX_WideString wsName, wsValue; |
427 pos = pDecl->GetStartCustom(); | 424 pos = pDecl->GetStartCustom(); |
428 while (pos) { | 425 while (pos) { |
429 pDecl->GetNextCustom(pos, wsName, wsValue); | 426 pDecl->GetNextCustom(pos, wsName, wsValue); |
430 pComputedStyle->AddCustomStyle(wsName, wsValue); | 427 pComputedStyle->AddCustomStyle(wsName, wsValue); |
431 } | 428 } |
432 } | 429 } |
433 } | 430 } |
| 431 |
434 void CFDE_CSSStyleSelector::AppendInlineStyle(CFDE_CSSDeclaration* pDecl, | 432 void CFDE_CSSStyleSelector::AppendInlineStyle(CFDE_CSSDeclaration* pDecl, |
435 const FX_WCHAR* psz, | 433 const FX_WCHAR* psz, |
436 int32_t iLen) { | 434 int32_t iLen) { |
437 ASSERT(pDecl && psz && iLen > 0); | 435 ASSERT(pDecl && psz && iLen > 0); |
438 std::unique_ptr<CFDE_CSSSyntaxParser> pSyntax(new CFDE_CSSSyntaxParser); | 436 std::unique_ptr<CFDE_CSSSyntaxParser> pSyntax(new CFDE_CSSSyntaxParser); |
439 if (!pSyntax->Init(psz, iLen, 32, TRUE)) | 437 if (!pSyntax->Init(psz, iLen, 32, TRUE)) |
440 return; | 438 return; |
441 | 439 |
442 int32_t iLen2 = 0; | 440 int32_t iLen2 = 0; |
443 const FX_WCHAR* psz2; | 441 const FX_WCHAR* psz2; |
444 FDE_CSSPROPERTYARGS args; | 442 FDE_CSSPROPERTYARGS args; |
445 args.pStringCache = nullptr; | 443 args.pStringCache = nullptr; |
446 args.pStaticStore = m_pInlineStyleStore; | 444 args.pStaticStore = m_pInlineStyleStore.get(); |
447 args.pProperty = nullptr; | 445 args.pProperty = nullptr; |
448 CFX_WideString wsName; | 446 CFX_WideString wsName; |
449 while (1) { | 447 while (1) { |
450 FDE_CSSSYNTAXSTATUS eStatus = pSyntax->DoSyntaxParse(); | 448 FDE_CSSSYNTAXSTATUS eStatus = pSyntax->DoSyntaxParse(); |
451 if (eStatus == FDE_CSSSYNTAXSTATUS_PropertyName) { | 449 if (eStatus == FDE_CSSSYNTAXSTATUS_PropertyName) { |
452 psz2 = pSyntax->GetCurrentString(iLen2); | 450 psz2 = pSyntax->GetCurrentString(iLen2); |
453 args.pProperty = FDE_GetCSSPropertyByName(CFX_WideStringC(psz2, iLen2)); | 451 args.pProperty = FDE_GetCSSPropertyByName(CFX_WideStringC(psz2, iLen2)); |
454 if (!args.pProperty) | 452 if (!args.pProperty) |
455 wsName = CFX_WideStringC(psz2, iLen2); | 453 wsName = CFX_WideStringC(psz2, iLen2); |
456 } else if (eStatus == FDE_CSSSYNTAXSTATUS_PropertyValue) { | 454 } else if (eStatus == FDE_CSSSYNTAXSTATUS_PropertyValue) { |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1009 } | 1007 } |
1010 } break; | 1008 } break; |
1011 default: | 1009 default: |
1012 break; | 1010 break; |
1013 } | 1011 } |
1014 } | 1012 } |
1015 } else { | 1013 } else { |
1016 ASSERT(FALSE); | 1014 ASSERT(FALSE); |
1017 } | 1015 } |
1018 } | 1016 } |
| 1017 |
1019 FX_FLOAT CFDE_CSSStyleSelector::ApplyNumber(FDE_CSSPRIMITIVETYPE eUnit, | 1018 FX_FLOAT CFDE_CSSStyleSelector::ApplyNumber(FDE_CSSPRIMITIVETYPE eUnit, |
1020 FX_FLOAT fValue, | 1019 FX_FLOAT fValue, |
1021 FX_FLOAT fPercentBase) { | 1020 FX_FLOAT fPercentBase) { |
1022 switch (eUnit) { | 1021 switch (eUnit) { |
1023 case FDE_CSSPRIMITIVETYPE_PX: | 1022 case FDE_CSSPRIMITIVETYPE_PX: |
1024 case FDE_CSSPRIMITIVETYPE_Number: | 1023 case FDE_CSSPRIMITIVETYPE_Number: |
1025 return fValue * 72 / 96; | 1024 return fValue * 72 / 96; |
1026 case FDE_CSSPRIMITIVETYPE_PT: | 1025 case FDE_CSSPRIMITIVETYPE_PT: |
1027 return fValue; | 1026 return fValue; |
1028 case FDE_CSSPRIMITIVETYPE_EMS: | 1027 case FDE_CSSPRIMITIVETYPE_EMS: |
1029 case FDE_CSSPRIMITIVETYPE_EXS: | 1028 case FDE_CSSPRIMITIVETYPE_EXS: |
1030 return fValue * fPercentBase; | 1029 return fValue * fPercentBase; |
1031 case FDE_CSSPRIMITIVETYPE_Percent: | 1030 case FDE_CSSPRIMITIVETYPE_Percent: |
1032 return fValue * fPercentBase / 100.0f; | 1031 return fValue * fPercentBase / 100.0f; |
1033 case FDE_CSSPRIMITIVETYPE_CM: | 1032 case FDE_CSSPRIMITIVETYPE_CM: |
1034 return fValue * 28.3464f; | 1033 return fValue * 28.3464f; |
1035 case FDE_CSSPRIMITIVETYPE_MM: | 1034 case FDE_CSSPRIMITIVETYPE_MM: |
1036 return fValue * 2.8346f; | 1035 return fValue * 2.8346f; |
1037 case FDE_CSSPRIMITIVETYPE_IN: | 1036 case FDE_CSSPRIMITIVETYPE_IN: |
1038 return fValue * 72.0f; | 1037 return fValue * 72.0f; |
1039 case FDE_CSSPRIMITIVETYPE_PC: | 1038 case FDE_CSSPRIMITIVETYPE_PC: |
1040 return fValue / 12.0f; | 1039 return fValue / 12.0f; |
1041 default: | 1040 default: |
1042 return fValue; | 1041 return fValue; |
1043 } | 1042 } |
1044 } | 1043 } |
| 1044 |
1045 FDE_CSSRUBYSPAN CFDE_CSSStyleSelector::ToRubySpan(FDE_CSSPROPERTYVALUE eValue) { | 1045 FDE_CSSRUBYSPAN CFDE_CSSStyleSelector::ToRubySpan(FDE_CSSPROPERTYVALUE eValue) { |
1046 switch (eValue) { | 1046 switch (eValue) { |
1047 case FDE_CSSPROPERTYVALUE_None: | 1047 case FDE_CSSPROPERTYVALUE_None: |
1048 default: | 1048 default: |
1049 return FDE_CSSRUBYSPAN_None; | 1049 return FDE_CSSRUBYSPAN_None; |
1050 } | 1050 } |
1051 } | 1051 } |
| 1052 |
1052 FDE_CSSRUBYPOSITION CFDE_CSSStyleSelector::ToRubyPosition( | 1053 FDE_CSSRUBYPOSITION CFDE_CSSStyleSelector::ToRubyPosition( |
1053 FDE_CSSPROPERTYVALUE eValue) { | 1054 FDE_CSSPROPERTYVALUE eValue) { |
1054 switch (eValue) { | 1055 switch (eValue) { |
1055 case FDE_CSSPROPERTYVALUE_Before: | 1056 case FDE_CSSPROPERTYVALUE_Before: |
1056 return FDE_CSSRUBYPOSITION_Before; | 1057 return FDE_CSSRUBYPOSITION_Before; |
1057 case FDE_CSSPROPERTYVALUE_After: | 1058 case FDE_CSSPROPERTYVALUE_After: |
1058 return FDE_CSSRUBYPOSITION_After; | 1059 return FDE_CSSRUBYPOSITION_After; |
1059 case FDE_CSSPROPERTYVALUE_Right: | 1060 case FDE_CSSPROPERTYVALUE_Right: |
1060 return FDE_CSSRUBYPOSITION_Right; | 1061 return FDE_CSSRUBYPOSITION_Right; |
1061 case FDE_CSSPROPERTYVALUE_Inline: | 1062 case FDE_CSSPROPERTYVALUE_Inline: |
1062 return FDE_CSSRUBYPOSITION_Inline; | 1063 return FDE_CSSRUBYPOSITION_Inline; |
1063 default: | 1064 default: |
1064 return FDE_CSSRUBYPOSITION_Before; | 1065 return FDE_CSSRUBYPOSITION_Before; |
1065 } | 1066 } |
1066 } | 1067 } |
| 1068 |
1067 FDE_CSSRUBYOVERHANG CFDE_CSSStyleSelector::ToRubyOverhang( | 1069 FDE_CSSRUBYOVERHANG CFDE_CSSStyleSelector::ToRubyOverhang( |
1068 FDE_CSSPROPERTYVALUE eValue) { | 1070 FDE_CSSPROPERTYVALUE eValue) { |
1069 switch (eValue) { | 1071 switch (eValue) { |
1070 case FDE_CSSPROPERTYVALUE_Auto: | 1072 case FDE_CSSPROPERTYVALUE_Auto: |
1071 return FDE_CSSRUBYOVERHANG_Auto; | 1073 return FDE_CSSRUBYOVERHANG_Auto; |
1072 case FDE_CSSPROPERTYVALUE_Start: | 1074 case FDE_CSSPROPERTYVALUE_Start: |
1073 return FDE_CSSRUBYOVERHANG_Start; | 1075 return FDE_CSSRUBYOVERHANG_Start; |
1074 case FDE_CSSPROPERTYVALUE_End: | 1076 case FDE_CSSPROPERTYVALUE_End: |
1075 return FDE_CSSRUBYOVERHANG_End; | 1077 return FDE_CSSRUBYOVERHANG_End; |
1076 case FDE_CSSPROPERTYVALUE_None: | 1078 case FDE_CSSPROPERTYVALUE_None: |
1077 default: | 1079 default: |
1078 return FDE_CSSRUBYOVERHANG_None; | 1080 return FDE_CSSRUBYOVERHANG_None; |
1079 } | 1081 } |
1080 } | 1082 } |
| 1083 |
1081 FDE_CSSRUBYALIGN CFDE_CSSStyleSelector::ToRubyAlign( | 1084 FDE_CSSRUBYALIGN CFDE_CSSStyleSelector::ToRubyAlign( |
1082 FDE_CSSPROPERTYVALUE eValue) { | 1085 FDE_CSSPROPERTYVALUE eValue) { |
1083 switch (eValue) { | 1086 switch (eValue) { |
1084 case FDE_CSSPROPERTYVALUE_Auto: | 1087 case FDE_CSSPROPERTYVALUE_Auto: |
1085 return FDE_CSSRUBYALIGN_Auto; | 1088 return FDE_CSSRUBYALIGN_Auto; |
1086 case FDE_CSSPROPERTYVALUE_Start: | 1089 case FDE_CSSPROPERTYVALUE_Start: |
1087 return FDE_CSSRUBYALIGN_Start; | 1090 return FDE_CSSRUBYALIGN_Start; |
1088 case FDE_CSSPROPERTYVALUE_Left: | 1091 case FDE_CSSPROPERTYVALUE_Left: |
1089 return FDE_CSSRUBYALIGN_End; | 1092 return FDE_CSSRUBYALIGN_End; |
1090 case FDE_CSSPROPERTYVALUE_Center: | 1093 case FDE_CSSPROPERTYVALUE_Center: |
1091 return FDE_CSSRUBYALIGN_Center; | 1094 return FDE_CSSRUBYALIGN_Center; |
1092 case FDE_CSSPROPERTYVALUE_End: | 1095 case FDE_CSSPROPERTYVALUE_End: |
1093 return FDE_CSSRUBYALIGN_End; | 1096 return FDE_CSSRUBYALIGN_End; |
1094 case FDE_CSSPROPERTYVALUE_Right: | 1097 case FDE_CSSPROPERTYVALUE_Right: |
1095 return FDE_CSSRUBYALIGN_Right; | 1098 return FDE_CSSRUBYALIGN_Right; |
1096 case FDE_CSSPROPERTYVALUE_DistributeLetter: | 1099 case FDE_CSSPROPERTYVALUE_DistributeLetter: |
1097 return FDE_CSSRUBYALIGN_DistributeLetter; | 1100 return FDE_CSSRUBYALIGN_DistributeLetter; |
1098 case FDE_CSSPROPERTYVALUE_DistributeSpace: | 1101 case FDE_CSSPROPERTYVALUE_DistributeSpace: |
1099 return FDE_CSSRUBYALIGN_DistributeSpace; | 1102 return FDE_CSSRUBYALIGN_DistributeSpace; |
1100 case FDE_CSSPROPERTYVALUE_LineEdge: | 1103 case FDE_CSSPROPERTYVALUE_LineEdge: |
1101 return FDE_CSSRUBYALIGN_LineEdge; | 1104 return FDE_CSSRUBYALIGN_LineEdge; |
1102 default: | 1105 default: |
1103 return FDE_CSSRUBYALIGN_Auto; | 1106 return FDE_CSSRUBYALIGN_Auto; |
1104 } | 1107 } |
1105 } | 1108 } |
| 1109 |
1106 FX_BOOL CFDE_CSSStyleSelector::ToTextEmphasisMark( | 1110 FX_BOOL CFDE_CSSStyleSelector::ToTextEmphasisMark( |
1107 FDE_CSSPROPERTYVALUE eValue, | 1111 FDE_CSSPROPERTYVALUE eValue, |
1108 FDE_CSSTEXTEMPHASISMARK& eMark) { | 1112 FDE_CSSTEXTEMPHASISMARK& eMark) { |
1109 switch (eValue) { | 1113 switch (eValue) { |
1110 case FDE_CSSPROPERTYVALUE_None: | 1114 case FDE_CSSPROPERTYVALUE_None: |
1111 eMark = FDE_CSSTEXTEMPHASISMARK_None; | 1115 eMark = FDE_CSSTEXTEMPHASISMARK_None; |
1112 return TRUE; | 1116 return TRUE; |
1113 case FDE_CSSPROPERTYVALUE_Dot: | 1117 case FDE_CSSPROPERTYVALUE_Dot: |
1114 eMark = FDE_CSSTEXTEMPHASISMARK_Dot; | 1118 eMark = FDE_CSSTEXTEMPHASISMARK_Dot; |
1115 return TRUE; | 1119 return TRUE; |
1116 case FDE_CSSPROPERTYVALUE_Circle: | 1120 case FDE_CSSPROPERTYVALUE_Circle: |
1117 eMark = FDE_CSSTEXTEMPHASISMARK_Circle; | 1121 eMark = FDE_CSSTEXTEMPHASISMARK_Circle; |
1118 return TRUE; | 1122 return TRUE; |
1119 case FDE_CSSPROPERTYVALUE_DoubleCircle: | 1123 case FDE_CSSPROPERTYVALUE_DoubleCircle: |
1120 eMark = FDE_CSSTEXTEMPHASISMARK_DoubleCircle; | 1124 eMark = FDE_CSSTEXTEMPHASISMARK_DoubleCircle; |
1121 return TRUE; | 1125 return TRUE; |
1122 case FDE_CSSPROPERTYVALUE_Triangle: | 1126 case FDE_CSSPROPERTYVALUE_Triangle: |
1123 eMark = FDE_CSSTEXTEMPHASISMARK_Triangle; | 1127 eMark = FDE_CSSTEXTEMPHASISMARK_Triangle; |
1124 return TRUE; | 1128 return TRUE; |
1125 case FDE_CSSPROPERTYVALUE_Sesame: | 1129 case FDE_CSSPROPERTYVALUE_Sesame: |
1126 eMark = FDE_CSSTEXTEMPHASISMARK_Sesame; | 1130 eMark = FDE_CSSTEXTEMPHASISMARK_Sesame; |
1127 return TRUE; | 1131 return TRUE; |
1128 default: | 1132 default: |
1129 return FALSE; | 1133 return FALSE; |
1130 } | 1134 } |
1131 } | 1135 } |
| 1136 |
1132 FX_BOOL CFDE_CSSStyleSelector::ToTextEmphasisFill( | 1137 FX_BOOL CFDE_CSSStyleSelector::ToTextEmphasisFill( |
1133 FDE_CSSPROPERTYVALUE eValue, | 1138 FDE_CSSPROPERTYVALUE eValue, |
1134 FDE_CSSTEXTEMPHASISFILL& eFill) { | 1139 FDE_CSSTEXTEMPHASISFILL& eFill) { |
1135 switch (eValue) { | 1140 switch (eValue) { |
1136 case FDE_CSSPROPERTYVALUE_Filled: | 1141 case FDE_CSSPROPERTYVALUE_Filled: |
1137 eFill = FDE_CSSTEXTEMPHASISFILL_Filled; | 1142 eFill = FDE_CSSTEXTEMPHASISFILL_Filled; |
1138 return TRUE; | 1143 return TRUE; |
1139 case FDE_CSSPROPERTYVALUE_Open: | 1144 case FDE_CSSPROPERTYVALUE_Open: |
1140 eFill = FDE_CSSTEXTEMPHASISFILL_Open; | 1145 eFill = FDE_CSSTEXTEMPHASISFILL_Open; |
1141 return TRUE; | 1146 return TRUE; |
1142 default: | 1147 default: |
1143 return FALSE; | 1148 return FALSE; |
1144 } | 1149 } |
1145 } | 1150 } |
| 1151 |
1146 FDE_CSSBKGATTACHMENT CFDE_CSSStyleSelector::ToBKGAttachment( | 1152 FDE_CSSBKGATTACHMENT CFDE_CSSStyleSelector::ToBKGAttachment( |
1147 FDE_CSSPROPERTYVALUE eValue) { | 1153 FDE_CSSPROPERTYVALUE eValue) { |
1148 switch (eValue) { | 1154 switch (eValue) { |
1149 case FDE_CSSPROPERTYVALUE_Fixed: | 1155 case FDE_CSSPROPERTYVALUE_Fixed: |
1150 return FDE_CSSBKGATTACHMENT_Fixed; | 1156 return FDE_CSSBKGATTACHMENT_Fixed; |
1151 case FDE_CSSPROPERTYVALUE_Scroll: | 1157 case FDE_CSSPROPERTYVALUE_Scroll: |
1152 return FDE_CSSBKGATTACHMENT_Scroll; | 1158 return FDE_CSSBKGATTACHMENT_Scroll; |
1153 default: | 1159 default: |
1154 return FDE_CSSBKGATTACHMENT_Fixed; | 1160 return FDE_CSSBKGATTACHMENT_Fixed; |
1155 } | 1161 } |
1156 } | 1162 } |
| 1163 |
1157 FDE_CSSCAPTIONSIDE CFDE_CSSStyleSelector::ToCaptionSide( | 1164 FDE_CSSCAPTIONSIDE CFDE_CSSStyleSelector::ToCaptionSide( |
1158 FDE_CSSPROPERTYVALUE eValue) { | 1165 FDE_CSSPROPERTYVALUE eValue) { |
1159 switch (eValue) { | 1166 switch (eValue) { |
1160 case FDE_CSSPROPERTYVALUE_Top: | 1167 case FDE_CSSPROPERTYVALUE_Top: |
1161 return FDE_CSSCAPTIONSIDE_Top; | 1168 return FDE_CSSCAPTIONSIDE_Top; |
1162 case FDE_CSSPROPERTYVALUE_Bottom: | 1169 case FDE_CSSPROPERTYVALUE_Bottom: |
1163 return FDE_CSSCAPTIONSIDE_Bottom; | 1170 return FDE_CSSCAPTIONSIDE_Bottom; |
1164 case FDE_CSSPROPERTYVALUE_Left: | 1171 case FDE_CSSPROPERTYVALUE_Left: |
1165 return FDE_CSSCAPTIONSIDE_Left; | 1172 return FDE_CSSCAPTIONSIDE_Left; |
1166 case FDE_CSSPROPERTYVALUE_Right: | 1173 case FDE_CSSPROPERTYVALUE_Right: |
1167 return FDE_CSSCAPTIONSIDE_Right; | 1174 return FDE_CSSCAPTIONSIDE_Right; |
1168 case FDE_CSSPROPERTYVALUE_Before: | 1175 case FDE_CSSPROPERTYVALUE_Before: |
1169 return FDE_CSSCAPTIONSIDE_Before; | 1176 return FDE_CSSCAPTIONSIDE_Before; |
1170 case FDE_CSSPROPERTYVALUE_After: | 1177 case FDE_CSSPROPERTYVALUE_After: |
1171 return FDE_CSSCAPTIONSIDE_After; | 1178 return FDE_CSSCAPTIONSIDE_After; |
1172 default: | 1179 default: |
1173 return FDE_CSSCAPTIONSIDE_Top; | 1180 return FDE_CSSCAPTIONSIDE_Top; |
1174 } | 1181 } |
1175 } | 1182 } |
| 1183 |
1176 FDE_CSSPOSITION CFDE_CSSStyleSelector::ToPosition(FDE_CSSPROPERTYVALUE eValue) { | 1184 FDE_CSSPOSITION CFDE_CSSStyleSelector::ToPosition(FDE_CSSPROPERTYVALUE eValue) { |
1177 switch (eValue) { | 1185 switch (eValue) { |
1178 case FDE_CSSPROPERTYVALUE_Static: | 1186 case FDE_CSSPROPERTYVALUE_Static: |
1179 return FDE_CSSPOSITION_Static; | 1187 return FDE_CSSPOSITION_Static; |
1180 case FDE_CSSPROPERTYVALUE_Relative: | 1188 case FDE_CSSPROPERTYVALUE_Relative: |
1181 return FDE_CSSPOSITION_Relative; | 1189 return FDE_CSSPOSITION_Relative; |
1182 case FDE_CSSPROPERTYVALUE_Fixed: | 1190 case FDE_CSSPROPERTYVALUE_Fixed: |
1183 return FDE_CSSPOSITION_Fixed; | 1191 return FDE_CSSPOSITION_Fixed; |
1184 case FDE_CSSPROPERTYVALUE_Absolute: | 1192 case FDE_CSSPROPERTYVALUE_Absolute: |
1185 return FDE_CSSPOSITION_Absolute; | 1193 return FDE_CSSPOSITION_Absolute; |
1186 default: | 1194 default: |
1187 return FDE_CSSPOSITION_Static; | 1195 return FDE_CSSPOSITION_Static; |
1188 } | 1196 } |
1189 } | 1197 } |
| 1198 |
1190 FDE_CSSCURSOR CFDE_CSSStyleSelector::ToCursor(FDE_CSSPROPERTYVALUE eValue) { | 1199 FDE_CSSCURSOR CFDE_CSSStyleSelector::ToCursor(FDE_CSSPROPERTYVALUE eValue) { |
1191 switch (eValue) { | 1200 switch (eValue) { |
1192 case FDE_CSSPROPERTYVALUE_Auto: | 1201 case FDE_CSSPROPERTYVALUE_Auto: |
1193 return FDE_CSSCURSOR_Auto; | 1202 return FDE_CSSCURSOR_Auto; |
1194 case FDE_CSSPROPERTYVALUE_Crosshair: | 1203 case FDE_CSSPROPERTYVALUE_Crosshair: |
1195 return FDE_CSSCURSOR_Crosshair; | 1204 return FDE_CSSCURSOR_Crosshair; |
1196 case FDE_CSSPROPERTYVALUE_Default: | 1205 case FDE_CSSPROPERTYVALUE_Default: |
1197 return FDE_CSSCURSOR_Default; | 1206 return FDE_CSSCURSOR_Default; |
1198 case FDE_CSSPROPERTYVALUE_Pointer: | 1207 case FDE_CSSPROPERTYVALUE_Pointer: |
1199 return FDE_CSSCURSOR_Pointer; | 1208 return FDE_CSSCURSOR_Pointer; |
1200 case FDE_CSSPROPERTYVALUE_Move: | 1209 case FDE_CSSPROPERTYVALUE_Move: |
1201 return FDE_CSSCURSOR_Move; | 1210 return FDE_CSSCURSOR_Move; |
1202 case FDE_CSSPROPERTYVALUE_EResize: | 1211 case FDE_CSSPROPERTYVALUE_EResize: |
1203 return FDE_CSSCURSOR_EResize; | 1212 return FDE_CSSCURSOR_EResize; |
1204 case FDE_CSSPROPERTYVALUE_NeResize: | 1213 case FDE_CSSPROPERTYVALUE_NeResize: |
1205 return FDE_CSSCURSOR_NeResize; | 1214 return FDE_CSSCURSOR_NeResize; |
1206 case FDE_CSSPROPERTYVALUE_NwResize: | 1215 case FDE_CSSPROPERTYVALUE_NwResize: |
1207 return FDE_CSSCURSOR_NwResize; | 1216 return FDE_CSSCURSOR_NwResize; |
1208 case FDE_CSSPROPERTYVALUE_NResize: | 1217 case FDE_CSSPROPERTYVALUE_NResize: |
1209 return FDE_CSSCURSOR_NResize; | 1218 return FDE_CSSCURSOR_NResize; |
1210 case FDE_CSSPROPERTYVALUE_SeResize: | 1219 case FDE_CSSPROPERTYVALUE_SeResize: |
1211 return FDE_CSSCURSOR_SeResize; | 1220 return FDE_CSSCURSOR_SeResize; |
1212 case FDE_CSSPROPERTYVALUE_SwResize: | 1221 case FDE_CSSPROPERTYVALUE_SwResize: |
1213 return FDE_CSSCURSOR_SwResize; | 1222 return FDE_CSSCURSOR_SwResize; |
1214 default: | 1223 default: |
1215 return FDE_CSSCURSOR_Auto; | 1224 return FDE_CSSCURSOR_Auto; |
1216 } | 1225 } |
1217 } | 1226 } |
| 1227 |
1218 FDE_CSSBKGREPEAT CFDE_CSSStyleSelector::ToBKGRepeat( | 1228 FDE_CSSBKGREPEAT CFDE_CSSStyleSelector::ToBKGRepeat( |
1219 FDE_CSSPROPERTYVALUE eValue) { | 1229 FDE_CSSPROPERTYVALUE eValue) { |
1220 switch (eValue) { | 1230 switch (eValue) { |
1221 case FDE_CSSPROPERTYVALUE_Repeat: | 1231 case FDE_CSSPROPERTYVALUE_Repeat: |
1222 return FDE_CSSBKGREPEAT_Repeat; | 1232 return FDE_CSSBKGREPEAT_Repeat; |
1223 case FDE_CSSPROPERTYVALUE_RepeatX: | 1233 case FDE_CSSPROPERTYVALUE_RepeatX: |
1224 return FDE_CSSBKGREPEAT_RepeatX; | 1234 return FDE_CSSBKGREPEAT_RepeatX; |
1225 case FDE_CSSPROPERTYVALUE_RepeatY: | 1235 case FDE_CSSPROPERTYVALUE_RepeatY: |
1226 return FDE_CSSBKGREPEAT_RepeatY; | 1236 return FDE_CSSBKGREPEAT_RepeatY; |
1227 case FDE_CSSPROPERTYVALUE_NoRepeat: | 1237 case FDE_CSSPROPERTYVALUE_NoRepeat: |
1228 return FDE_CSSBKGREPEAT_NoRepeat; | 1238 return FDE_CSSBKGREPEAT_NoRepeat; |
1229 default: | 1239 default: |
1230 return FDE_CSSBKGREPEAT_Repeat; | 1240 return FDE_CSSBKGREPEAT_Repeat; |
1231 } | 1241 } |
1232 } | 1242 } |
| 1243 |
1233 FDE_CSSTEXTCOMBINE CFDE_CSSStyleSelector::ToTextCombine( | 1244 FDE_CSSTEXTCOMBINE CFDE_CSSStyleSelector::ToTextCombine( |
1234 FDE_CSSPROPERTYVALUE eValue) { | 1245 FDE_CSSPROPERTYVALUE eValue) { |
1235 switch (eValue) { | 1246 switch (eValue) { |
1236 case FDE_CSSPROPERTYVALUE_Horizontal: | 1247 case FDE_CSSPROPERTYVALUE_Horizontal: |
1237 return FDE_CSSTEXTCOMBINE_Horizontal; | 1248 return FDE_CSSTEXTCOMBINE_Horizontal; |
1238 case FDE_CSSPROPERTYVALUE_None: | 1249 case FDE_CSSPROPERTYVALUE_None: |
1239 default: | 1250 default: |
1240 return FDE_CSSTEXTCOMBINE_None; | 1251 return FDE_CSSTEXTCOMBINE_None; |
1241 } | 1252 } |
1242 } | 1253 } |
| 1254 |
1243 FDE_CSSLINEBREAK CFDE_CSSStyleSelector::ToLineBreak( | 1255 FDE_CSSLINEBREAK CFDE_CSSStyleSelector::ToLineBreak( |
1244 FDE_CSSPROPERTYVALUE eValue) { | 1256 FDE_CSSPROPERTYVALUE eValue) { |
1245 switch (eValue) { | 1257 switch (eValue) { |
1246 case FDE_CSSPROPERTYVALUE_Auto: | 1258 case FDE_CSSPROPERTYVALUE_Auto: |
1247 return FDE_CSSLINEBREAK_Auto; | 1259 return FDE_CSSLINEBREAK_Auto; |
1248 case FDE_CSSPROPERTYVALUE_Loose: | 1260 case FDE_CSSPROPERTYVALUE_Loose: |
1249 return FDE_CSSLINEBREAK_Loose; | 1261 return FDE_CSSLINEBREAK_Loose; |
1250 case FDE_CSSPROPERTYVALUE_Normal: | 1262 case FDE_CSSPROPERTYVALUE_Normal: |
1251 return FDE_CSSLINEBREAK_Normal; | 1263 return FDE_CSSLINEBREAK_Normal; |
1252 case FDE_CSSPROPERTYVALUE_Strict: | 1264 case FDE_CSSPROPERTYVALUE_Strict: |
1253 return FDE_CSSLINEBREAK_Strict; | 1265 return FDE_CSSLINEBREAK_Strict; |
1254 default: | 1266 default: |
1255 return FDE_CSSLINEBREAK_Auto; | 1267 return FDE_CSSLINEBREAK_Auto; |
1256 } | 1268 } |
1257 } | 1269 } |
| 1270 |
1258 FDE_CSSOVERFLOW CFDE_CSSStyleSelector::ToOverflow(FDE_CSSPROPERTYVALUE eValue) { | 1271 FDE_CSSOVERFLOW CFDE_CSSStyleSelector::ToOverflow(FDE_CSSPROPERTYVALUE eValue) { |
1259 switch (eValue) { | 1272 switch (eValue) { |
1260 case FDE_CSSPROPERTYVALUE_Visible: | 1273 case FDE_CSSPROPERTYVALUE_Visible: |
1261 return FDE_CSSOVERFLOW_Visible; | 1274 return FDE_CSSOVERFLOW_Visible; |
1262 case FDE_CSSPROPERTYVALUE_Hidden: | 1275 case FDE_CSSPROPERTYVALUE_Hidden: |
1263 return FDE_CSSOVERFLOW_Hidden; | 1276 return FDE_CSSOVERFLOW_Hidden; |
1264 case FDE_CSSPROPERTYVALUE_Scroll: | 1277 case FDE_CSSPROPERTYVALUE_Scroll: |
1265 return FDE_CSSOVERFLOW_Scroll; | 1278 return FDE_CSSOVERFLOW_Scroll; |
1266 case FDE_CSSPROPERTYVALUE_Auto: | 1279 case FDE_CSSPROPERTYVALUE_Auto: |
1267 return FDE_CSSOVERFLOW_Auto; | 1280 return FDE_CSSOVERFLOW_Auto; |
1268 case FDE_CSSPROPERTYVALUE_NoDisplay: | 1281 case FDE_CSSPROPERTYVALUE_NoDisplay: |
1269 return FDE_CSSOVERFLOW_NoDisplay; | 1282 return FDE_CSSOVERFLOW_NoDisplay; |
1270 case FDE_CSSPROPERTYVALUE_NoContent: | 1283 case FDE_CSSPROPERTYVALUE_NoContent: |
1271 return FDE_CSSOVERFLOW_NoContent; | 1284 return FDE_CSSOVERFLOW_NoContent; |
1272 default: | 1285 default: |
1273 return FDE_CSSOVERFLOW_Visible; | 1286 return FDE_CSSOVERFLOW_Visible; |
1274 } | 1287 } |
1275 } | 1288 } |
| 1289 |
1276 FDE_CSSWRITINGMODE CFDE_CSSStyleSelector::ToWritingMode( | 1290 FDE_CSSWRITINGMODE CFDE_CSSStyleSelector::ToWritingMode( |
1277 FDE_CSSPROPERTYVALUE eValue) { | 1291 FDE_CSSPROPERTYVALUE eValue) { |
1278 switch (eValue) { | 1292 switch (eValue) { |
1279 case FDE_CSSPROPERTYVALUE_HorizontalTb: | 1293 case FDE_CSSPROPERTYVALUE_HorizontalTb: |
1280 return FDE_CSSWRITINGMODE_HorizontalTb; | 1294 return FDE_CSSWRITINGMODE_HorizontalTb; |
1281 case FDE_CSSPROPERTYVALUE_VerticalRl: | 1295 case FDE_CSSPROPERTYVALUE_VerticalRl: |
1282 return FDE_CSSWRITINGMODE_VerticalRl; | 1296 return FDE_CSSWRITINGMODE_VerticalRl; |
1283 case FDE_CSSPROPERTYVALUE_VerticalLr: | 1297 case FDE_CSSPROPERTYVALUE_VerticalLr: |
1284 return FDE_CSSWRITINGMODE_VerticalLr; | 1298 return FDE_CSSWRITINGMODE_VerticalLr; |
1285 default: | 1299 default: |
1286 return FDE_CSSWRITINGMODE_HorizontalTb; | 1300 return FDE_CSSWRITINGMODE_HorizontalTb; |
1287 } | 1301 } |
1288 } | 1302 } |
| 1303 |
1289 FDE_CSSWORDBREAK CFDE_CSSStyleSelector::ToWordBreak( | 1304 FDE_CSSWORDBREAK CFDE_CSSStyleSelector::ToWordBreak( |
1290 FDE_CSSPROPERTYVALUE eValue) { | 1305 FDE_CSSPROPERTYVALUE eValue) { |
1291 switch (eValue) { | 1306 switch (eValue) { |
1292 case FDE_CSSPROPERTYVALUE_Normal: | 1307 case FDE_CSSPROPERTYVALUE_Normal: |
1293 return FDE_CSSWORDBREAK_Normal; | 1308 return FDE_CSSWORDBREAK_Normal; |
1294 case FDE_CSSPROPERTYVALUE_KeepAll: | 1309 case FDE_CSSPROPERTYVALUE_KeepAll: |
1295 return FDE_CSSWORDBREAK_KeepAll; | 1310 return FDE_CSSWORDBREAK_KeepAll; |
1296 case FDE_CSSPROPERTYVALUE_BreakAll: | 1311 case FDE_CSSPROPERTYVALUE_BreakAll: |
1297 return FDE_CSSWORDBREAK_BreakAll; | 1312 return FDE_CSSWORDBREAK_BreakAll; |
1298 case FDE_CSSPROPERTYVALUE_KeepWords: | 1313 case FDE_CSSPROPERTYVALUE_KeepWords: |
1299 return FDE_CSSWORDBREAK_KeepWords; | 1314 return FDE_CSSWORDBREAK_KeepWords; |
1300 default: | 1315 default: |
1301 return FDE_CSSWORDBREAK_Normal; | 1316 return FDE_CSSWORDBREAK_Normal; |
1302 } | 1317 } |
1303 } | 1318 } |
| 1319 |
1304 FDE_CSSFLOAT CFDE_CSSStyleSelector::ToFloat(FDE_CSSPROPERTYVALUE eValue) { | 1320 FDE_CSSFLOAT CFDE_CSSStyleSelector::ToFloat(FDE_CSSPROPERTYVALUE eValue) { |
1305 switch (eValue) { | 1321 switch (eValue) { |
1306 case FDE_CSSPROPERTYVALUE_Left: | 1322 case FDE_CSSPROPERTYVALUE_Left: |
1307 return FDE_CSSFLOAT_Left; | 1323 return FDE_CSSFLOAT_Left; |
1308 case FDE_CSSPROPERTYVALUE_Right: | 1324 case FDE_CSSPROPERTYVALUE_Right: |
1309 return FDE_CSSFLOAT_Right; | 1325 return FDE_CSSFLOAT_Right; |
1310 case FDE_CSSPROPERTYVALUE_None: | 1326 case FDE_CSSPROPERTYVALUE_None: |
1311 return FDE_CSSFLOAT_None; | 1327 return FDE_CSSFLOAT_None; |
1312 default: | 1328 default: |
1313 return FDE_CSSFLOAT_None; | 1329 return FDE_CSSFLOAT_None; |
1314 } | 1330 } |
1315 } | 1331 } |
| 1332 |
1316 FDE_CSSCLEAR CFDE_CSSStyleSelector::ToClear(FDE_CSSPROPERTYVALUE eValue) { | 1333 FDE_CSSCLEAR CFDE_CSSStyleSelector::ToClear(FDE_CSSPROPERTYVALUE eValue) { |
1317 switch (eValue) { | 1334 switch (eValue) { |
1318 case FDE_CSSPROPERTYVALUE_None: | 1335 case FDE_CSSPROPERTYVALUE_None: |
1319 return FDE_CSSCLEAR_None; | 1336 return FDE_CSSCLEAR_None; |
1320 case FDE_CSSPROPERTYVALUE_Left: | 1337 case FDE_CSSPROPERTYVALUE_Left: |
1321 return FDE_CSSCLEAR_Left; | 1338 return FDE_CSSCLEAR_Left; |
1322 case FDE_CSSPROPERTYVALUE_Right: | 1339 case FDE_CSSPROPERTYVALUE_Right: |
1323 return FDE_CSSCLEAR_Right; | 1340 return FDE_CSSCLEAR_Right; |
1324 case FDE_CSSPROPERTYVALUE_Both: | 1341 case FDE_CSSPROPERTYVALUE_Both: |
1325 return FDE_CSSCLEAR_Both; | 1342 return FDE_CSSCLEAR_Both; |
1326 default: | 1343 default: |
1327 return FDE_CSSCLEAR_None; | 1344 return FDE_CSSCLEAR_None; |
1328 } | 1345 } |
1329 } | 1346 } |
| 1347 |
1330 FDE_CSSPAGEBREAK CFDE_CSSStyleSelector::ToPageBreak( | 1348 FDE_CSSPAGEBREAK CFDE_CSSStyleSelector::ToPageBreak( |
1331 FDE_CSSPROPERTYVALUE eValue) { | 1349 FDE_CSSPROPERTYVALUE eValue) { |
1332 switch (eValue) { | 1350 switch (eValue) { |
1333 case FDE_CSSPROPERTYVALUE_Avoid: | 1351 case FDE_CSSPROPERTYVALUE_Avoid: |
1334 return FDE_CSSPAGEBREAK_Avoid; | 1352 return FDE_CSSPAGEBREAK_Avoid; |
1335 case FDE_CSSPROPERTYVALUE_Auto: | 1353 case FDE_CSSPROPERTYVALUE_Auto: |
1336 return FDE_CSSPAGEBREAK_Auto; | 1354 return FDE_CSSPAGEBREAK_Auto; |
1337 case FDE_CSSPROPERTYVALUE_Always: | 1355 case FDE_CSSPROPERTYVALUE_Always: |
1338 return FDE_CSSPAGEBREAK_Always; | 1356 return FDE_CSSPAGEBREAK_Always; |
1339 case FDE_CSSPROPERTYVALUE_Left: | 1357 case FDE_CSSPROPERTYVALUE_Left: |
1340 return FDE_CSSPAGEBREAK_Left; | 1358 return FDE_CSSPAGEBREAK_Left; |
1341 case FDE_CSSPROPERTYVALUE_Right: | 1359 case FDE_CSSPROPERTYVALUE_Right: |
1342 return FDE_CSSPAGEBREAK_Right; | 1360 return FDE_CSSPAGEBREAK_Right; |
1343 default: | 1361 default: |
1344 return FDE_CSSPAGEBREAK_Auto; | 1362 return FDE_CSSPAGEBREAK_Auto; |
1345 } | 1363 } |
1346 } | 1364 } |
| 1365 |
1347 FDE_CSSDISPLAY CFDE_CSSStyleSelector::ToDisplay(FDE_CSSPROPERTYVALUE eValue) { | 1366 FDE_CSSDISPLAY CFDE_CSSStyleSelector::ToDisplay(FDE_CSSPROPERTYVALUE eValue) { |
1348 switch (eValue) { | 1367 switch (eValue) { |
1349 case FDE_CSSPROPERTYVALUE_Inline: | 1368 case FDE_CSSPROPERTYVALUE_Inline: |
1350 return FDE_CSSDISPLAY_Inline; | 1369 return FDE_CSSDISPLAY_Inline; |
1351 case FDE_CSSPROPERTYVALUE_Block: | 1370 case FDE_CSSPROPERTYVALUE_Block: |
1352 return FDE_CSSDISPLAY_Block; | 1371 return FDE_CSSDISPLAY_Block; |
1353 case FDE_CSSPROPERTYVALUE_None: | 1372 case FDE_CSSPROPERTYVALUE_None: |
1354 return FDE_CSSDISPLAY_None; | 1373 return FDE_CSSDISPLAY_None; |
1355 case FDE_CSSPROPERTYVALUE_ListItem: | 1374 case FDE_CSSPROPERTYVALUE_ListItem: |
1356 return FDE_CSSDISPLAY_ListItem; | 1375 return FDE_CSSDISPLAY_ListItem; |
(...skipping 28 matching lines...) Expand all Loading... |
1385 case FDE_CSSPROPERTYVALUE_RubyText: | 1404 case FDE_CSSPROPERTYVALUE_RubyText: |
1386 return FDE_CSSDISPLAY_RubyText; | 1405 return FDE_CSSDISPLAY_RubyText; |
1387 case FDE_CSSPROPERTYVALUE_RubyBaseGroup: | 1406 case FDE_CSSPROPERTYVALUE_RubyBaseGroup: |
1388 return FDE_CSSDISPLSY_RubyBaseGroup; | 1407 return FDE_CSSDISPLSY_RubyBaseGroup; |
1389 case FDE_CSSPROPERTYVALUE_RubyTextGroup: | 1408 case FDE_CSSPROPERTYVALUE_RubyTextGroup: |
1390 return FDE_CSSDISPLAY_RubyTextGroup; | 1409 return FDE_CSSDISPLAY_RubyTextGroup; |
1391 default: | 1410 default: |
1392 return FDE_CSSDISPLAY_Inline; | 1411 return FDE_CSSDISPLAY_Inline; |
1393 } | 1412 } |
1394 } | 1413 } |
| 1414 |
1395 FDE_CSSTEXTALIGN CFDE_CSSStyleSelector::ToTextAlign( | 1415 FDE_CSSTEXTALIGN CFDE_CSSStyleSelector::ToTextAlign( |
1396 FDE_CSSPROPERTYVALUE eValue) { | 1416 FDE_CSSPROPERTYVALUE eValue) { |
1397 switch (eValue) { | 1417 switch (eValue) { |
1398 case FDE_CSSPROPERTYVALUE_Left: | 1418 case FDE_CSSPROPERTYVALUE_Left: |
1399 return FDE_CSSTEXTALIGN_Left; | 1419 return FDE_CSSTEXTALIGN_Left; |
1400 case FDE_CSSPROPERTYVALUE_Center: | 1420 case FDE_CSSPROPERTYVALUE_Center: |
1401 return FDE_CSSTEXTALIGN_Center; | 1421 return FDE_CSSTEXTALIGN_Center; |
1402 case FDE_CSSPROPERTYVALUE_Right: | 1422 case FDE_CSSPROPERTYVALUE_Right: |
1403 return FDE_CSSTEXTALIGN_Right; | 1423 return FDE_CSSTEXTALIGN_Right; |
1404 case FDE_CSSPROPERTYVALUE_Justify: | 1424 case FDE_CSSPROPERTYVALUE_Justify: |
1405 return FDE_CSSTEXTALIGN_Justify; | 1425 return FDE_CSSTEXTALIGN_Justify; |
1406 default: | 1426 default: |
1407 return FDE_CSSTEXTALIGN_Left; | 1427 return FDE_CSSTEXTALIGN_Left; |
1408 } | 1428 } |
1409 } | 1429 } |
| 1430 |
1410 uint16_t CFDE_CSSStyleSelector::ToFontWeight(FDE_CSSPROPERTYVALUE eValue) { | 1431 uint16_t CFDE_CSSStyleSelector::ToFontWeight(FDE_CSSPROPERTYVALUE eValue) { |
1411 switch (eValue) { | 1432 switch (eValue) { |
1412 case FDE_CSSPROPERTYVALUE_Normal: | 1433 case FDE_CSSPROPERTYVALUE_Normal: |
1413 return 400; | 1434 return 400; |
1414 case FDE_CSSPROPERTYVALUE_Bold: | 1435 case FDE_CSSPROPERTYVALUE_Bold: |
1415 return 700; | 1436 return 700; |
1416 case FDE_CSSPROPERTYVALUE_Bolder: | 1437 case FDE_CSSPROPERTYVALUE_Bolder: |
1417 return 900; | 1438 return 900; |
1418 case FDE_CSSPROPERTYVALUE_Lighter: | 1439 case FDE_CSSPROPERTYVALUE_Lighter: |
1419 return 200; | 1440 return 200; |
1420 default: | 1441 default: |
1421 return 400; | 1442 return 400; |
1422 } | 1443 } |
1423 } | 1444 } |
| 1445 |
1424 FDE_CSSFONTSTYLE CFDE_CSSStyleSelector::ToFontStyle( | 1446 FDE_CSSFONTSTYLE CFDE_CSSStyleSelector::ToFontStyle( |
1425 FDE_CSSPROPERTYVALUE eValue) { | 1447 FDE_CSSPROPERTYVALUE eValue) { |
1426 switch (eValue) { | 1448 switch (eValue) { |
1427 case FDE_CSSPROPERTYVALUE_Italic: | 1449 case FDE_CSSPROPERTYVALUE_Italic: |
1428 case FDE_CSSPROPERTYVALUE_Oblique: | 1450 case FDE_CSSPROPERTYVALUE_Oblique: |
1429 return FDE_CSSFONTSTYLE_Italic; | 1451 return FDE_CSSFONTSTYLE_Italic; |
1430 default: | 1452 default: |
1431 return FDE_CSSFONTSTYLE_Normal; | 1453 return FDE_CSSFONTSTYLE_Normal; |
1432 } | 1454 } |
1433 } | 1455 } |
| 1456 |
1434 FDE_CSSBORDERSTYLE CFDE_CSSStyleSelector::ToBorderStyle( | 1457 FDE_CSSBORDERSTYLE CFDE_CSSStyleSelector::ToBorderStyle( |
1435 FDE_CSSPROPERTYVALUE eValue) { | 1458 FDE_CSSPROPERTYVALUE eValue) { |
1436 switch (eValue) { | 1459 switch (eValue) { |
1437 case FDE_CSSPROPERTYVALUE_None: | 1460 case FDE_CSSPROPERTYVALUE_None: |
1438 return FDE_CSSBORDERSTYLE_None; | 1461 return FDE_CSSBORDERSTYLE_None; |
1439 case FDE_CSSPROPERTYVALUE_Solid: | 1462 case FDE_CSSPROPERTYVALUE_Solid: |
1440 return FDE_CSSBORDERSTYLE_Solid; | 1463 return FDE_CSSBORDERSTYLE_Solid; |
1441 case FDE_CSSPROPERTYVALUE_Hidden: | 1464 case FDE_CSSPROPERTYVALUE_Hidden: |
1442 return FDE_CSSBORDERSTYLE_Hidden; | 1465 return FDE_CSSBORDERSTYLE_Hidden; |
1443 case FDE_CSSPROPERTYVALUE_Dotted: | 1466 case FDE_CSSPROPERTYVALUE_Dotted: |
1444 return FDE_CSSBORDERSTYLE_Dotted; | 1467 return FDE_CSSBORDERSTYLE_Dotted; |
1445 case FDE_CSSPROPERTYVALUE_Dashed: | 1468 case FDE_CSSPROPERTYVALUE_Dashed: |
1446 return FDE_CSSBORDERSTYLE_Dashed; | 1469 return FDE_CSSBORDERSTYLE_Dashed; |
1447 case FDE_CSSPROPERTYVALUE_Double: | 1470 case FDE_CSSPROPERTYVALUE_Double: |
1448 return FDE_CSSBORDERSTYLE_Double; | 1471 return FDE_CSSBORDERSTYLE_Double; |
1449 case FDE_CSSPROPERTYVALUE_Groove: | 1472 case FDE_CSSPROPERTYVALUE_Groove: |
1450 return FDE_CSSBORDERSTYLE_Groove; | 1473 return FDE_CSSBORDERSTYLE_Groove; |
1451 case FDE_CSSPROPERTYVALUE_Ridge: | 1474 case FDE_CSSPROPERTYVALUE_Ridge: |
1452 return FDE_CSSBORDERSTYLE_Ridge; | 1475 return FDE_CSSBORDERSTYLE_Ridge; |
1453 case FDE_CSSPROPERTYVALUE_Inset: | 1476 case FDE_CSSPROPERTYVALUE_Inset: |
1454 return FDE_CSSBORDERSTYLE_Inset; | 1477 return FDE_CSSBORDERSTYLE_Inset; |
1455 case FDE_CSSPROPERTYVALUE_Outset: | 1478 case FDE_CSSPROPERTYVALUE_Outset: |
1456 return FDE_CSSBORDERSTYLE_outset; | 1479 return FDE_CSSBORDERSTYLE_outset; |
1457 default: | 1480 default: |
1458 return FDE_CSSBORDERSTYLE_None; | 1481 return FDE_CSSBORDERSTYLE_None; |
1459 } | 1482 } |
1460 } | 1483 } |
| 1484 |
1461 FX_BOOL CFDE_CSSStyleSelector::SetLengthWithPercent( | 1485 FX_BOOL CFDE_CSSStyleSelector::SetLengthWithPercent( |
1462 FDE_CSSLENGTH& width, | 1486 FDE_CSSLENGTH& width, |
1463 FDE_CSSPRIMITIVETYPE eType, | 1487 FDE_CSSPRIMITIVETYPE eType, |
1464 IFDE_CSSPrimitiveValue* pPrimitive, | 1488 IFDE_CSSPrimitiveValue* pPrimitive, |
1465 FX_FLOAT fFontSize) { | 1489 FX_FLOAT fFontSize) { |
1466 if (eType == FDE_CSSPRIMITIVETYPE_Percent) { | 1490 if (eType == FDE_CSSPRIMITIVETYPE_Percent) { |
1467 width.Set(FDE_CSSLENGTHUNIT_Percent, pPrimitive->GetFloat() / 100.0f); | 1491 width.Set(FDE_CSSLENGTHUNIT_Percent, pPrimitive->GetFloat() / 100.0f); |
1468 return width.NonZero(); | 1492 return width.NonZero(); |
1469 } else if (eType >= FDE_CSSPRIMITIVETYPE_Number && | 1493 } else if (eType >= FDE_CSSPRIMITIVETYPE_Number && |
1470 eType <= FDE_CSSPRIMITIVETYPE_PC) { | 1494 eType <= FDE_CSSPRIMITIVETYPE_PC) { |
(...skipping 16 matching lines...) Expand all Loading... |
1487 return TRUE; | 1511 return TRUE; |
1488 case FDE_CSSPROPERTYVALUE_Thick: | 1512 case FDE_CSSPROPERTYVALUE_Thick: |
1489 width.Set(FDE_CSSLENGTHUNIT_Point, 4); | 1513 width.Set(FDE_CSSLENGTHUNIT_Point, 4); |
1490 return TRUE; | 1514 return TRUE; |
1491 default: | 1515 default: |
1492 return FALSE; | 1516 return FALSE; |
1493 } | 1517 } |
1494 } | 1518 } |
1495 return FALSE; | 1519 return FALSE; |
1496 } | 1520 } |
| 1521 |
1497 FX_FLOAT CFDE_CSSStyleSelector::ToFontSize(FDE_CSSPROPERTYVALUE eValue, | 1522 FX_FLOAT CFDE_CSSStyleSelector::ToFontSize(FDE_CSSPROPERTYVALUE eValue, |
1498 FX_FLOAT fCurFontSize) { | 1523 FX_FLOAT fCurFontSize) { |
1499 switch (eValue) { | 1524 switch (eValue) { |
1500 case FDE_CSSPROPERTYVALUE_XxSmall: | 1525 case FDE_CSSPROPERTYVALUE_XxSmall: |
1501 return m_fDefFontSize / 1.2f / 1.2f / 1.2f; | 1526 return m_fDefFontSize / 1.2f / 1.2f / 1.2f; |
1502 case FDE_CSSPROPERTYVALUE_XSmall: | 1527 case FDE_CSSPROPERTYVALUE_XSmall: |
1503 return m_fDefFontSize / 1.2f / 1.2f; | 1528 return m_fDefFontSize / 1.2f / 1.2f; |
1504 case FDE_CSSPROPERTYVALUE_Small: | 1529 case FDE_CSSPROPERTYVALUE_Small: |
1505 return m_fDefFontSize / 1.2f; | 1530 return m_fDefFontSize / 1.2f; |
1506 case FDE_CSSPROPERTYVALUE_Medium: | 1531 case FDE_CSSPROPERTYVALUE_Medium: |
1507 return m_fDefFontSize; | 1532 return m_fDefFontSize; |
1508 case FDE_CSSPROPERTYVALUE_Large: | 1533 case FDE_CSSPROPERTYVALUE_Large: |
1509 return m_fDefFontSize * 1.2f; | 1534 return m_fDefFontSize * 1.2f; |
1510 case FDE_CSSPROPERTYVALUE_XLarge: | 1535 case FDE_CSSPROPERTYVALUE_XLarge: |
1511 return m_fDefFontSize * 1.2f * 1.2f; | 1536 return m_fDefFontSize * 1.2f * 1.2f; |
1512 case FDE_CSSPROPERTYVALUE_XxLarge: | 1537 case FDE_CSSPROPERTYVALUE_XxLarge: |
1513 return m_fDefFontSize * 1.2f * 1.2f * 1.2f; | 1538 return m_fDefFontSize * 1.2f * 1.2f * 1.2f; |
1514 case FDE_CSSPROPERTYVALUE_Larger: | 1539 case FDE_CSSPROPERTYVALUE_Larger: |
1515 return fCurFontSize * 1.2f; | 1540 return fCurFontSize * 1.2f; |
1516 case FDE_CSSPROPERTYVALUE_Smaller: | 1541 case FDE_CSSPROPERTYVALUE_Smaller: |
1517 return fCurFontSize / 1.2f; | 1542 return fCurFontSize / 1.2f; |
1518 default: | 1543 default: |
1519 return fCurFontSize; | 1544 return fCurFontSize; |
1520 } | 1545 } |
1521 } | 1546 } |
| 1547 |
1522 FDE_CSSVERTICALALIGN CFDE_CSSStyleSelector::ToVerticalAlign( | 1548 FDE_CSSVERTICALALIGN CFDE_CSSStyleSelector::ToVerticalAlign( |
1523 FDE_CSSPROPERTYVALUE eValue) { | 1549 FDE_CSSPROPERTYVALUE eValue) { |
1524 switch (eValue) { | 1550 switch (eValue) { |
1525 case FDE_CSSPROPERTYVALUE_Baseline: | 1551 case FDE_CSSPROPERTYVALUE_Baseline: |
1526 return FDE_CSSVERTICALALIGN_Baseline; | 1552 return FDE_CSSVERTICALALIGN_Baseline; |
1527 case FDE_CSSPROPERTYVALUE_Middle: | 1553 case FDE_CSSPROPERTYVALUE_Middle: |
1528 return FDE_CSSVERTICALALIGN_Middle; | 1554 return FDE_CSSVERTICALALIGN_Middle; |
1529 case FDE_CSSPROPERTYVALUE_Bottom: | 1555 case FDE_CSSPROPERTYVALUE_Bottom: |
1530 return FDE_CSSVERTICALALIGN_Bottom; | 1556 return FDE_CSSVERTICALALIGN_Bottom; |
1531 case FDE_CSSPROPERTYVALUE_Super: | 1557 case FDE_CSSPROPERTYVALUE_Super: |
1532 return FDE_CSSVERTICALALIGN_Super; | 1558 return FDE_CSSVERTICALALIGN_Super; |
1533 case FDE_CSSPROPERTYVALUE_Sub: | 1559 case FDE_CSSPROPERTYVALUE_Sub: |
1534 return FDE_CSSVERTICALALIGN_Sub; | 1560 return FDE_CSSVERTICALALIGN_Sub; |
1535 case FDE_CSSPROPERTYVALUE_Top: | 1561 case FDE_CSSPROPERTYVALUE_Top: |
1536 return FDE_CSSVERTICALALIGN_Top; | 1562 return FDE_CSSVERTICALALIGN_Top; |
1537 case FDE_CSSPROPERTYVALUE_TextTop: | 1563 case FDE_CSSPROPERTYVALUE_TextTop: |
1538 return FDE_CSSVERTICALALIGN_TextTop; | 1564 return FDE_CSSVERTICALALIGN_TextTop; |
1539 case FDE_CSSPROPERTYVALUE_TextBottom: | 1565 case FDE_CSSPROPERTYVALUE_TextBottom: |
1540 return FDE_CSSVERTICALALIGN_TextBottom; | 1566 return FDE_CSSVERTICALALIGN_TextBottom; |
1541 default: | 1567 default: |
1542 return FDE_CSSVERTICALALIGN_Baseline; | 1568 return FDE_CSSVERTICALALIGN_Baseline; |
1543 } | 1569 } |
1544 } | 1570 } |
| 1571 |
1545 FDE_CSSLISTSTYLETYPE CFDE_CSSStyleSelector::ToListStyleType( | 1572 FDE_CSSLISTSTYLETYPE CFDE_CSSStyleSelector::ToListStyleType( |
1546 FDE_CSSPROPERTYVALUE eValue) { | 1573 FDE_CSSPROPERTYVALUE eValue) { |
1547 switch (eValue) { | 1574 switch (eValue) { |
1548 case FDE_CSSPROPERTYVALUE_None: | 1575 case FDE_CSSPROPERTYVALUE_None: |
1549 return FDE_CSSLISTSTYLETYPE_None; | 1576 return FDE_CSSLISTSTYLETYPE_None; |
1550 case FDE_CSSPROPERTYVALUE_Disc: | 1577 case FDE_CSSPROPERTYVALUE_Disc: |
1551 return FDE_CSSLISTSTYLETYPE_Disc; | 1578 return FDE_CSSLISTSTYLETYPE_Disc; |
1552 case FDE_CSSPROPERTYVALUE_Circle: | 1579 case FDE_CSSPROPERTYVALUE_Circle: |
1553 return FDE_CSSLISTSTYLETYPE_Circle; | 1580 return FDE_CSSLISTSTYLETYPE_Circle; |
1554 case FDE_CSSPROPERTYVALUE_Square: | 1581 case FDE_CSSPROPERTYVALUE_Square: |
(...skipping 29 matching lines...) Expand all Loading... |
1584 case FDE_CSSLISTSTYLETYPE_HiraganaIroha: | 1611 case FDE_CSSLISTSTYLETYPE_HiraganaIroha: |
1585 return FDE_CSSLISTSTYLETYPE_HiraganaIroha; | 1612 return FDE_CSSLISTSTYLETYPE_HiraganaIroha; |
1586 case FDE_CSSLISTSTYLETYPE_Katakana: | 1613 case FDE_CSSLISTSTYLETYPE_Katakana: |
1587 return FDE_CSSLISTSTYLETYPE_Katakana; | 1614 return FDE_CSSLISTSTYLETYPE_Katakana; |
1588 case FDE_CSSLISTSTYLETYPE_KatakanaIroha: | 1615 case FDE_CSSLISTSTYLETYPE_KatakanaIroha: |
1589 return FDE_CSSLISTSTYLETYPE_KatakanaIroha; | 1616 return FDE_CSSLISTSTYLETYPE_KatakanaIroha; |
1590 default: | 1617 default: |
1591 return FDE_CSSLISTSTYLETYPE_Disc; | 1618 return FDE_CSSLISTSTYLETYPE_Disc; |
1592 } | 1619 } |
1593 } | 1620 } |
| 1621 |
1594 FDE_CSSLISTSTYLEPOSITION CFDE_CSSStyleSelector::ToListStylePosition( | 1622 FDE_CSSLISTSTYLEPOSITION CFDE_CSSStyleSelector::ToListStylePosition( |
1595 FDE_CSSPROPERTYVALUE eValue) { | 1623 FDE_CSSPROPERTYVALUE eValue) { |
1596 return eValue == FDE_CSSPROPERTYVALUE_Inside | 1624 return eValue == FDE_CSSPROPERTYVALUE_Inside |
1597 ? FDE_CSSLISTSTYLEPOSITION_Inside | 1625 ? FDE_CSSLISTSTYLEPOSITION_Inside |
1598 : FDE_CSSLISTSTYLEPOSITION_Outside; | 1626 : FDE_CSSLISTSTYLEPOSITION_Outside; |
1599 } | 1627 } |
| 1628 |
1600 FDE_CSSVISIBILITY CFDE_CSSStyleSelector::ToVisibility( | 1629 FDE_CSSVISIBILITY CFDE_CSSStyleSelector::ToVisibility( |
1601 FDE_CSSPROPERTYVALUE eValue) { | 1630 FDE_CSSPROPERTYVALUE eValue) { |
1602 switch (eValue) { | 1631 switch (eValue) { |
1603 case FDE_CSSPROPERTYVALUE_Visible: | 1632 case FDE_CSSPROPERTYVALUE_Visible: |
1604 return FDE_CSSVISIBILITY_Visible; | 1633 return FDE_CSSVISIBILITY_Visible; |
1605 case FDE_CSSPROPERTYVALUE_Hidden: | 1634 case FDE_CSSPROPERTYVALUE_Hidden: |
1606 return FDE_CSSVISIBILITY_Hidden; | 1635 return FDE_CSSVISIBILITY_Hidden; |
1607 case FDE_CSSPROPERTYVALUE_Collapse: | 1636 case FDE_CSSPROPERTYVALUE_Collapse: |
1608 return FDE_CSSVISIBILITY_Collapse; | 1637 return FDE_CSSVISIBILITY_Collapse; |
1609 default: | 1638 default: |
1610 return FDE_CSSVISIBILITY_Visible; | 1639 return FDE_CSSVISIBILITY_Visible; |
1611 } | 1640 } |
1612 } | 1641 } |
| 1642 |
1613 FDE_CSSWHITESPACE CFDE_CSSStyleSelector::ToWhiteSpace( | 1643 FDE_CSSWHITESPACE CFDE_CSSStyleSelector::ToWhiteSpace( |
1614 FDE_CSSPROPERTYVALUE eValue) { | 1644 FDE_CSSPROPERTYVALUE eValue) { |
1615 switch (eValue) { | 1645 switch (eValue) { |
1616 case FDE_CSSPROPERTYVALUE_Normal: | 1646 case FDE_CSSPROPERTYVALUE_Normal: |
1617 return FDE_CSSWHITESPACE_Normal; | 1647 return FDE_CSSWHITESPACE_Normal; |
1618 case FDE_CSSPROPERTYVALUE_Pre: | 1648 case FDE_CSSPROPERTYVALUE_Pre: |
1619 return FDE_CSSWHITESPACE_Pre; | 1649 return FDE_CSSWHITESPACE_Pre; |
1620 case FDE_CSSPROPERTYVALUE_Nowrap: | 1650 case FDE_CSSPROPERTYVALUE_Nowrap: |
1621 return FDE_CSSWHITESPACE_Nowrap; | 1651 return FDE_CSSWHITESPACE_Nowrap; |
1622 case FDE_CSSPROPERTYVALUE_PreWrap: | 1652 case FDE_CSSPROPERTYVALUE_PreWrap: |
1623 return FDE_CSSWHITESPACE_PreWrap; | 1653 return FDE_CSSWHITESPACE_PreWrap; |
1624 case FDE_CSSPROPERTYVALUE_PreLine: | 1654 case FDE_CSSPROPERTYVALUE_PreLine: |
1625 return FDE_CSSWHITESPACE_PreLine; | 1655 return FDE_CSSWHITESPACE_PreLine; |
1626 default: | 1656 default: |
1627 return FDE_CSSWHITESPACE_Normal; | 1657 return FDE_CSSWHITESPACE_Normal; |
1628 } | 1658 } |
1629 } | 1659 } |
| 1660 |
1630 uint32_t CFDE_CSSStyleSelector::ToTextDecoration(IFDE_CSSValueList* pValue) { | 1661 uint32_t CFDE_CSSStyleSelector::ToTextDecoration(IFDE_CSSValueList* pValue) { |
1631 uint32_t dwDecoration = 0; | 1662 uint32_t dwDecoration = 0; |
1632 for (int32_t i = pValue->CountValues() - 1; i >= 0; --i) { | 1663 for (int32_t i = pValue->CountValues() - 1; i >= 0; --i) { |
1633 IFDE_CSSPrimitiveValue* pPrimitive = | 1664 IFDE_CSSPrimitiveValue* pPrimitive = |
1634 static_cast<IFDE_CSSPrimitiveValue*>(pValue->GetValue(i)); | 1665 static_cast<IFDE_CSSPrimitiveValue*>(pValue->GetValue(i)); |
1635 if (pPrimitive->GetPrimitiveType() == FDE_CSSPRIMITIVETYPE_Enum) { | 1666 if (pPrimitive->GetPrimitiveType() == FDE_CSSPRIMITIVETYPE_Enum) { |
1636 switch (pPrimitive->GetEnum()) { | 1667 switch (pPrimitive->GetEnum()) { |
1637 case FDE_CSSPROPERTYVALUE_Underline: | 1668 case FDE_CSSPROPERTYVALUE_Underline: |
1638 dwDecoration |= FDE_CSSTEXTDECORATION_Underline; | 1669 dwDecoration |= FDE_CSSTEXTDECORATION_Underline; |
1639 break; | 1670 break; |
1640 case FDE_CSSPROPERTYVALUE_LineThrough: | 1671 case FDE_CSSPROPERTYVALUE_LineThrough: |
1641 dwDecoration |= FDE_CSSTEXTDECORATION_LineThrough; | 1672 dwDecoration |= FDE_CSSTEXTDECORATION_LineThrough; |
1642 break; | 1673 break; |
1643 case FDE_CSSPROPERTYVALUE_Overline: | 1674 case FDE_CSSPROPERTYVALUE_Overline: |
1644 dwDecoration |= FDE_CSSTEXTDECORATION_Overline; | 1675 dwDecoration |= FDE_CSSTEXTDECORATION_Overline; |
1645 break; | 1676 break; |
1646 case FDE_CSSPROPERTYVALUE_Blink: | 1677 case FDE_CSSPROPERTYVALUE_Blink: |
1647 dwDecoration |= FDE_CSSTEXTDECORATION_Blink; | 1678 dwDecoration |= FDE_CSSTEXTDECORATION_Blink; |
1648 break; | 1679 break; |
1649 case FDE_CSSPROPERTYVALUE_Double: | 1680 case FDE_CSSPROPERTYVALUE_Double: |
1650 dwDecoration |= FDE_CSSTEXTDECORATION_Double; | 1681 dwDecoration |= FDE_CSSTEXTDECORATION_Double; |
1651 break; | 1682 break; |
1652 default: | 1683 default: |
1653 break; | 1684 break; |
1654 } | 1685 } |
1655 } | 1686 } |
1656 } | 1687 } |
1657 return dwDecoration; | 1688 return dwDecoration; |
1658 } | 1689 } |
| 1690 |
1659 FDE_CSSTEXTTRANSFORM CFDE_CSSStyleSelector::ToTextTransform( | 1691 FDE_CSSTEXTTRANSFORM CFDE_CSSStyleSelector::ToTextTransform( |
1660 FDE_CSSPROPERTYVALUE eValue) { | 1692 FDE_CSSPROPERTYVALUE eValue) { |
1661 switch (eValue) { | 1693 switch (eValue) { |
1662 case FDE_CSSPROPERTYVALUE_None: | 1694 case FDE_CSSPROPERTYVALUE_None: |
1663 return FDE_CSSTEXTTRANSFORM_None; | 1695 return FDE_CSSTEXTTRANSFORM_None; |
1664 case FDE_CSSPROPERTYVALUE_Capitalize: | 1696 case FDE_CSSPROPERTYVALUE_Capitalize: |
1665 return FDE_CSSTEXTTRANSFORM_Capitalize; | 1697 return FDE_CSSTEXTTRANSFORM_Capitalize; |
1666 case FDE_CSSPROPERTYVALUE_Uppercase: | 1698 case FDE_CSSPROPERTYVALUE_Uppercase: |
1667 return FDE_CSSTEXTTRANSFORM_UpperCase; | 1699 return FDE_CSSTEXTTRANSFORM_UpperCase; |
1668 case FDE_CSSPROPERTYVALUE_Lowercase: | 1700 case FDE_CSSPROPERTYVALUE_Lowercase: |
1669 return FDE_CSSTEXTTRANSFORM_LowerCase; | 1701 return FDE_CSSTEXTTRANSFORM_LowerCase; |
1670 default: | 1702 default: |
1671 return FDE_CSSTEXTTRANSFORM_None; | 1703 return FDE_CSSTEXTTRANSFORM_None; |
1672 } | 1704 } |
1673 } | 1705 } |
| 1706 |
1674 FDE_CSSFONTVARIANT CFDE_CSSStyleSelector::ToFontVariant( | 1707 FDE_CSSFONTVARIANT CFDE_CSSStyleSelector::ToFontVariant( |
1675 FDE_CSSPROPERTYVALUE eValue) { | 1708 FDE_CSSPROPERTYVALUE eValue) { |
1676 return eValue == FDE_CSSPROPERTYVALUE_SmallCaps ? FDE_CSSFONTVARIANT_SmallCaps | 1709 return eValue == FDE_CSSPROPERTYVALUE_SmallCaps ? FDE_CSSFONTVARIANT_SmallCaps |
1677 : FDE_CSSFONTVARIANT_Normal; | 1710 : FDE_CSSFONTVARIANT_Normal; |
1678 } | 1711 } |
1679 | 1712 |
1680 CFDE_CSSComputedStyle::CFDE_CSSComputedStyle(IFX_MemoryAllocator* pAlloc) | 1713 CFDE_CSSComputedStyle::CFDE_CSSComputedStyle(IFX_MemoryAllocator* pAlloc) |
1681 : m_dwRefCount(1), m_pAllocator(pAlloc) {} | 1714 : m_dwRefCount(1), m_pAllocator(pAlloc) {} |
1682 | 1715 |
1683 CFDE_CSSComputedStyle::~CFDE_CSSComputedStyle() {} | 1716 CFDE_CSSComputedStyle::~CFDE_CSSComputedStyle() {} |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1899 m_MaxBoxSize.Set(FDE_CSSLENGTHUNIT_None); | 1932 m_MaxBoxSize.Set(FDE_CSSLENGTHUNIT_None); |
1900 m_eDisplay = FDE_CSSDISPLAY_Inline; | 1933 m_eDisplay = FDE_CSSDISPLAY_Inline; |
1901 m_fVerticalAlign = 0.0f; | 1934 m_fVerticalAlign = 0.0f; |
1902 m_ColumnCount.Set(FDE_CSSLENGTHUNIT_Auto); | 1935 m_ColumnCount.Set(FDE_CSSLENGTHUNIT_Auto); |
1903 m_ColumnGap.Set(FDE_CSSLENGTHUNIT_Normal); | 1936 m_ColumnGap.Set(FDE_CSSLENGTHUNIT_Normal); |
1904 m_bColumnRuleColorSame = TRUE; | 1937 m_bColumnRuleColorSame = TRUE; |
1905 m_ColumnWidth.Set(FDE_CSSLENGTHUNIT_Auto); | 1938 m_ColumnWidth.Set(FDE_CSSLENGTHUNIT_Auto); |
1906 m_ColumnRuleWidth.Set(FDE_CSSLENGTHUNIT_Auto); | 1939 m_ColumnRuleWidth.Set(FDE_CSSLENGTHUNIT_Auto); |
1907 m_eTextCombine = FDE_CSSTEXTCOMBINE_None; | 1940 m_eTextCombine = FDE_CSSTEXTCOMBINE_None; |
1908 } | 1941 } |
OLD | NEW |