/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ #ifndef nsHTMLParts_h___ #define nsHTMLParts_h___ #include "nscore.h" #include "nsISupports.h" class nsIArena; class nsIAtom; class nsIContent; class nsIDocument; class nsIHTMLContent; class nsIHTMLContentSink; class nsITextContent; class nsIURL; class nsString; // XXX naming consistency puhleeze! extern nsresult NS_NewHTMLContentSink(nsIHTMLContentSink** aInstancePtrResult, nsIDocument* aDoc, nsIURL* aURL); // Create an html root part extern nsresult NS_NewRootPart(nsIHTMLContent** aInstancePtrResult, nsIDocument* aDocument); // Create an html body part extern nsresult NS_NewBodyPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); // Create a new generic html container (e.g. P, DIV, SPAN, B, I, etc). // Not used for tables or framesets (see below). extern nsresult NS_NewHTMLContainer(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); extern nsresult NS_NewHTMLContainer(nsIHTMLContent** aInstancePtrResult, nsIArena* aArena, nsIAtom* aTag); extern nsresult NS_NewHTMLBreak(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); extern nsresult NS_NewHTMLWordBreak(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); extern nsresult NS_NewHTMLSpacer(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); // Create a new text content object. The memory for the unicode string // will be allocated from the heap. The object returned will support // the nsIHTMLContent interface as well as the nsITextContent // interface extern nsresult NS_NewHTMLText(nsIHTMLContent** aInstancePtrResult, const PRUnichar* us, PRInt32 uslen = 0); extern nsresult NS_NewHTMLText(nsIHTMLContent** aInstancePtrResult, nsIArena* aArena, const PRUnichar* us, PRInt32 uslen = 0); // Create a new text content object. The memory for the unicode string // is allocated by the caller. The caller is responsible for // deallocating the memory (e.g. use an nsIArena). The object returned // will support the nsIHTMLContent interface as well as the // nsITextContent interface extern nsresult NS_NewSharedHTMLText(nsIHTMLContent** aInstancePtrResult, PRUnichar* us, PRInt32 uslen = 0); extern nsresult NS_NewSharedHTMLText(nsIHTMLContent** aInstancePtrResult, nsIArena* aArena, PRUnichar* us, PRInt32 uslen = 0); /** Create a new horizontal rule content object (e.g
.) */ extern nsresult NS_NewHRulePart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table content object */ extern nsresult NS_NewTablePart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table row group object */ extern nsresult NS_NewTableRowGroupPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table row content object */ extern nsresult NS_NewTableRowPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table column group content object */ extern nsresult NS_NewTableColGroupPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table column content object */ extern nsresult NS_NewTableColPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table cell content object
*/ extern nsresult NS_NewTableCellPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); /** Create a new table caption content object
*/ extern nsresult NS_NewTableCaptionPart(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); extern nsresult NS_NewHTMLImage(nsIHTMLContent** aInstancePtrResult, nsIAtom* aTag); #endif /* nsHTMLParts_h___ */