1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef __NS_SVGISYMBOLFRAME_H__ 8 #define __NS_SVGISYMBOLFRAME_H__ 9 10 #include "nsSVGViewportFrame.h" 11 12 class nsSVGSymbolFrame : public nsSVGViewportFrame { 13 friend nsIFrame* NS_NewSVGSymbolFrame(nsIPresShell* aPresShell, 14 nsStyleContext* aContext); 15 16 protected: nsSVGSymbolFrame(nsStyleContext * aContext)17 explicit nsSVGSymbolFrame(nsStyleContext* aContext) 18 : nsSVGViewportFrame(aContext, kClassID) {} 19 20 public: 21 NS_DECL_QUERYFRAME 22 NS_DECL_FRAMEARENA_HELPERS(nsSVGSymbolFrame) 23 24 #ifdef DEBUG 25 virtual void Init(nsIContent* aContent, nsContainerFrame* aParent, 26 nsIFrame* aPrevInFlow) override; 27 #endif 28 29 #ifdef DEBUG_FRAME_DUMP GetFrameName(nsAString & aResult)30 virtual nsresult GetFrameName(nsAString& aResult) const override { 31 return MakeFrameName(NS_LITERAL_STRING("SVGSymbol"), aResult); 32 } 33 #endif 34 }; 35 36 #endif