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