2007-06-11 23:10:23 -07:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2012-05-21 04:12:37 -07: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/. */
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
#ifndef nsMathMLmrowFrame_h___
|
|
|
|
#define nsMathMLmrowFrame_h___
|
|
|
|
|
2012-09-14 09:10:08 -07:00
|
|
|
#include "mozilla/Attributes.h"
|
2007-03-22 10:30:00 -07:00
|
|
|
#include "nsMathMLContainerFrame.h"
|
|
|
|
|
|
|
|
//
|
|
|
|
// <mrow> -- horizontally group any number of subexpressions
|
2015-02-09 02:19:00 -08:00
|
|
|
// <mphantom> -- make content invisible but preserve its size
|
|
|
|
// <mstyle> -- make style changes that affect the rendering of its contents
|
2007-03-22 10:30:00 -07:00
|
|
|
//
|
|
|
|
|
|
|
|
class nsMathMLmrowFrame : public nsMathMLContainerFrame {
|
|
|
|
public:
|
2009-09-12 09:49:24 -07:00
|
|
|
NS_DECL_FRAMEARENA_HELPERS
|
|
|
|
|
2007-03-22 10:30:00 -07:00
|
|
|
friend nsIFrame* NS_NewMathMLmrowFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
|
|
|
|
|
2014-02-17 23:47:48 -08:00
|
|
|
virtual nsresult
|
2012-08-22 08:56:38 -07:00
|
|
|
AttributeChanged(int32_t aNameSpaceID,
|
2007-03-22 10:30:00 -07:00
|
|
|
nsIAtom* aAttribute,
|
2015-03-21 09:28:04 -07:00
|
|
|
int32_t aModType) override;
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
NS_IMETHOD
|
2015-03-21 09:28:04 -07:00
|
|
|
InheritAutomaticData(nsIFrame* aParent) override;
|
2007-03-22 10:30:00 -07:00
|
|
|
|
2011-03-24 20:38:59 -07:00
|
|
|
NS_IMETHOD
|
2015-03-21 09:28:04 -07:00
|
|
|
TransmitAutomaticData() override {
|
2011-03-24 20:38:59 -07:00
|
|
|
return TransmitAutomaticDataForMrowLikeElement();
|
|
|
|
}
|
|
|
|
|
2014-04-06 21:56:00 -07:00
|
|
|
virtual eMathMLFrameType
|
2015-03-21 09:28:04 -07:00
|
|
|
GetMathMLFrameType() override;
|
2014-04-06 21:56:00 -07:00
|
|
|
|
2014-04-04 08:54:00 -07:00
|
|
|
bool
|
2015-03-21 09:28:04 -07:00
|
|
|
IsMrowLike() override {
|
2014-04-04 08:54:00 -07: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();
|
|
|
|
}
|
|
|
|
|
2007-03-22 10:30:00 -07:00
|
|
|
protected:
|
2014-08-31 20:36:37 -07:00
|
|
|
explicit nsMathMLmrowFrame(nsStyleContext* aContext) : nsMathMLContainerFrame(aContext) {}
|
2007-03-22 10:30:00 -07:00
|
|
|
virtual ~nsMathMLmrowFrame();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* nsMathMLmrowFrame_h___ */
|