From dbdf46bac0eb9c34111da48adecec069ebe39374 Mon Sep 17 00:00:00 2001 From: "rbs%maths.uq.edu.au" Date: Tue, 28 Mar 2000 09:49:13 +0000 Subject: [PATCH] 'cvs commit' caught me by suprise in my previous checkin. The log should read: re-implementation of the nsMathMLChar to do glyph searching and switching, and remaining of Part II of Shyjan's TeX rendering rules git-svn-id: svn://10.0.0.236/trunk@64353 18797224-902f-48f8-a5cc-f745e15eee43 --- .../mathml/base/src/nsMathMLmtextFrame.cpp | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 mozilla/layout/mathml/base/src/nsMathMLmtextFrame.cpp diff --git a/mozilla/layout/mathml/base/src/nsMathMLmtextFrame.cpp b/mozilla/layout/mathml/base/src/nsMathMLmtextFrame.cpp new file mode 100644 index 00000000000..bcde5eff367 --- /dev/null +++ b/mozilla/layout/mathml/base/src/nsMathMLmtextFrame.cpp @@ -0,0 +1,98 @@ +/* + * The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is Mozilla MathML Project. + * + * The Initial Developer of the The Original Code is The University Of + * Queensland. Portions created by The University Of Queensland are + * Copyright (C) 1999 The University Of Queensland. All Rights Reserved. + * + * Contributor(s): + * Roger B. Sidje + */ + +#include "nsCOMPtr.h" +#include "nsHTMLParts.h" +#include "nsIHTMLContent.h" +#include "nsFrame.h" +#include "nsLineLayout.h" +#include "nsHTMLIIDs.h" +#include "nsIPresContext.h" +#include "nsHTMLAtoms.h" +#include "nsUnitConversion.h" +#include "nsIStyleContext.h" +#include "nsStyleConsts.h" +#include "nsStyleChangeList.h" +#include "nsINameSpaceManager.h" +#include "nsIRenderingContext.h" +#include "nsIFontMetrics.h" +#include "nsStyleUtil.h" + +#include "nsMathMLmtextFrame.h" + +// +// -- text - implementation +// + +nsresult +NS_NewMathMLmtextFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame) +{ + NS_PRECONDITION(aNewFrame, "null OUT ptr"); + if (nsnull == aNewFrame) { + return NS_ERROR_NULL_POINTER; + } + nsMathMLmtextFrame* it = new (aPresShell) nsMathMLmtextFrame; + if (nsnull == it) { + return NS_ERROR_OUT_OF_MEMORY; + } + *aNewFrame = it; + return NS_OK; +} + +nsMathMLmtextFrame::nsMathMLmtextFrame() +{ +} + +nsMathMLmtextFrame::~nsMathMLmtextFrame() +{ +} + +NS_IMETHODIMP +nsMathMLmtextFrame::Init(nsIPresContext* aPresContext, + nsIContent* aContent, + nsIFrame* aParent, + nsIStyleContext* aContext, + nsIFrame* aPrevInFlow) +{ + nsresult rv = NS_OK; + rv = nsMathMLContainerFrame::Init(aPresContext, aContent, aParent, aContext, aPrevInFlow); + return rv; +} + +NS_IMETHODIMP +nsMathMLmtextFrame::Reflow(nsIPresContext* aPresContext, + nsHTMLReflowMetrics& aDesiredSize, + const nsHTMLReflowState& aReflowState, + nsReflowStatus& aStatus) +{ + return ReflowTokenFor(this, aPresContext, aDesiredSize, + aReflowState, aStatus); +} + +NS_IMETHODIMP +nsMathMLmtextFrame::Place(nsIPresContext* aPresContext, + nsIRenderingContext& aRenderingContext, + PRBool aPlaceOrigin, + nsHTMLReflowMetrics& aDesiredSize) +{ + return PlaceTokenFor(this, aPresContext, aRenderingContext, + aPlaceOrigin, aDesiredSize); +}