/* 
 * 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;
}