Struct xpcom::interfaces::nsIDragService  
                   
                       [−]
                   
               [src]
#[repr(C)]pub struct nsIDragService { /* fields omitted */ }
interface nsIDragService : nsISupports
Methods
impl nsIDragService[src]
pub fn coerce<T: nsIDragServiceCoerce>(&self) -> &T[src]
Cast this nsIDragService to one of its base interfaces.
impl nsIDragService[src]
pub const DRAGDROP_ACTION_NONE: i64
DRAGDROP_ACTION_NONE: i64 = 0
pub const DRAGDROP_ACTION_COPY: i64
DRAGDROP_ACTION_COPY: i64 = 1
pub const DRAGDROP_ACTION_MOVE: i64
DRAGDROP_ACTION_MOVE: i64 = 2
pub const DRAGDROP_ACTION_LINK: i64
DRAGDROP_ACTION_LINK: i64 = 4
pub const DRAGDROP_ACTION_UNINITIALIZED: i64
DRAGDROP_ACTION_UNINITIALIZED: i64 = 64
pub unsafe fn InvokeDragSession(
    &self, 
    aDOMNode: *const nsIDOMNode, 
    aTransferables: *const nsIArray, 
    aRegion: *const nsIScriptableRegion, 
    aActionType: uint32_t, 
    aContentPolicyType: nsContentPolicyType
) -> nsresult[src]
&self,
aDOMNode: *const nsIDOMNode,
aTransferables: *const nsIArray,
aRegion: *const nsIScriptableRegion,
aActionType: uint32_t,
aContentPolicyType: nsContentPolicyType
) -> nsresult
/**
    * Starts a modal drag session with an array of transaferables.
    *
    * Note: This method is deprecated for non-native code.
    *
    * @param  aTransferables - an array of transferables to be dragged
    * @param  aRegion - a region containing rectangles for cursor feedback,
    *            in window coordinates.
    * @param  aActionType - specified which of copy/move/link are allowed
    * @param  aContentPolicyType - the contentPolicyType that will be
    *           passed to the loadInfo when creating a new channel
    *           (defaults to TYPE_OTHER)
    */
void invokeDragSession (in nsIDOMNode aDOMNode, in nsIArray aTransferables, in nsIScriptableRegion aRegion, in unsigned long aActionType, [optional] in nsContentPolicyType aContentPolicyType);
pub unsafe fn InvokeDragSessionWithImage(
    &self, 
    aDOMNode: *const nsIDOMNode, 
    aTransferableArray: *const nsIArray, 
    aRegion: *const nsIScriptableRegion, 
    aActionType: uint32_t, 
    aImage: *const nsIDOMNode, 
    aImageX: int32_t, 
    aImageY: int32_t, 
    aDragEvent: *const nsIDOMDragEvent, 
    aDataTransfer: *const nsIDOMDataTransfer
) -> nsresult[src]
&self,
aDOMNode: *const nsIDOMNode,
aTransferableArray: *const nsIArray,
aRegion: *const nsIScriptableRegion,
aActionType: uint32_t,
aImage: *const nsIDOMNode,
aImageX: int32_t,
aImageY: int32_t,
aDragEvent: *const nsIDOMDragEvent,
aDataTransfer: *const nsIDOMDataTransfer
) -> nsresult
/**
   * Starts a modal drag session using an image. The first four arguments are
   * the same as invokeDragSession.
   *
   * Note: This method is deprecated for non-native code.
   *
   * A custom image may be specified using the aImage argument. If this is
   * supplied, the aImageX and aImageY arguments specify the offset within
   * the image where the cursor would be positioned. That is, when the image
   * is drawn, it is offset up and left the amount so that the cursor appears
   * at that location within the image.
   *
   * If aImage is null, aImageX and aImageY are not used and the image is instead
   * determined from the source node aDOMNode, and the offset calculated so that
   * the initial location for the image appears in the same screen position as
   * where the element is located. The node must be within a document.
   *
   * Currently, supported images are all DOM nodes. If this is an HTML <image> or
   * <canvas>, the drag image is taken from the image data. If the element is in
   * a document, it will be rendered at its displayed size, othewise, it will be
   * rendered at its real size. For other types of elements, the element is
   * rendered into an offscreen buffer in the same manner as it is currently
   * displayed. The document selection is hidden while drawing.
   *
   * The aDragEvent must be supplied as the current screen coordinates of the
   * event are needed to calculate the image location.
   */
