mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-28 11:28:38 +00:00
85 lines
2.8 KiB
C++
85 lines
2.8 KiB
C++
/* -*- 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 nsIWebWidget_h___
|
|
#define nsIWebWidget_h___
|
|
|
|
#include "nsweb.h"
|
|
#include "nsIDocumentWidget.h"
|
|
class nsILinkHandler;
|
|
class nsIPresContext;
|
|
class nsIStyleSet;
|
|
class nsIScriptContext;
|
|
|
|
// IID for the nsWebWidget interface
|
|
#define NS_IWEBWIDGET_IID \
|
|
{ 0x02606880, 0x94e1, 0x11d1, \
|
|
{0x89, 0x5c, 0x00, 0x60, 0x08, 0x91, 0x1b, 0x81} }
|
|
|
|
// Interface to the web widget. The web widget is a container for web
|
|
// content.
|
|
class nsIWebWidget : public nsIDocumentWidget {
|
|
public:
|
|
|
|
// Create a native window for this web widget; may be called once
|
|
virtual nsresult Init(nsNativeWindow aNativeParent,
|
|
const nsRect& aBounds) = 0;
|
|
|
|
// Create a native window for this web widget; may be called once.
|
|
// Use the given presentation context and document for the widget
|
|
// (this widget becomes a second view on the document using the
|
|
// context for presentation).
|
|
virtual nsresult Init(nsNativeWindow aNativeParent,
|
|
const nsRect& aBounds,
|
|
nsIDocument* aDocument,
|
|
nsIPresContext* aPresContext) = 0;
|
|
|
|
NS_IMETHOD SetContainer(nsISupports* aContainer) = 0;
|
|
|
|
NS_IMETHOD GetContainer(nsISupports** aResult) = 0;
|
|
|
|
NS_IMETHOD SetLinkHandler(nsILinkHandler* aHandler) = 0;
|
|
|
|
NS_IMETHOD GetLinkHandler(nsILinkHandler** aResult) = 0;
|
|
|
|
virtual nsIDocument* GetDocument() = 0;
|
|
|
|
virtual void DumpContent(FILE* out = nsnull) = 0;
|
|
|
|
virtual void DumpFrames(FILE* out = nsnull) = 0;
|
|
|
|
virtual void DumpStyleSheets(FILE* out = nsnull) = 0;
|
|
|
|
virtual void DumpStyleContexts(FILE* out = nsnull) = 0;
|
|
|
|
virtual void DumpViews(FILE* out = nsnull) = 0;
|
|
|
|
virtual void ShowFrameBorders(PRBool aEnable) = 0;
|
|
|
|
virtual PRBool GetShowFrameBorders() = 0;
|
|
|
|
virtual nsresult GetScriptContext(nsIScriptContext **aContext) = 0;
|
|
virtual nsresult ReleaseScriptContext() = 0;
|
|
|
|
};
|
|
|
|
// Create a new web widget that uses the default (galley) presentation
|
|
// context.
|
|
extern NS_WEB nsresult NS_NewWebWidget(nsIWebWidget** aInstancePtrResult);
|
|
|
|
#endif /* nsWebWidget_h___ */
|