16c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen/*
26c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
36c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen *
46c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * This library is free software; you can redistribute it and/or
56c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * modify it under the terms of the GNU Library General Public
66c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * License as published by the Free Software Foundation; either
76c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * version 2 of the License, or (at your option) any later version.
86c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen *
96c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * This library is distributed in the hope that it will be useful,
106c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * but WITHOUT ANY WARRANTY; without even the implied warranty of
116c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
126c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * Library General Public License for more details.
136c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen *
146c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * You should have received a copy of the GNU Library General Public License
156c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * along with this library; see the file COPYING.LIB.  If not, write to
166c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
176c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen * Boston, MA 02110-1301, USA.
186c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen *
196c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen */
206c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
216c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#include "config.h"
22545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
236c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#if ENABLE(METER_TAG)
246c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
256c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#include "RenderMeter.h"
266c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
276c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#include "HTMLMeterElement.h"
28545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#include "HTMLNames.h"
296c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#include "RenderTheme.h"
3006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen#include "ShadowElement.h"
316c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
326c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenusing namespace std;
336c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
346c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsennamespace WebCore {
356c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
366c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsenusing namespace HTMLNames;
376c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
386c2af9490927c3c5959b5cb07461b646f8b32f6cKristian MonsenRenderMeter::RenderMeter(HTMLMeterElement* element)
392daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    : RenderBlock(element)
406c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen{
416c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}
426c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
4306ea8e899e48f1f2f396b70e63fae369f2f23232Kristian MonsenRenderMeter::~RenderMeter()
4406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen{
4506ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen}
4606ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen
47bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsenvoid RenderMeter::computeLogicalWidth()
48545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{
49bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    RenderBox::computeLogicalWidth();
50545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    setWidth(theme()->meterSizeForBounds(this, frameRect()).width());
51545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch}
52545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
53bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsenvoid RenderMeter::computeLogicalHeight()
54545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch{
55bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    RenderBox::computeLogicalHeight();
56545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    setHeight(theme()->meterSizeForBounds(this, frameRect()).height());
57545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch}
58545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
5906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsendouble RenderMeter::valueRatio() const
6006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen{
612daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    return static_cast<HTMLMeterElement*>(node())->valueRatio();
626c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen}
636c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
646c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen} // namespace WebCore
65545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
666c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#endif
67