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

Side by Side Diff: xfa/fde/css/fde_cssdatatable.cpp

Issue 2616813002: Remove CFX_MapPtrToPtr from xfa/fde. (Closed)
Patch Set: no FDE_LPC* Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fde/css/fde_cssdatatable.h ('k') | xfa/fde/css/fde_cssstyleselector.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_cssdatatable.h" 7 #include "xfa/fde/css/fde_cssdatatable.h"
8 8
9 #include "core/fxcrt/fx_ext.h" 9 #include "core/fxcrt/fx_ext.h"
10 #include "xfa/fgas/crt/fgas_codepage.h" 10 #include "xfa/fgas/crt/fgas_codepage.h"
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 {0x031B47FE, 0xff000080}, {0x0BB8DF5B, 0xffff0000}, 546 {0x031B47FE, 0xff000080}, {0x0BB8DF5B, 0xffff0000},
547 {0x0D82A78C, 0xff800000}, {0x2ACC82E8, 0xff00ffff}, 547 {0x0D82A78C, 0xff800000}, {0x2ACC82E8, 0xff00ffff},
548 {0x2D083986, 0xff008080}, {0x4A6A6195, 0xffc0c0c0}, 548 {0x2D083986, 0xff008080}, {0x4A6A6195, 0xffc0c0c0},
549 {0x546A8EF3, 0xff808080}, {0x65C9169C, 0xffffa500}, 549 {0x546A8EF3, 0xff808080}, {0x65C9169C, 0xffffa500},
550 {0x8422BB61, 0xffffffff}, {0x9271A558, 0xff800080}, 550 {0x8422BB61, 0xffffffff}, {0x9271A558, 0xff800080},
551 {0xA65A3EE3, 0xffff00ff}, {0xB1345708, 0xff0000ff}, 551 {0xA65A3EE3, 0xffff00ff}, {0xB1345708, 0xff0000ff},
552 {0xB6D2CF1F, 0xff808000}, {0xD19B5E1C, 0xffffff00}, 552 {0xB6D2CF1F, 0xff808000}, {0xD19B5E1C, 0xffffff00},
553 {0xDB64391D, 0xff000000}, {0xF616D507, 0xff00ff00}, 553 {0xDB64391D, 0xff000000}, {0xF616D507, 0xff00ff00},
554 {0xF6EFFF31, 0xff008000}, 554 {0xF6EFFF31, 0xff008000},
555 }; 555 };
556 static const FDE_CSSPERSUDOTABLE g_FDE_CSSPersudoType[] = { 556 static const FDE_CSSPSEUDOTABLE g_FDE_CSSPseudoType[] = {
557 {FDE_CSSPERSUDO_After, L":after", 0x16EE1FEC}, 557 {FDE_CSSPSEUDO_After, L":after", 0x16EE1FEC},
558 {FDE_CSSPERSUDO_Before, L":before", 0x7DCDDE2D}, 558 {FDE_CSSPSEUDO_Before, L":before", 0x7DCDDE2D},
559 }; 559 };
560 FDE_LPCCSSPERSUDOTABLE FDE_GetCSSPersudoByEnum(FDE_CSSPERSUDO ePersudo) { 560 const FDE_CSSPSEUDOTABLE* FDE_GetCSSPseudoByEnum(FDE_CSSPSEUDO ePseudo) {
561 return (ePersudo < FDE_CSSPERSUDO_NONE) ? (g_FDE_CSSPersudoType + ePersudo) 561 return ePseudo < FDE_CSSPSEUDO_NONE ? g_FDE_CSSPseudoType + ePseudo : nullptr;
562 : nullptr;
563 } 562 }
564 const FDE_CSSPROPERTYTABLE* FDE_GetCSSPropertyByName( 563 const FDE_CSSPROPERTYTABLE* FDE_GetCSSPropertyByName(
565 const CFX_WideStringC& wsName) { 564 const CFX_WideStringC& wsName) {
566 ASSERT(!wsName.IsEmpty()); 565 ASSERT(!wsName.IsEmpty());
567 uint32_t dwHash = FX_HashCode_GetW(wsName, true); 566 uint32_t dwHash = FX_HashCode_GetW(wsName, true);
568 int32_t iEnd = FDE_CSSPROPERTY_MAX - 1; 567 int32_t iEnd = FDE_CSSPROPERTY_MAX - 1;
569 int32_t iMid, iStart = 0; 568 int32_t iMid, iStart = 0;
570 uint32_t dwMid; 569 uint32_t dwMid;
571 do { 570 do {
572 iMid = (iStart + iEnd) / 2; 571 iMid = (iStart + iEnd) / 2;
(...skipping 30 matching lines...) Expand all
603 iEnd = iMid - 1; 602 iEnd = iMid - 1;
604 } 603 }
605 } while (iStart <= iEnd); 604 } while (iStart <= iEnd);
606 return nullptr; 605 return nullptr;
607 } 606 }
608 const FDE_CSSPROPERTYVALUETABLE* FDE_GetCSSPropertyValueByEnum( 607 const FDE_CSSPROPERTYVALUETABLE* FDE_GetCSSPropertyValueByEnum(
609 FDE_CSSPROPERTYVALUE eName) { 608 FDE_CSSPROPERTYVALUE eName) {
610 return (eName < FDE_CSSPROPERTYVALUE_MAX) ? (g_FDE_CSSPropertyValues + eName) 609 return (eName < FDE_CSSPROPERTYVALUE_MAX) ? (g_FDE_CSSPropertyValues + eName)
611 : nullptr; 610 : nullptr;
612 } 611 }
613 FDE_LPCCSSMEDIATYPETABLE FDE_GetCSSMediaTypeByName( 612 const FDE_CSSMEDIATYPETABLE* FDE_GetCSSMediaTypeByName(
614 const CFX_WideStringC& wsName) { 613 const CFX_WideStringC& wsName) {
615 ASSERT(!wsName.IsEmpty()); 614 ASSERT(!wsName.IsEmpty());
616 uint16_t wHash = FX_HashCode_GetW(wsName, true); 615 uint16_t wHash = FX_HashCode_GetW(wsName, true);
617 int32_t iEnd = 616 int32_t iEnd =
618 sizeof(g_FDE_CSSMediaTypes) / sizeof(FDE_CSSMEDIATYPETABLE) - 1; 617 sizeof(g_FDE_CSSMediaTypes) / sizeof(FDE_CSSMEDIATYPETABLE) - 1;
619 int32_t iMid, iStart = 0; 618 int32_t iMid, iStart = 0;
620 uint16_t uMid; 619 uint16_t uMid;
621 do { 620 do {
622 iMid = (iStart + iEnd) / 2; 621 iMid = (iStart + iEnd) / 2;
623 uMid = g_FDE_CSSMediaTypes[iMid].wHash; 622 uMid = g_FDE_CSSMediaTypes[iMid].wHash;
624 if (wHash == uMid) { 623 if (wHash == uMid) {
625 return g_FDE_CSSMediaTypes + iMid; 624 return g_FDE_CSSMediaTypes + iMid;
626 } else if (wHash > uMid) { 625 } else if (wHash > uMid) {
627 iStart = iMid + 1; 626 iStart = iMid + 1;
628 } else { 627 } else {
629 iEnd = iMid - 1; 628 iEnd = iMid - 1;
630 } 629 }
631 } while (iStart <= iEnd); 630 } while (iStart <= iEnd);
632 return nullptr; 631 return nullptr;
633 } 632 }
634 FDE_LPCCSSLENGTHUNITTABLE FDE_GetCSSLengthUnitByName( 633
634 const FDE_CSSLENGTHUNITTABLE* FDE_GetCSSLengthUnitByName(
635 const CFX_WideStringC& wsName) { 635 const CFX_WideStringC& wsName) {
636 ASSERT(!wsName.IsEmpty()); 636 ASSERT(!wsName.IsEmpty());
637 uint16_t wHash = FX_HashCode_GetW(wsName, true); 637 uint16_t wHash = FX_HashCode_GetW(wsName, true);
638 int32_t iEnd = 638 int32_t iEnd =
639 sizeof(g_FDE_CSSLengthUnits) / sizeof(FDE_CSSLENGTHUNITTABLE) - 1; 639 sizeof(g_FDE_CSSLengthUnits) / sizeof(FDE_CSSLENGTHUNITTABLE) - 1;
640 int32_t iMid, iStart = 0; 640 int32_t iMid, iStart = 0;
641 uint16_t wMid; 641 uint16_t wMid;
642 do { 642 do {
643 iMid = (iStart + iEnd) / 2; 643 iMid = (iStart + iEnd) / 2;
644 wMid = g_FDE_CSSLengthUnits[iMid].wHash; 644 wMid = g_FDE_CSSLengthUnits[iMid].wHash;
645 if (wHash == wMid) { 645 if (wHash == wMid) {
646 return g_FDE_CSSLengthUnits + iMid; 646 return g_FDE_CSSLengthUnits + iMid;
647 } else if (wHash > wMid) { 647 } else if (wHash > wMid) {
648 iStart = iMid + 1; 648 iStart = iMid + 1;
649 } else { 649 } else {
650 iEnd = iMid - 1; 650 iEnd = iMid - 1;
651 } 651 }
652 } while (iStart <= iEnd); 652 } while (iStart <= iEnd);
653 return nullptr; 653 return nullptr;
654 } 654 }
655 FDE_LPCCSSCOLORTABLE FDE_GetCSSColorByName(const CFX_WideStringC& wsName) { 655
656 const FDE_CSSCOLORTABLE* FDE_GetCSSColorByName(const CFX_WideStringC& wsName) {
656 ASSERT(!wsName.IsEmpty()); 657 ASSERT(!wsName.IsEmpty());
657 uint32_t dwHash = FX_HashCode_GetW(wsName, true); 658 uint32_t dwHash = FX_HashCode_GetW(wsName, true);
658 int32_t iEnd = sizeof(g_FDE_CSSColors) / sizeof(FDE_CSSCOLORTABLE) - 1; 659 int32_t iEnd = sizeof(g_FDE_CSSColors) / sizeof(FDE_CSSCOLORTABLE) - 1;
659 int32_t iMid, iStart = 0; 660 int32_t iMid, iStart = 0;
660 uint32_t dwMid; 661 uint32_t dwMid;
661 do { 662 do {
662 iMid = (iStart + iEnd) / 2; 663 iMid = (iStart + iEnd) / 2;
663 dwMid = g_FDE_CSSColors[iMid].dwHash; 664 dwMid = g_FDE_CSSColors[iMid].dwHash;
664 if (dwHash == dwMid) { 665 if (dwHash == dwMid) {
665 return g_FDE_CSSColors + iMid; 666 return g_FDE_CSSColors + iMid;
(...skipping 15 matching lines...) Expand all
681 fValue = FXSYS_wcstof(pszValue, iValueLen, &iUsedLen); 682 fValue = FXSYS_wcstof(pszValue, iValueLen, &iUsedLen);
682 if (iUsedLen <= 0) 683 if (iUsedLen <= 0)
683 return false; 684 return false;
684 685
685 iValueLen -= iUsedLen; 686 iValueLen -= iUsedLen;
686 pszValue += iUsedLen; 687 pszValue += iUsedLen;
687 eUnit = FDE_CSSPRIMITIVETYPE_Number; 688 eUnit = FDE_CSSPRIMITIVETYPE_Number;
688 if (iValueLen >= 1 && *pszValue == '%') { 689 if (iValueLen >= 1 && *pszValue == '%') {
689 eUnit = FDE_CSSPRIMITIVETYPE_Percent; 690 eUnit = FDE_CSSPRIMITIVETYPE_Percent;
690 } else if (iValueLen == 2) { 691 } else if (iValueLen == 2) {
691 FDE_LPCCSSLENGTHUNITTABLE pUnit = 692 const FDE_CSSLENGTHUNITTABLE* pUnit =
692 FDE_GetCSSLengthUnitByName(CFX_WideStringC(pszValue, 2)); 693 FDE_GetCSSLengthUnitByName(CFX_WideStringC(pszValue, 2));
693 if (pUnit) 694 if (pUnit)
694 eUnit = (FDE_CSSPRIMITIVETYPE)pUnit->wValue; 695 eUnit = (FDE_CSSPRIMITIVETYPE)pUnit->wValue;
695 } 696 }
696 return true; 697 return true;
697 } 698 }
698 699
699 bool FDE_ParseCSSString(const FX_WCHAR* pszValue, 700 bool FDE_ParseCSSString(const FX_WCHAR* pszValue,
700 int32_t iValueLen, 701 int32_t iValueLen,
701 int32_t* iOffset, 702 int32_t* iOffset,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 return false; 772 return false;
772 773
773 rgb[i] = eType == FDE_CSSPRIMITIVETYPE_Percent 774 rgb[i] = eType == FDE_CSSPRIMITIVETYPE_Percent
774 ? FXSYS_round(fValue * 2.55f) 775 ? FXSYS_round(fValue * 2.55f)
775 : FXSYS_round(fValue); 776 : FXSYS_round(fValue);
776 } 777 }
777 dwColor = ArgbEncode(255, rgb[0], rgb[1], rgb[2]); 778 dwColor = ArgbEncode(255, rgb[0], rgb[1], rgb[2]);
778 return true; 779 return true;
779 } 780 }
780 781
781 FDE_LPCCSSCOLORTABLE pColor = 782 const FDE_CSSCOLORTABLE* pColor =
782 FDE_GetCSSColorByName(CFX_WideStringC(pszValue, iValueLen)); 783 FDE_GetCSSColorByName(CFX_WideStringC(pszValue, iValueLen));
783 if (!pColor) 784 if (!pColor)
784 return false; 785 return false;
785 786
786 dwColor = pColor->dwValue; 787 dwColor = pColor->dwValue;
787 return true; 788 return true;
788 } 789 }
789 790
790 CFDE_CSSValueList::CFDE_CSSValueList(IFX_MemoryAllocator* pStaticStore, 791 CFDE_CSSValueList::CFDE_CSSValueList(IFX_MemoryAllocator* pStaticStore,
791 const CFDE_CSSValueArray& list) { 792 const CFDE_CSSValueArray& list) {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
960 961
961 int32_t CFDE_CSSPrimitiveValue::CountArgs() const { 962 int32_t CFDE_CSSPrimitiveValue::CountArgs() const {
962 ASSERT(m_eType == FDE_CSSPRIMITIVETYPE_Function); 963 ASSERT(m_eType == FDE_CSSPRIMITIVETYPE_Function);
963 return m_pFunction->CountArgs(); 964 return m_pFunction->CountArgs();
964 } 965 }
965 966
966 IFDE_CSSValue* CFDE_CSSPrimitiveValue::GetArgs(int32_t index) const { 967 IFDE_CSSValue* CFDE_CSSPrimitiveValue::GetArgs(int32_t index) const {
967 ASSERT(m_eType == FDE_CSSPRIMITIVETYPE_Function); 968 ASSERT(m_eType == FDE_CSSPRIMITIVETYPE_Function);
968 return m_pFunction->GetArgs(index); 969 return m_pFunction->GetArgs(index);
969 } 970 }
OLDNEW
« no previous file with comments | « xfa/fde/css/fde_cssdatatable.h ('k') | xfa/fde/css/fde_cssstyleselector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698