/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * The contents of this file are subject to the Mozilla Public
 * License Version 1.1 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of
 * the License at http://www.mozilla.org/MPL/
 * 
 * Software distributed under the License is distributed on an "AS
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 * implied. See the License for the specific language governing
 * rights and limitations under the License.
 * 
 * The Original Code is the Mozilla browser.
 * 
 * The Initial Developer of the Original Code is Netscape
 * Communications, Inc.  Portions created by Netscape are
 * Copyright (C) 1999, Mozilla.  All Rights Reserved.
 * 
 */

#include "nsISupports.idl"

[scriptable, uuid(0DDF9E1C-1DD2-11B2-A183-908A08AA75AE)]
interface nsISelectionDisplay : nsISupports
{
   const short DISPLAY_TEXT = 1;   //display text selected.
   const short DISPLAY_IMAGES = 2; //show images selected
   const short DISPLAY_FRAMES = 4; //display hrules ect.
   const short DISPLAY_ALL = 7; //display all. used for isEditor as well

   /*
   SetSelectionFlags used to set whether you want to see HRULES/IMAGES with border.
    also used to tell if the presshell is an editor right now. this should change
    
    @param aToggle -either DISPLAY_(TEXT,IMAGES,FRAMES,ALL)
                    This will tell the rendering engine to draw the different
                    selection types. 

    @return NS_OK if successful.
   */
    void setSelectionFlags(in short toggle);

   /*
   GetSelectionFlags used to get whether you want to see HRULES/IMAGES with border.
    also used to tell if the presshell is an editor right now. this should change
   
    @param short *aReturn - This will be filled with DISPLAY_(TEXT,IMAGE,FRAMES,ALL) 
                            bit flags.
    @return NS_OK if successful.
   */
    short getSelectionFlags();

};
