示例#1
0
VBoxDnDDropSource::VBoxDnDDropSource(VBoxDnDWnd *pParent)
    : mRefCount(1),
      mpWndParent(pParent),
      mClientID(UINT32_MAX),
      mdwCurEffect(0),
      muCurAction(DND_IGNORE_ACTION)
{
    int rc = VbglR3DnDConnect(&mClientID);

    LogFlowFunc(("rc=%Rrc\n", rc));
}
示例#2
0
VBoxDnDDropTarget::VBoxDnDDropTarget(VBoxDnDWnd *pParent)
    : mRefCount(1),
      mpWndParent(pParent),
      mdwCurEffect(0),
      mpvData(NULL),
      mcbData(0),
      hEventDrop(NIL_RTSEMEVENT)
{
    int rc = VbglR3DnDConnect(&mDnDCtx);
    if (RT_SUCCESS(rc))
        rc = RTSemEventCreate(&hEventDrop);

    LogFlowFunc(("clientID=%RU32, rc=%Rrc\n", mDnDCtx.uClientID, rc));
}
/**
 * Initialize Drag & Drop.
 *
 * This will enable the Drag & Drop events.
 *
 * @returns VBox status code.
 */
VBGLR3DECL(int) VbglR3DnDInit(void)
{
    return VbglR3DnDConnect(&g_clientId);
}