2007-06-12 10:10:23 +04:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2012-05-21 15:12:37 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
1999-11-17 04:40:04 +03:00
|
|
|
|
|
|
|
#ifndef nsMathMLmsqrtFrame_h___
|
|
|
|
#define nsMathMLmsqrtFrame_h___
|
|
|
|
|
2012-09-14 20:10:08 +04:00
|
|
|
#include "mozilla/Attributes.h"
|
2009-05-29 15:08:35 +04:00
|
|
|
#include "nsMathMLmencloseFrame.h"
|
1999-11-17 04:40:04 +03:00
|
|
|
|
|
|
|
//
|
2009-05-29 15:08:35 +04:00
|
|
|
// <msqrt> -- form a radical
|
1999-11-17 04:40:04 +03:00
|
|
|
//
|
|
|
|
|
|
|
|
/*
|
|
|
|
The MathML REC describes:
|
|
|
|
|
|
|
|
The <msqrt> element is used to display square roots.
|
|
|
|
The syntax for <msqrt> is:
|
|
|
|
<msqrt> base </msqrt>
|
|
|
|
|
|
|
|
Attributes of <msqrt> and <mroot>:
|
|
|
|
|
|
|
|
None (except the attributes allowed for all MathML elements, listed in Section
|
2017-07-06 15:00:35 +03:00
|
|
|
2.3.4).
|
1999-11-17 04:40:04 +03:00
|
|
|
|
|
|
|
The <mroot> element increments scriptlevel by 2, and sets displaystyle to
|
|
|
|
"false", within index, but leaves both attributes unchanged within base. The
|
|
|
|
<msqrt> element leaves both attributes unchanged within all its arguments.
|
|
|
|
These attributes are inherited by every element from its rendering environment,
|
2017-07-06 15:00:35 +03:00
|
|
|
but can be set explicitly only on <mstyle>. (See Section 3.3.4.)
|
1999-11-17 04:40:04 +03:00
|
|
|
*/
|
|
|
|
|
2009-05-29 15:08:35 +04:00
|
|
|
class nsMathMLmsqrtFrame : public nsMathMLmencloseFrame {
|
1999-11-17 04:40:04 +03:00
|
|
|
public:
|
2017-05-26 13:11:11 +03:00
|
|
|
NS_DECL_FRAMEARENA_HELPERS(nsMathMLmsqrtFrame)
|
2009-09-12 20:49:24 +04:00
|
|
|
|
2009-05-29 15:08:35 +04:00
|
|
|
friend nsIFrame* NS_NewMathMLmsqrtFrame(nsIPresShell* aPresShell,
|
|
|
|
nsStyleContext* aContext);
|
2000-03-28 13:38:24 +04:00
|
|
|
|
2013-03-20 05:47:48 +04:00
|
|
|
virtual void
|
2014-05-25 02:20:40 +04:00
|
|
|
Init(nsIContent* aContent,
|
|
|
|
nsContainerFrame* aParent,
|
2015-03-21 19:28:04 +03:00
|
|
|
nsIFrame* aPrevInFlow) override;
|
1999-11-17 04:40:04 +03:00
|
|
|
|
2011-05-13 01:31:34 +04:00
|
|
|
NS_IMETHOD
|
2015-03-21 19:28:04 +03:00
|
|
|
InheritAutomaticData(nsIFrame* aParent) override;
|
2011-05-13 01:31:34 +04:00
|
|
|
|
2014-02-18 11:47:48 +04:00
|
|
|
virtual nsresult
|
2012-08-22 19:56:38 +04:00
|
|
|
AttributeChanged(int32_t aNameSpaceID,
|
2009-05-29 15:08:35 +04:00
|
|
|
nsIAtom* aAttribute,
|
2015-03-21 19:28:04 +03:00
|
|
|
int32_t aModType) override;
|
2002-02-27 04:35:27 +03:00
|
|
|
|
2014-04-04 19:54:00 +04:00
|
|
|
virtual bool
|
2015-03-21 19:28:04 +03:00
|
|
|
IsMrowLike() override
|
2014-04-04 19:54:00 +04:00
|
|
|
{
|
|
|
|
return mFrames.FirstChild() != mFrames.LastChild() ||
|
|
|
|
!mFrames.FirstChild();
|
|
|
|
}
|
|
|
|
|
1999-11-17 04:40:04 +03:00
|
|
|
protected:
|
2014-09-01 07:36:37 +04:00
|
|
|
explicit nsMathMLmsqrtFrame(nsStyleContext* aContext);
|
1999-11-17 04:40:04 +03:00
|
|
|
virtual ~nsMathMLmsqrtFrame();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* nsMathMLmsqrtFrame_h___ */
|
|
|
|
|