michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef nsMathMLmsqrtFrame_h___ michael@0: #define nsMathMLmsqrtFrame_h___ michael@0: michael@0: #include "mozilla/Attributes.h" michael@0: #include "nsMathMLmencloseFrame.h" michael@0: michael@0: // michael@0: // -- form a radical michael@0: // michael@0: michael@0: /* michael@0: The MathML REC describes: michael@0: michael@0: The element is used to display square roots. michael@0: The syntax for is: michael@0: base michael@0: michael@0: Attributes of and : michael@0: michael@0: None (except the attributes allowed for all MathML elements, listed in Section michael@0: 2.3.4). michael@0: michael@0: The element increments scriptlevel by 2, and sets displaystyle to michael@0: "false", within index, but leaves both attributes unchanged within base. The michael@0: element leaves both attributes unchanged within all its arguments. michael@0: These attributes are inherited by every element from its rendering environment, michael@0: but can be set explicitly only on . (See Section 3.3.4.) michael@0: */ michael@0: michael@0: class nsMathMLmsqrtFrame : public nsMathMLmencloseFrame { michael@0: public: michael@0: NS_DECL_FRAMEARENA_HELPERS michael@0: michael@0: friend nsIFrame* NS_NewMathMLmsqrtFrame(nsIPresShell* aPresShell, michael@0: nsStyleContext* aContext); michael@0: michael@0: virtual void michael@0: Init(nsIContent* aContent, michael@0: nsIFrame* aParent, michael@0: nsIFrame* aPrevInFlow) MOZ_OVERRIDE; michael@0: michael@0: NS_IMETHOD michael@0: InheritAutomaticData(nsIFrame* aParent) MOZ_OVERRIDE; michael@0: michael@0: virtual nsresult michael@0: AttributeChanged(int32_t aNameSpaceID, michael@0: nsIAtom* aAttribute, michael@0: int32_t aModType) MOZ_OVERRIDE; michael@0: michael@0: virtual bool michael@0: IsMrowLike() MOZ_OVERRIDE michael@0: { michael@0: return mFrames.FirstChild() != mFrames.LastChild() || michael@0: !mFrames.FirstChild(); michael@0: } michael@0: michael@0: protected: michael@0: nsMathMLmsqrtFrame(nsStyleContext* aContext); michael@0: virtual ~nsMathMLmsqrtFrame(); michael@0: }; michael@0: michael@0: #endif /* nsMathMLmsqrtFrame_h___ */ michael@0: