/* * Implementation of IDropTarget::DragEnter */ HRESULT __stdcall GHOST_DropTargetWin32::DragEnter(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { // we accept all drop by default m_window->setAcceptDragOperation(true); *pdwEffect = DROPEFFECT_NONE; m_draggedObjectType = getGhostType(pDataObject); m_system->pushDragDropEvent(GHOST_kEventDraggingEntered, m_draggedObjectType, m_window, pt.x, pt.y, NULL); return S_OK; }
void *GHOST_DropTargetWin32::getGhostData(IDataObject *pDataObject) { GHOST_TDragnDropTypes type = getGhostType(pDataObject); switch (type) { case GHOST_kDragnDropTypeFilenames: return getDropDataAsFilenames(pDataObject); break; case GHOST_kDragnDropTypeString: return getDropDataAsString(pDataObject); break; case GHOST_kDragnDropTypeBitmap: //return getDropDataAsBitmap(pDataObject); break; default: #ifdef GHOST_DEBUG ::printf("\nGHOST_kDragnDropTypeUnknown"); #endif // GHOST_DEBUG return NULL; break; } return NULL; }