OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv
ed. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv
ed. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 { | 53 { |
54 StringToUnitTable table; | 54 StringToUnitTable table; |
55 table.set(String("em"), CSSPrimitiveValue::UnitType::Ems); | 55 table.set(String("em"), CSSPrimitiveValue::UnitType::Ems); |
56 table.set(String("ex"), CSSPrimitiveValue::UnitType::Exs); | 56 table.set(String("ex"), CSSPrimitiveValue::UnitType::Exs); |
57 table.set(String("px"), CSSPrimitiveValue::UnitType::Pixels); | 57 table.set(String("px"), CSSPrimitiveValue::UnitType::Pixels); |
58 table.set(String("cm"), CSSPrimitiveValue::UnitType::Centimeters); | 58 table.set(String("cm"), CSSPrimitiveValue::UnitType::Centimeters); |
59 table.set(String("mm"), CSSPrimitiveValue::UnitType::Millimeters); | 59 table.set(String("mm"), CSSPrimitiveValue::UnitType::Millimeters); |
60 table.set(String("in"), CSSPrimitiveValue::UnitType::Inches); | 60 table.set(String("in"), CSSPrimitiveValue::UnitType::Inches); |
61 table.set(String("pt"), CSSPrimitiveValue::UnitType::Points); | 61 table.set(String("pt"), CSSPrimitiveValue::UnitType::Points); |
62 table.set(String("pc"), CSSPrimitiveValue::UnitType::Picas); | 62 table.set(String("pc"), CSSPrimitiveValue::UnitType::Picas); |
| 63 table.set(String(""), CSSPrimitiveValue::UnitType::UserUnits); |
63 table.set(String("deg"), CSSPrimitiveValue::UnitType::Degrees); | 64 table.set(String("deg"), CSSPrimitiveValue::UnitType::Degrees); |
64 table.set(String("rad"), CSSPrimitiveValue::UnitType::Radians); | 65 table.set(String("rad"), CSSPrimitiveValue::UnitType::Radians); |
65 table.set(String("grad"), CSSPrimitiveValue::UnitType::Gradians); | 66 table.set(String("grad"), CSSPrimitiveValue::UnitType::Gradians); |
66 table.set(String("ms"), CSSPrimitiveValue::UnitType::Milliseconds); | 67 table.set(String("ms"), CSSPrimitiveValue::UnitType::Milliseconds); |
67 table.set(String("s"), CSSPrimitiveValue::UnitType::Seconds); | 68 table.set(String("s"), CSSPrimitiveValue::UnitType::Seconds); |
68 table.set(String("hz"), CSSPrimitiveValue::UnitType::Hertz); | 69 table.set(String("hz"), CSSPrimitiveValue::UnitType::Hertz); |
69 table.set(String("khz"), CSSPrimitiveValue::UnitType::Kilohertz); | 70 table.set(String("khz"), CSSPrimitiveValue::UnitType::Kilohertz); |
70 table.set(String("dpi"), CSSPrimitiveValue::UnitType::DotsPerInch); | 71 table.set(String("dpi"), CSSPrimitiveValue::UnitType::DotsPerInch); |
71 table.set(String("dpcm"), CSSPrimitiveValue::UnitType::DotsPerCentimeter); | 72 table.set(String("dpcm"), CSSPrimitiveValue::UnitType::DotsPerCentimeter); |
72 table.set(String("dppx"), CSSPrimitiveValue::UnitType::DotsPerPixel); | 73 table.set(String("dppx"), CSSPrimitiveValue::UnitType::DotsPerPixel); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 case UnitType::Number: | 114 case UnitType::Number: |
114 return CSSPrimitiveValue::UNumber; | 115 return CSSPrimitiveValue::UNumber; |
115 case UnitType::Percentage: | 116 case UnitType::Percentage: |
116 return CSSPrimitiveValue::UPercent; | 117 return CSSPrimitiveValue::UPercent; |
117 case UnitType::Pixels: | 118 case UnitType::Pixels: |
118 case UnitType::Centimeters: | 119 case UnitType::Centimeters: |
119 case UnitType::Millimeters: | 120 case UnitType::Millimeters: |
120 case UnitType::Inches: | 121 case UnitType::Inches: |
121 case UnitType::Points: | 122 case UnitType::Points: |
122 case UnitType::Picas: | 123 case UnitType::Picas: |
| 124 case UnitType::UserUnits: |
123 return CSSPrimitiveValue::ULength; | 125 return CSSPrimitiveValue::ULength; |
124 case UnitType::Milliseconds: | 126 case UnitType::Milliseconds: |
125 case UnitType::Seconds: | 127 case UnitType::Seconds: |
126 return CSSPrimitiveValue::UTime; | 128 return CSSPrimitiveValue::UTime; |
127 case UnitType::Degrees: | 129 case UnitType::Degrees: |
128 case UnitType::Radians: | 130 case UnitType::Radians: |
129 case UnitType::Gradians: | 131 case UnitType::Gradians: |
130 case UnitType::Turns: | 132 case UnitType::Turns: |
131 return CSSPrimitiveValue::UAngle; | 133 return CSSPrimitiveValue::UAngle; |
132 case UnitType::Hertz: | 134 case UnitType::Hertz: |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 case UnitType::QuirkyEms: | 323 case UnitType::QuirkyEms: |
322 case UnitType::Exs: | 324 case UnitType::Exs: |
323 case UnitType::Rems: | 325 case UnitType::Rems: |
324 case UnitType::Chs: | 326 case UnitType::Chs: |
325 case UnitType::Pixels: | 327 case UnitType::Pixels: |
326 case UnitType::Centimeters: | 328 case UnitType::Centimeters: |
327 case UnitType::Millimeters: | 329 case UnitType::Millimeters: |
328 case UnitType::Inches: | 330 case UnitType::Inches: |
329 case UnitType::Points: | 331 case UnitType::Points: |
330 case UnitType::Picas: | 332 case UnitType::Picas: |
| 333 case UnitType::UserUnits: |
331 case UnitType::Degrees: | 334 case UnitType::Degrees: |
332 case UnitType::Radians: | 335 case UnitType::Radians: |
333 case UnitType::Gradians: | 336 case UnitType::Gradians: |
334 case UnitType::Milliseconds: | 337 case UnitType::Milliseconds: |
335 case UnitType::Seconds: | 338 case UnitType::Seconds: |
336 case UnitType::Hertz: | 339 case UnitType::Hertz: |
337 case UnitType::Kilohertz: | 340 case UnitType::Kilohertz: |
338 case UnitType::Turns: | 341 case UnitType::Turns: |
339 case UnitType::ViewportWidth: | 342 case UnitType::ViewportWidth: |
340 case UnitType::ViewportHeight: | 343 case UnitType::ViewportHeight: |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 return CSSPrimitiveValue::accumulateLengthArray(lengthArray, lengthTypeArray
, multiplier); | 455 return CSSPrimitiveValue::accumulateLengthArray(lengthArray, lengthTypeArray
, multiplier); |
453 } | 456 } |
454 | 457 |
455 double CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor(UnitType unitTyp
e) | 458 double CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor(UnitType unitTyp
e) |
456 { | 459 { |
457 double factor = 1.0; | 460 double factor = 1.0; |
458 // FIXME: the switch can be replaced by an array of scale factors. | 461 // FIXME: the switch can be replaced by an array of scale factors. |
459 switch (unitType) { | 462 switch (unitType) { |
460 // These are "canonical" units in their respective categories. | 463 // These are "canonical" units in their respective categories. |
461 case UnitType::Pixels: | 464 case UnitType::Pixels: |
| 465 case UnitType::UserUnits: |
462 case UnitType::Degrees: | 466 case UnitType::Degrees: |
463 case UnitType::Milliseconds: | 467 case UnitType::Milliseconds: |
464 case UnitType::Hertz: | 468 case UnitType::Hertz: |
465 break; | 469 break; |
466 case UnitType::Centimeters: | 470 case UnitType::Centimeters: |
467 factor = cssPixelsPerCentimeter; | 471 factor = cssPixelsPerCentimeter; |
468 break; | 472 break; |
469 case UnitType::DotsPerCentimeter: | 473 case UnitType::DotsPerCentimeter: |
470 factor = 1 / cssPixelsPerCentimeter; | 474 factor = 1 / cssPixelsPerCentimeter; |
471 break; | 475 break; |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
639 static String formatNumber(double number, const char* characters) | 643 static String formatNumber(double number, const char* characters) |
640 { | 644 { |
641 return formatNumber(number, characters, strlen(characters)); | 645 return formatNumber(number, characters, strlen(characters)); |
642 } | 646 } |
643 | 647 |
644 const char* CSSPrimitiveValue::unitTypeToString(UnitType type) | 648 const char* CSSPrimitiveValue::unitTypeToString(UnitType type) |
645 { | 649 { |
646 switch (type) { | 650 switch (type) { |
647 case UnitType::Number: | 651 case UnitType::Number: |
648 case UnitType::Integer: | 652 case UnitType::Integer: |
| 653 case UnitType::UserUnits: |
649 return ""; | 654 return ""; |
650 case UnitType::Percentage: | 655 case UnitType::Percentage: |
651 return "%"; | 656 return "%"; |
652 case UnitType::Ems: | 657 case UnitType::Ems: |
653 case UnitType::QuirkyEms: | 658 case UnitType::QuirkyEms: |
654 return "em"; | 659 return "em"; |
655 case UnitType::Exs: | 660 case UnitType::Exs: |
656 return "ex"; | 661 return "ex"; |
657 case UnitType::Rems: | 662 case UnitType::Rems: |
658 return "rem"; | 663 return "rem"; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 case UnitType::Chs: | 742 case UnitType::Chs: |
738 case UnitType::Pixels: | 743 case UnitType::Pixels: |
739 case UnitType::Centimeters: | 744 case UnitType::Centimeters: |
740 case UnitType::DotsPerPixel: | 745 case UnitType::DotsPerPixel: |
741 case UnitType::DotsPerInch: | 746 case UnitType::DotsPerInch: |
742 case UnitType::DotsPerCentimeter: | 747 case UnitType::DotsPerCentimeter: |
743 case UnitType::Millimeters: | 748 case UnitType::Millimeters: |
744 case UnitType::Inches: | 749 case UnitType::Inches: |
745 case UnitType::Points: | 750 case UnitType::Points: |
746 case UnitType::Picas: | 751 case UnitType::Picas: |
| 752 case UnitType::UserUnits: |
747 case UnitType::Degrees: | 753 case UnitType::Degrees: |
748 case UnitType::Radians: | 754 case UnitType::Radians: |
749 case UnitType::Gradians: | 755 case UnitType::Gradians: |
750 case UnitType::Milliseconds: | 756 case UnitType::Milliseconds: |
751 case UnitType::Seconds: | 757 case UnitType::Seconds: |
752 case UnitType::Hertz: | 758 case UnitType::Hertz: |
753 case UnitType::Kilohertz: | 759 case UnitType::Kilohertz: |
754 case UnitType::Turns: | 760 case UnitType::Turns: |
755 case UnitType::Fraction: | 761 case UnitType::Fraction: |
756 case UnitType::ViewportWidth: | 762 case UnitType::ViewportWidth: |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 case UnitType::Rems: | 799 case UnitType::Rems: |
794 case UnitType::Pixels: | 800 case UnitType::Pixels: |
795 case UnitType::Centimeters: | 801 case UnitType::Centimeters: |
796 case UnitType::DotsPerPixel: | 802 case UnitType::DotsPerPixel: |
797 case UnitType::DotsPerInch: | 803 case UnitType::DotsPerInch: |
798 case UnitType::DotsPerCentimeter: | 804 case UnitType::DotsPerCentimeter: |
799 case UnitType::Millimeters: | 805 case UnitType::Millimeters: |
800 case UnitType::Inches: | 806 case UnitType::Inches: |
801 case UnitType::Points: | 807 case UnitType::Points: |
802 case UnitType::Picas: | 808 case UnitType::Picas: |
| 809 case UnitType::UserUnits: |
803 case UnitType::Degrees: | 810 case UnitType::Degrees: |
804 case UnitType::Radians: | 811 case UnitType::Radians: |
805 case UnitType::Gradians: | 812 case UnitType::Gradians: |
806 case UnitType::Milliseconds: | 813 case UnitType::Milliseconds: |
807 case UnitType::Seconds: | 814 case UnitType::Seconds: |
808 case UnitType::Hertz: | 815 case UnitType::Hertz: |
809 case UnitType::Kilohertz: | 816 case UnitType::Kilohertz: |
810 case UnitType::Turns: | 817 case UnitType::Turns: |
811 case UnitType::ViewportWidth: | 818 case UnitType::ViewportWidth: |
812 case UnitType::ViewportHeight: | 819 case UnitType::ViewportHeight: |
(...skipping 22 matching lines...) Expand all Loading... |
835 visitor->trace(m_value.calc); | 842 visitor->trace(m_value.calc); |
836 break; | 843 break; |
837 default: | 844 default: |
838 break; | 845 break; |
839 } | 846 } |
840 #endif | 847 #endif |
841 CSSValue::traceAfterDispatch(visitor); | 848 CSSValue::traceAfterDispatch(visitor); |
842 } | 849 } |
843 | 850 |
844 } // namespace blink | 851 } // namespace blink |
OLD | NEW |