/* | |
* Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) | |
* Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | |
* | |
* This library is free software; you can redistribute it and/or | |
* modify it under the terms of the GNU Library General Public | |
* License as published by the Free Software Foundation; either | |
* version 2 of the License, or (at your option) any later version. | |
* | |
* This library is distributed in the hope that it will be useful, | |
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
* Library General Public License for more details. | |
* | |
* You should have received a copy of the GNU Library General Public License | |
* along with this library; see the file COPYING.LIB. If not, write to | |
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
* Boston, MA 02110-1301, USA. | |
* | |
*/ | |
#include "config.h" | |
#include "StyleRareInheritedData.h" | |
#include "RenderStyle.h" | |
#include "StyleImage.h" | |
namespace WebCore { | |
StyleInheritedData::StyleInheritedData() | |
: indent(RenderStyle::initialTextIndent()) | |
, line_height(RenderStyle::initialLineHeight()) | |
, list_style_image(RenderStyle::initialListStyleImage()) | |
, color(RenderStyle::initialColor()) | |
, m_effectiveZoom(RenderStyle::initialZoom()) | |
, horizontal_border_spacing(RenderStyle::initialHorizontalBorderSpacing()) | |
, vertical_border_spacing(RenderStyle::initialVerticalBorderSpacing()) | |
, widows(RenderStyle::initialWidows()) | |
, orphans(RenderStyle::initialOrphans()) | |
{ | |
} | |
StyleInheritedData::~StyleInheritedData() | |
{ | |
} | |
StyleInheritedData::StyleInheritedData(const StyleInheritedData& o) | |
: RefCounted<StyleInheritedData>() | |
, indent(o.indent) | |
, line_height(o.line_height) | |
, list_style_image(o.list_style_image) | |
, cursorData(o.cursorData) | |
, font(o.font) | |
, color(o.color) | |
, m_effectiveZoom(o.m_effectiveZoom) | |
, horizontal_border_spacing(o.horizontal_border_spacing) | |
, vertical_border_spacing(o.vertical_border_spacing) | |
, widows(o.widows) | |
, orphans(o.orphans) | |
{ | |
} | |
static bool cursorDataEquivalent(const CursorList* c1, const CursorList* c2) | |
{ | |
if (c1 == c2) | |
return true; | |
if ((!c1 && c2) || (c1 && !c2)) | |
return false; | |
return (*c1 == *c2); | |
} | |
bool StyleInheritedData::operator==(const StyleInheritedData& o) const | |
{ | |
return | |
indent == o.indent && | |
line_height == o.line_height && | |
StyleImage::imagesEquivalent(list_style_image.get(), o.list_style_image.get()) && | |
cursorDataEquivalent(cursorData.get(), o.cursorData.get()) && | |
font == o.font && | |
color == o.color && | |
m_effectiveZoom == o.m_effectiveZoom && | |
horizontal_border_spacing == o.horizontal_border_spacing && | |
vertical_border_spacing == o.vertical_border_spacing && | |
widows == o.widows && | |
orphans == o.orphans; | |
} | |
} // namespace WebCore |