michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: /** michael@0: * @status UNDER_DEVELOPMENT michael@0: */ michael@0: michael@0: interface imgIRequest; michael@0: michael@0: [scriptable, uuid(87c27f98-37dc-4b64-a8cd-92003624bcee)] michael@0: interface nsIImageDocument : nsISupports { michael@0: michael@0: /* Whether the pref for image resizing has been set. */ michael@0: readonly attribute boolean imageResizingEnabled; michael@0: michael@0: /* Whether the image is overflowing visible area. */ michael@0: readonly attribute boolean imageIsOverflowing; michael@0: michael@0: /* Whether the image has been resized to fit visible area. */ michael@0: readonly attribute boolean imageIsResized; michael@0: michael@0: /* The image request being displayed in the content area */ michael@0: readonly attribute imgIRequest imageRequest; michael@0: michael@0: /* Resize the image to fit visible area. */ michael@0: [binaryname(DOMShrinkToFit)] michael@0: void shrinkToFit(); michael@0: michael@0: /* Restore image original size. */ michael@0: [binaryname(DOMRestoreImage)] michael@0: void restoreImage(); michael@0: michael@0: /* Restore the image, trying to keep a certain pixel in the same position. michael@0: * The coordinate system is that of the shrunken image. michael@0: */ michael@0: [binaryname(DOMRestoreImageTo)] michael@0: void restoreImageTo(in long x, in long y); michael@0: michael@0: /* A helper method for switching between states. michael@0: * The switching logic is as follows. If the image has been resized michael@0: * restore image original size, otherwise if the image is overflowing michael@0: * current visible area resize the image to fit the area. michael@0: */ michael@0: [binaryname(DOMToggleImageSize)] michael@0: void toggleImageSize(); michael@0: };