gecko-dev/docshell/base/nsIMarkupDocumentViewer.idl

153 lines
4.1 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* 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/. */
/**
* The nsIMarkupDocumentViewer
* This interface describes the properties of a content viewer
* for a markup document - HTML or XML
*/
#include "nsISupports.idl"
interface nsIDOMNode;
%{C++
template<class T> class nsCOMPtr;
template<class T> class nsTArray;
%}
interface nsIMarkupDocumentViewer;
[ref] native nsIMarkupDocumentViewerTArray(nsTArray<nsCOMPtr<nsIMarkupDocumentViewer> >);
[scriptable, uuid(23326580-e6ce-4ee1-94b8-f1d9424a9977)]
interface nsIMarkupDocumentViewer : nsISupports
{
/*
Scrolls to a given DOM content node.
*/
void scrollToNode(in nsIDOMNode node);
/** The amount by which to scale all text. Default is 1.0. */
attribute float textZoom;
/** The amount by which to scale all lengths. Default is 1.0. */
attribute float fullZoom;
/** Disable entire author style level (including HTML presentation hints) */
attribute boolean authorStyleDisabled;
/*
XXX Comment here!
*/
attribute ACString defaultCharacterSet;
/**
* XXX comm-central only: bug 829543. Not the Character Encoding menu in
* browser!
*/
attribute ACString forceCharacterSet;
/**
* XXX comm-central only: bug 829543.
*/
attribute ACString hintCharacterSet;
/**
* XXX comm-central only: bug 829543.
*/
attribute int32_t hintCharacterSetSource;
/*
character set from prev document
*/
attribute ACString prevDocCharacterSet;
//void GetCharacterSetHint(in wstring hintCharset, in int32_t charsetSource);
/**
* Requests the size of the content to the container.
*/
void getContentSize(out long width, out long height);
/**
* Options for Bidi presentation.
*
* Use these attributes to access the individual Bidi options.
*/
/**
* bidiTextDirection: the default direction for the layout of bidirectional text.
* 1 - left to right
* 2 - right to left
*/
attribute octet bidiTextDirection;
/**
* bidiTextType: the ordering of bidirectional text. This may be either "logical"
* or "visual". Logical text will be reordered for presentation using the Unicode
* Bidi Algorithm. Visual text will be displayed without reordering.
* 1 - the default order for the charset
* 2 - logical order
* 3 - visual order
*/
attribute octet bidiTextType;
/**
* bidiNumeral: the type of numerals to display.
* 1 - depending on context, default is Arabic numerals
* 2 - depending on context, default is Hindi numerals
* 3 - Arabic numerals
* 4 - Hindi numerals
*/
attribute octet bidiNumeral;
/**
* bidiSupport: whether to use platform bidi support or Mozilla's bidi support
* 1 - Use Mozilla's bidi support
* 2 - Use the platform bidi support
* 3 - Disable bidi support
*/
attribute octet bidiSupport;
/**
* Use this attribute to access all the Bidi options in one operation
*/
attribute uint32_t bidiOptions;
/** The minimum font size */
attribute long minFontSize;
/**
* Append |this| and all of its descendants to the given array,
* in depth-first pre-order traversal.
*/
[noscript] void appendSubtree(in nsIMarkupDocumentViewerTArray array);
/**
* Set the maximum line width for the document.
* NOTE: This will generate a reflow!
*
* @param maxLineWidth The maximum width of any line boxes on the page,
* in CSS pixels.
*/
void changeMaxLineBoxWidth(in int32_t maxLineBoxWidth);
/*
* Render the document as if being viewed on a device with the specified
* media type. This will cause a reflow.
*
* @param mediaType The media type to be emulated
*/
void emulateMedium(in AString aMediaType);
/*
* Restore the viewer's natural media type
*/
void stopEmulatingMedium();
};