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