Back to index

lightning-sunbird  0.9+nobinonly
nsMathMLParts.h
Go to the documentation of this file.
00001 /* ***** BEGIN LICENSE BLOCK *****
00002  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00003  *
00004  * The contents of this file are subject to the Mozilla Public License Version
00005  * 1.1 (the "License"); you may not use this file except in compliance with
00006  * the License. You may obtain a copy of the License at
00007  * http://www.mozilla.org/MPL/
00008  *
00009  * Software distributed under the License is distributed on an "AS IS" basis,
00010  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00011  * for the specific language governing rights and limitations under the
00012  * License.
00013  *
00014  * The Original Code is Mozilla MathML Project.
00015  *
00016  * The Initial Developer of the Original Code is
00017  * The University Of Queensland.
00018  * Portions created by the Initial Developer are Copyright (C) 1999
00019  * the Initial Developer. All Rights Reserved.
00020  *
00021  * Contributor(s):
00022  *   Roger B. Sidje <rbs@maths.uq.edu.au>
00023  *
00024  * Alternatively, the contents of this file may be used under the terms of
00025  * either of the GNU General Public License Version 2 or later (the "GPL"),
00026  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027  * in which case the provisions of the GPL or the LGPL are applicable instead
00028  * of those above. If you wish to allow use of your version of this file only
00029  * under the terms of either the GPL or the LGPL, and not to allow others to
00030  * use your version of this file under the terms of the MPL, indicate your
00031  * decision by deleting the provisions above and replace them with the notice
00032  * and other provisions required by the GPL or the LGPL. If you do not delete
00033  * the provisions above, a recipient may use your version of this file under
00034  * the terms of any one of the MPL, the GPL or the LGPL.
00035  *
00036  * ***** END LICENSE BLOCK ***** */
00037 
00038 #ifndef nsMathMLParts_h___
00039 #define nsMathMLParts_h___
00040 
00041 #include "nscore.h"
00042 #include "nsISupports.h"
00043 
00044 // Factory methods for creating MathML objects
00045 nsresult
00046 NS_NewMathMLForeignFrameWrapper(nsIPresShell* aPresShell,
00047                                 nsIFrame** aNewFrame);
00048 nsresult
00049 NS_NewMathMLTokenFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00050 nsresult
00051 NS_NewMathMLmoFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00052 nsresult
00053 NS_NewMathMLmrowFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00054 nsresult
00055 NS_NewMathMLmphantomFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00056 nsresult
00057 NS_NewMathMLmpaddedFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00058 nsresult
00059 NS_NewMathMLmspaceFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00060 nsresult
00061 NS_NewMathMLmsFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00062 nsresult
00063 NS_NewMathMLmfencedFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00064 nsresult
00065 NS_NewMathMLmfracFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00066 nsresult
00067 NS_NewMathMLmsubFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00068 nsresult
00069 NS_NewMathMLmsupFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00070 nsresult
00071 NS_NewMathMLmsubsupFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00072 nsresult
00073 NS_NewMathMLmunderFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00074 nsresult
00075 NS_NewMathMLmoverFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00076 nsresult
00077 NS_NewMathMLmunderoverFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00078 nsresult
00079 NS_NewMathMLmmultiscriptsFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00080 nsresult
00081 NS_NewMathMLmstyleFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00082 
00083 nsresult
00084 NS_NewMathMLmtableOuterFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00085 inline nsresult
00086 NS_NewMathMLmtableFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame)
00087 {
00088   return NS_NewTableFrame(aPresShell, aNewFrame);
00089 }
00090 inline nsresult
00091 NS_NewMathMLmtrFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame)
00092 {
00093   return NS_NewTableRowFrame(aPresShell, aNewFrame);
00094 }
00095 nsresult
00096 NS_NewMathMLmtdFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00097 nsresult
00098 NS_NewMathMLmtdInnerFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00099 nsresult
00100 NS_NewMathMLmsqrtFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00101 nsresult
00102 NS_NewMathMLmrootFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00103 nsresult
00104 NS_NewMathMLmactionFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00105 
00106 nsresult
00107 NS_NewMathMLmathBlockFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00108 nsresult
00109 NS_NewMathMLmathInlineFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
00110 inline nsresult
00111 NS_NewMathMLmathFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame,
00112                       PRBool aIsBlock)
00113 {
00114   return (aIsBlock)
00115     ? NS_NewMathMLmathBlockFrame(aPresShell, aNewFrame)
00116     : NS_NewMathMLmathInlineFrame(aPresShell, aNewFrame);
00117 }
00118 #endif /* nsMathMLParts_h___ */