diff options
Diffstat (limited to 'editor/nsIHTMLObjectResizer.idl')
-rw-r--r-- | editor/nsIHTMLObjectResizer.idl | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/editor/nsIHTMLObjectResizer.idl b/editor/nsIHTMLObjectResizer.idl new file mode 100644 index 0000000000..50201b34e0 --- /dev/null +++ b/editor/nsIHTMLObjectResizer.idl @@ -0,0 +1,93 @@ +/* -*- 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" +#include "domstubs.idl" + +interface nsIHTMLObjectResizeListener; + +[scriptable, uuid(8b396020-69d3-451f-80c1-1a96a7da25a9)] + +interface nsIHTMLObjectResizer : nsISupports +{ +%{C++ + typedef short EResizerLocation; +%} + const short eTopLeft = 0; + const short eTop = 1; + const short eTopRight = 2; + const short eLeft = 3; + const short eRight = 4; + const short eBottomLeft = 5; + const short eBottom = 6; + const short eBottomRight = 7; + + /** + * the element currently displaying resizers + */ + readonly attribute nsIDOMElement resizedObject; + + /** + * a boolean indicating if object resizing is enabled in the editor + */ + attribute boolean objectResizingEnabled; + + /** + * Shows active resizers around an element's frame + * @param aResizedElement [IN] a DOM Element + */ + void showResizers(in nsIDOMElement aResizedElement); + + /** + * Hide resizers if they are visible + */ + void hideResizers(); + + /** + * Refresh visible resizers + */ + void refreshResizers(); + + /** + * event callback when a mouse button is pressed + * @param aX [IN] horizontal position of the pointer + * @param aY [IN] vertical position of the pointer + * @param aTarget [IN] the element triggering the event + * @param aMouseEvent [IN] the event + */ + void mouseDown(in long aX, in long aY, + in nsIDOMElement aTarget, in nsIDOMEvent aMouseEvent); + + /** + * event callback when a mouse button is released + * @param aX [IN] horizontal position of the pointer + * @param aY [IN] vertical position of the pointer + * @param aTarget [IN] the element triggering the event + */ + void mouseUp(in long aX, in long aY, + in nsIDOMElement aTarget); + + /** + * event callback when the mouse pointer is moved + * @param aMouseEvent [IN] the event + */ + void mouseMove(in nsIDOMEvent aMouseEvent); + + /* Event Listeners */ + + /** + * Creates a resize listener that can be used to get notifications + * that the user started to resize an object or finalized such an operation + * @param aListener [IN] an instance of nsIHTMLObjectResizeListener + */ + void addObjectResizeEventListener(in nsIHTMLObjectResizeListener aListener); + + /** + * Deletes a resize listener + * @param aListener [IN] an instance of nsIHTMLObjectResizeListener + */ + void removeObjectResizeEventListener(in nsIHTMLObjectResizeListener aListener); +}; + |