1 /* 2 * (C) 1999-2003 Lars Knoll (knoll (at) kde.org) 3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General Public License 16 * along with this library; see the file COPYING.LIB. If not, write to 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21 #include "config.h" 22 #include "CSSBorderImageValue.h" 23 24 #include "PlatformString.h" 25 #include "Rect.h" 26 27 namespace WebCore { 28 29 CSSBorderImageValue::CSSBorderImageValue(PassRefPtr<CSSValue> image, PassRefPtr<Rect> imageRect, int horizontalRule, int verticalRule) 30 : m_image(image) 31 , m_imageSliceRect(imageRect) 32 , m_horizontalSizeRule(horizontalRule) 33 , m_verticalSizeRule(verticalRule) 34 { 35 } 36 37 CSSBorderImageValue::~CSSBorderImageValue() 38 { 39 } 40 41 String CSSBorderImageValue::cssText() const 42 { 43 // Image first. 44 String text(m_image->cssText()); 45 text += " "; 46 47 // Now the rect, but it isn't really a rect, so we dump manually 48 text += m_imageSliceRect->top()->cssText(); 49 text += " "; 50 text += m_imageSliceRect->right()->cssText(); 51 text += " "; 52 text += m_imageSliceRect->bottom()->cssText(); 53 text += " "; 54 text += m_imageSliceRect->left()->cssText(); 55 56 // Now the keywords. 57 text += " "; 58 text += CSSPrimitiveValue::createIdentifier(m_horizontalSizeRule)->cssText(); 59 text += " "; 60 text += CSSPrimitiveValue::createIdentifier(m_verticalSizeRule)->cssText(); 61 62 return text; 63 } 64 65 void CSSBorderImageValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const CSSStyleSheet* styleSheet) 66 { 67 m_image->addSubresourceStyleURLs(urls, styleSheet); 68 } 69 70 } // namespace WebCore 71