void invokeDragSessionWithImage (in nsIDOMNode aDOMNode, in nsIArray aTransferableArray, in nsIScriptableRegion aRegion, in unsigned long aActionType, in nsIDOMNode aImage, in long aImageX, in long aImageY, in nsIDOMDragEvent aDragEvent, in nsIDOMDataTransfer aDataTransfer);
pub unsafe fn InvokeDragSessionWithSelection(
    &self, 
    aSelection: *const nsISelection, 
    aTransferableArray: *const nsIArray, 
    aActionType: uint32_t, 
    aDragEvent: *const nsIDOMDragEvent, 
    aDataTransfer: *const nsIDOMDataTransfer
) -> nsresult[src]
&self,
aSelection: *const nsISelection,
aTransferableArray: *const nsIArray,
aActionType: uint32_t,
aDragEvent: *const nsIDOMDragEvent,
aDataTransfer: *const nsIDOMDataTransfer
) -> nsresult
/**
   * Start a modal drag session using the selection as the drag image.
   * The aDragEvent must be supplied as the current screen coordinates of the
   * event are needed to calculate the image location.
   *
   * Note: This method is deprecated for non-native code.
   */
void invokeDragSessionWithSelection (in nsISelection aSelection, in nsIArray aTransferableArray, in unsigned long aActionType, in nsIDOMDragEvent aDragEvent, in nsIDOMDataTransfer aDataTransfer);
pub unsafe fn GetCurrentSession(
    &self, 
    _retval: *mut *const nsIDragSession
) -> nsresult[src]
&self,
_retval: *mut *const nsIDragSession
) -> nsresult
/**
    * Returns the current Drag Session
    */
nsIDragSession getCurrentSession ();
pub unsafe fn StartDragSession(&self) -> nsresult[src]
/**
    * Tells the Drag Service to start a drag session. This is called when
    * an external drag occurs
    */
void startDragSession ();
pub unsafe fn EndDragSession(
    &self, 
    aDoneDrag: bool, 
    aKeyModifiers: uint32_t
) -> nsresult[src]
&self,
aDoneDrag: bool,
aKeyModifiers: uint32_t
) -> nsresult
/**
    * Tells the Drag Service to end a drag session. This is called when
    * an external drag occurs
    *
    * If aDoneDrag is true, the drag has finished, otherwise the drag has
    * just left the window.
    */
void endDragSession (in boolean aDoneDrag, [optional] in unsigned long aKeyModifiers);
pub unsafe fn Suppress(&self) -> nsresult[src]
/**
   * Increase/decrease dragging suppress level by one.
   * If level is greater than one, dragging is disabled.
   */
void suppress ();
pub unsafe fn Unsuppress(&self) -> nsresult[src]
void unsuppress ();
pub unsafe fn DragMoved(&self, aX: int32_t, aY: int32_t) -> nsresult[src]
/**
    * aX and aY are in LayoutDevice pixels.
    */
[noscript] void dragMoved (in long aX, in long aY);
Methods from Deref<Target = nsISupports>
pub fn coerce<T: nsISupportsCoerce>(&self) -> &T[src]
Cast this nsISupports to one of its base interfaces.
pub unsafe fn QueryInterface(
    &self, 
    uuid: &nsIID, 
    result: *mut *mut c_void
) -> nsresult[src]
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);
pub unsafe fn AddRef(&self) -> nsrefcnt[src]
[noscript,notxpcom] nsrefcnt AddRef ();
pub unsafe fn Release(&self) -> nsrefcnt[src]
[noscript,notxpcom] nsrefcnt Release ();
Trait Implementations
impl XpCom for nsIDragService[src]
const IID: nsIID
IID: nsIID = nsID(3956716450, 44822, 17327, [166, 152, 48, 145, 160, 135, 221, 98])
fn query_interface<T: XpCom>(&self) -> Option<RefPtr<T>>[src]
Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more
impl RefCounted for nsIDragService[src]
unsafe fn addref(&self)[src]
Increment the reference count.
unsafe fn release(&self)[src]
Decrement the reference count, potentially freeing backing memory.
impl Deref for nsIDragService[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports[src]
Dereferences the value.