gecko/content/html/document/public/nsIImageDocument.idl

61 lines
2.0 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; 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/. */
#include "nsISupports.idl"
/**
* @status UNDER_DEVELOPMENT
*/
interface imgIRequest;
[scriptable, uuid(0A70F5AF-2A78-4B52-9D96-11FF2A091E88)]
interface nsIImageDocument : nsISupports {
/* Whether the pref for image resizing has been set. */
readonly attribute boolean imageResizingEnabled;
/* Whether the image is overflowing visible area. */
readonly attribute boolean imageIsOverflowing;
/* Whether the image has been resized to fit visible area. */
readonly attribute boolean imageIsResized;
/* Whether the image has been scaled to device-pixel size. */
readonly attribute boolean imageIsScaledToDevicePixels;
/* The image request being displayed in the content area */
readonly attribute imgIRequest imageRequest;
/* Resize the image to fit visible area. */
void shrinkToFit();
/* Restore image original size (1:1 image pixels : CSS px). */
void restoreImage();
/* Set image to display at 1:1 image pixel : device-pixel size.
* If CSS px == device pixels, this is equivalent to restoreImage().
*/
void scaleToDevicePixels();
/* Restore the image, trying to keep a certain pixel in the same position.
* The coordinate system is that of the shrunken image.
*/
void restoreImageTo(in long x, in long y);
/* Scale to 1:1 device-pixel size, trying to keep a certain pixel
* in the same position.
* The coordinate system is that of the shrunken image.
*/
void scaleToDevicePixelsTo(in long x, in long y);
/* A helper method for switching between states.
* The switching logic is as follows. If the image has been resized
* restore image original size, otherwise if the image is overflowing
* current visible area resize the image to fit the area.
*/
void toggleImageSize();
};