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.