File indexing completed on 2024-04-28 15:24:17

0001 /*
0002  * This file is part of the WebKit project.
0003  *
0004  * Copyright (C) 2006 Apple Computer, Inc.
0005  *           (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
0006  *
0007  * This library is free software; you can redistribute it and/or
0008  * modify it under the terms of the GNU Library General Public
0009  * License as published by the Free Software Foundation; either
0010  * version 2 of the License, or (at your option) any later version.
0011  *
0012  * This library is distributed in the hope that it will be useful,
0013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015  * Library General Public License for more details.
0016  *
0017  * You should have received a copy of the GNU Library General Public License
0018  * along with this library; see the file COPYING.LIB.  If not, write to
0019  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0020  * Boston, MA 02110-1301, USA.
0021  *
0022  */
0023 
0024 #include "wtf/Platform.h"
0025 
0026 #if ENABLE(SVG)
0027 #include "RenderSVGBlock.h"
0028 
0029 #include "SVGElement.h"
0030 
0031 namespace WebCore
0032 {
0033 
0034 RenderSVGBlock::RenderSVGBlock(SVGElement *node)
0035     : RenderBlock(node)
0036 {
0037 }
0038 
0039 void RenderSVGBlock::setStyle(RenderStyle *style)
0040 {
0041     RenderStyle *useStyle = style;
0042 
0043     // SVG text layout code expects us to be a block-level style element.
0044     if (useStyle->display() == NONE) {
0045         setChildrenInline(false);
0046     } else if (useStyle->isDisplayInlineType()) {
0047         useStyle = new /*khtml: don't use it like that!(renderArena())*/ RenderStyle();
0048         useStyle->inheritFrom(style);
0049         useStyle->setDisplay(BLOCK);
0050     }
0051 
0052     RenderBlock::setStyle(useStyle);
0053     setReplaced(false);
0054 
0055     //FIXME: Once overflow rules are supported by SVG we should
0056     //probably map the CSS overflow rules rather than just ignoring
0057     //them
0058     setHasOverflowClip(false);
0059 }
0060 
0061 }
0062 
0063 #endif // ENABLE(SVG)