Songbird / Development / Songbird Add-Ons API Documentation

components/integration/public/sbINativeWindowManager.idl

Go to the documentation of this file.
00001 /*
00002 //
00003 // BEGIN SONGBIRD GPL
00004 // 
00005 // This file is part of the Songbird web player.
00006 //
00007 // Copyright(c) 2005-2008 POTI, Inc.
00008 // http://songbirdnest.com
00009 // 
00010 // This file may be licensed under the terms of of the
00011 // GNU General Public License Version 2 (the "GPL").
00012 // 
00013 // Software distributed under the License is distributed 
00014 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either 
00015 // express or implied. See the GPL for the specific language 
00016 // governing rights and limitations.
00017 //
00018 // You should have received a copy of the GPL along with this 
00019 // program. If not, go to http://www.gnu.org/licenses/gpl.html
00020 // or write to the Free Software Foundation, Inc., 
00021 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00022 // 
00023 // END SONGBIRD GPL
00024 //
00025  */
00026 #include "nsISupports.idl"
00027 #include "nsIDOMMouseEvent.idl"
00028 
00043 [scriptable, uuid(9646A45E-8E0C-49F9-901B-5FC6E4E522DB)]
00044 interface sbINativeWindowManager : nsISupports
00045 {
00046   /* constants representing resize directions */
00047   const PRInt32 DIRECTION_NORTH_WEST = 7;
00048   const PRInt32 DIRECTION_NORTH      = 8;
00049   const PRInt32 DIRECTION_NORTH_EAST = 9;
00050   const PRInt32 DIRECTION_WEST       = 4;
00051   const PRInt32 DIRECTION_EAST       = 6;
00052   const PRInt32 DIRECTION_SOUTH_WEST = 1;
00053   const PRInt32 DIRECTION_SOUTH      = 2;
00054   const PRInt32 DIRECTION_SOUTH_EAST = 3;
00055 
00056   /* \brief ask the window manager to begin a resize of @aWindow, 
00057    *        based on the mouse event in @aEvent in the direction 
00058    *        indicated by @aDirection 
00059    */
00060   void beginResizeDrag(in nsISupports aWindow, in nsIDOMMouseEvent aEvent, in PRInt32 aDirection);
00061 
00062   /* \brief is beginResizeDrag() supported by this implementation? */
00063   readonly attribute boolean supportsResizeDrag;
00064 
00065   /* \brief set's the minimum size of @aWindow in the window manager to 
00066    *        @aMinimumWidth x @aMinimumHeight 
00067    */
00068   void setMinimumWindowSize(in nsISupports aWindow, in PRInt32 aMinimumWidth, in PRInt32 aMinimumHeight);
00069   
00070   /* \brief set's the maximum size of @aWindow in the window manager to 
00071    *        @aMaximumWidth x @aMaximumHeight 
00072    */
00073   void setMaximumWindowSize(in nsISupports aWindow, in PRInt32 aMaximumWidth, in PRInt32 aMaximumHeight);
00074 
00075   /* \brief is setMinimumWindowSize() supported by this implementation? */
00076   readonly attribute boolean supportsMinimumWindowSize;
00077   
00078   /* \brief is setMaximumWindowSize() supported by this implementation? */
00079   readonly attribute boolean supportsMaximumWindowSize;
00080 
00081   /* \brief asks the window manager to keep @aWindow above all other windows */
00082   void setOnTop(in nsISupports aWindow, in boolean aOnTop);
00083 
00084   /* \brief asks the window manager to enable shadowing on the window */
00085   void setShadowing(in nsISupports aWindow, in boolean aShadowing);
00086 
00087   /* \brief is setOnTop() supported by this implementation? */
00088   readonly attribute boolean supportsOnTop;
00089 
00090   /* \brief is setShadowing() supported by this implementation? */
00091   readonly attribute boolean supportsShadowing;
00092 };

Generated on Tue Mar 10 14:28:54 2009 for Songbird by  doxygen 1.5.2