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-09-21 06:12:01 +04:00
|
|
|
|
|
|
|
#ifndef nsMathMLmrowFrame_h___
|
|
|
|
#define nsMathMLmrowFrame_h___
|
|
|
|
|
2012-09-14 20:10:08 +04:00
|
|
|
#include "mozilla/Attributes.h"
|
1999-09-21 06:12:01 +04:00
|
|
|
#include "nsMathMLContainerFrame.h"
|
|
|
|
|
|
|
|
//
|
2017-07-06 15:00:35 +03:00
|
|
|
// <mrow> -- horizontally group any number of subexpressions
|
2015-02-09 13:19:00 +03:00
|
|
|
// <mphantom> -- make content invisible but preserve its size
|
|
|
|
// <mstyle> -- make style changes that affect the rendering of its contents
|
1999-09-21 06:12:01 +04:00
|
|
|
//
|
|
|
|
|
|
|
|
class nsMathMLmrowFrame : public nsMathMLContainerFrame {
|
|
|
|
public:
|
2017-05-26 13:11:11 +03:00
|
|
|
NS_DECL_FRAMEARENA_HELPERS(nsMathMLmrowFrame)
|
2009-09-12 20:49:24 +04:00
|
|
|
|
2006-03-27 01:30:36 +04:00
|
|
|
friend nsIFrame* NS_NewMathMLmrowFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
|
2002-02-07 07:38:08 +03:00
|
|
|
|
2014-02-18 11:47:48 +04:00
|
|
|
virtual nsresult
|
2012-08-22 19:56:38 +04:00
|
|
|
AttributeChanged(int32_t aNameSpaceID,
|
2006-09-19 08:43:14 +04:00
|
|
|
nsIAtom* aAttribute,
|
2015-03-21 19:28:04 +03:00
|
|
|
int32_t aModType) override;
|
2006-09-19 08:43:14 +04:00
|
|
|
|
1999-09-21 06:12:01 +04:00
|
|
|
NS_IMETHOD
|
2015-03-21 19:28:04 +03:00
|
|
|
InheritAutomaticData(nsIFrame* aParent) override;
|
1999-09-21 06:12:01 +04:00
|
|
|
|
2011-03-25 06:38:59 +03:00
|
|
|
NS_IMETHOD
|
2015-03-21 19:28:04 +03:00
|
|
|
TransmitAutomaticData() override {
|
2011-03-25 06:38:59 +03:00
|
|
|
return TransmitAutomaticDataForMrowLikeElement();
|
|
|
|
}
|
|
|
|
|
2014-04-07 08:56:00 +04:00
|
|
|
virtual eMathMLFrameType
|
2017-07-06 15:00:35 +03:00
|
|
|
GetMathMLFrameType() override;
|
2014-04-07 08:56:00 +04:00
|
|
|
|
2014-04-04 19:54:00 +04:00
|
|
|
bool
|
2015-03-21 19:28:04 +03:00
|
|
|
IsMrowLike() override {
|
2014-04-04 19:54:00 +04:00
|
|
|
// <mrow> elements with a single child are treated identically to the case
|
|
|
|
// where the child wasn't within an mrow, so we pretend the mrow isn't an
|
|
|
|
// mrow in that situation.
|
|
|
|
return mFrames.FirstChild() != mFrames.LastChild() ||
|
|
|
|
!mFrames.FirstChild();
|
|
|
|
}
|
|
|
|
|
1999-09-21 06:12:01 +04:00
|
|
|
protected:
|
2017-05-26 13:11:11 +03:00
|
|
|
explicit nsMathMLmrowFrame(nsStyleContext* aContext)
|
|
|
|
: nsMathMLContainerFrame(aContext, kClassID) {}
|
1999-09-21 06:12:01 +04:00
|
|
|
virtual ~nsMathMLmrowFrame();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* nsMathMLmrowFrame_h___ */
|