OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | 2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 * Library General Public License for more details. | 12 * Library General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU Library General Public License | 14 * You should have received a copy of the GNU Library General Public License |
15 * along with this library; see the file COPYING.LIB. If not, write to | 15 * along with this library; see the file COPYING.LIB. If not, write to |
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
17 * Boston, MA 02110-1301, USA. | 17 * Boston, MA 02110-1301, USA. |
18 * | 18 * |
19 */ | 19 */ |
20 | 20 |
21 #include "config.h" | 21 #include "config.h" |
22 | 22 |
23 #include "core/rendering/RenderMeter.h" | 23 #include "core/layout/LayoutMeter.h" |
24 | 24 |
25 #include "core/html/HTMLMeterElement.h" | 25 #include "core/html/HTMLMeterElement.h" |
26 #include "core/layout/LayoutTheme.h" | 26 #include "core/layout/LayoutTheme.h" |
27 | 27 |
28 namespace blink { | 28 namespace blink { |
29 | 29 |
30 using namespace HTMLNames; | 30 using namespace HTMLNames; |
31 | 31 |
32 RenderMeter::RenderMeter(HTMLElement* element) | 32 LayoutMeter::LayoutMeter(HTMLElement* element) |
33 : RenderBlockFlow(element) | 33 : RenderBlockFlow(element) |
34 { | 34 { |
35 } | 35 } |
36 | 36 |
37 RenderMeter::~RenderMeter() | 37 LayoutMeter::~LayoutMeter() |
38 { | 38 { |
39 } | 39 } |
40 | 40 |
41 HTMLMeterElement* RenderMeter::meterElement() const | 41 HTMLMeterElement* LayoutMeter::meterElement() const |
42 { | 42 { |
43 ASSERT(node()); | 43 ASSERT(node()); |
44 | 44 |
45 if (isHTMLMeterElement(*node())) | 45 if (isHTMLMeterElement(*node())) |
46 return toHTMLMeterElement(node()); | 46 return toHTMLMeterElement(node()); |
47 | 47 |
48 ASSERT(node()->shadowHost()); | 48 ASSERT(node()->shadowHost()); |
49 return toHTMLMeterElement(node()->shadowHost()); | 49 return toHTMLMeterElement(node()->shadowHost()); |
50 } | 50 } |
51 | 51 |
52 void RenderMeter::updateLogicalWidth() | 52 void LayoutMeter::updateLogicalWidth() |
53 { | 53 { |
54 RenderBox::updateLogicalWidth(); | 54 RenderBox::updateLogicalWidth(); |
55 | 55 |
56 IntSize frameSize = LayoutTheme::theme().meterSizeForBounds(this, pixelSnapp
edIntRect(frameRect())); | 56 IntSize frameSize = LayoutTheme::theme().meterSizeForBounds(this, pixelSnapp
edIntRect(frameRect())); |
57 setLogicalWidth(isHorizontalWritingMode() ? frameSize.width() : frameSize.he
ight()); | 57 setLogicalWidth(isHorizontalWritingMode() ? frameSize.width() : frameSize.he
ight()); |
58 } | 58 } |
59 | 59 |
60 void RenderMeter::computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logi
calTop, LogicalExtentComputedValues& computedValues) const | 60 void LayoutMeter::computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logi
calTop, LogicalExtentComputedValues& computedValues) const |
61 { | 61 { |
62 RenderBox::computeLogicalHeight(logicalHeight, logicalTop, computedValues); | 62 RenderBox::computeLogicalHeight(logicalHeight, logicalTop, computedValues); |
63 | 63 |
64 LayoutRect frame = frameRect(); | 64 LayoutRect frame = frameRect(); |
65 if (isHorizontalWritingMode()) | 65 if (isHorizontalWritingMode()) |
66 frame.setHeight(computedValues.m_extent); | 66 frame.setHeight(computedValues.m_extent); |
67 else | 67 else |
68 frame.setWidth(computedValues.m_extent); | 68 frame.setWidth(computedValues.m_extent); |
69 IntSize frameSize = LayoutTheme::theme().meterSizeForBounds(this, pixelSnapp
edIntRect(frame)); | 69 IntSize frameSize = LayoutTheme::theme().meterSizeForBounds(this, pixelSnapp
edIntRect(frame)); |
70 computedValues.m_extent = isHorizontalWritingMode() ? frameSize.height() : f
rameSize.width(); | 70 computedValues.m_extent = isHorizontalWritingMode() ? frameSize.height() : f
rameSize.width(); |
71 } | 71 } |
72 | 72 |
73 void RenderMeter::updateFromElement() | 73 void LayoutMeter::updateFromElement() |
74 { | 74 { |
75 setShouldDoFullPaintInvalidation(); | 75 setShouldDoFullPaintInvalidation(); |
76 } | 76 } |
77 | 77 |
78 } // namespace blink | 78 } // namespace blink |
OLD | NEW |