1*fbcf0fe9SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*fbcf0fe9SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*fbcf0fe9SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*fbcf0fe9SAndrew Rist * distributed with this work for additional information 6*fbcf0fe9SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*fbcf0fe9SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*fbcf0fe9SAndrew Rist * "License"); you may not use this file except in compliance 9*fbcf0fe9SAndrew Rist * with the License. You may obtain a copy of the License at 10*fbcf0fe9SAndrew Rist * 11*fbcf0fe9SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*fbcf0fe9SAndrew Rist * 13*fbcf0fe9SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*fbcf0fe9SAndrew Rist * software distributed under the License is distributed on an 15*fbcf0fe9SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*fbcf0fe9SAndrew Rist * KIND, either express or implied. See the License for the 17*fbcf0fe9SAndrew Rist * specific language governing permissions and limitations 18*fbcf0fe9SAndrew Rist * under the License. 19*fbcf0fe9SAndrew Rist * 20*fbcf0fe9SAndrew Rist *************************************************************/ 21*fbcf0fe9SAndrew Rist 22*fbcf0fe9SAndrew Rist 23cdf0e10cSrcweir #ifndef _IDROPTARGET_HXX_ 24cdf0e10cSrcweir #define _IDROPTARGET_HXX_ 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include "target.hxx" 27cdf0e10cSrcweir 28cdf0e10cSrcweir class IDropTargetImpl: public IDropTarget 29cdf0e10cSrcweir { 30cdf0e10cSrcweir LONG m_nRefCount; 31cdf0e10cSrcweir // Calls to IDropTarget functions are delegated to a DropTarget. 32cdf0e10cSrcweir DropTarget& m_rDropTarget; 33cdf0e10cSrcweir 34cdf0e10cSrcweir virtual ~IDropTargetImpl(); // delete is only called by IUnknown::Release 35cdf0e10cSrcweir IDropTargetImpl( const IDropTargetImpl& ); 36cdf0e10cSrcweir IDropTargetImpl& operator=( const IDropTargetImpl& ); 37cdf0e10cSrcweir public: 38cdf0e10cSrcweir IDropTargetImpl( DropTarget& pTarget); 39cdf0e10cSrcweir 40cdf0e10cSrcweir // IDropTarget 41cdf0e10cSrcweir virtual HRESULT STDMETHODCALLTYPE QueryInterface( 42cdf0e10cSrcweir /* [in] */ REFIID riid, 43cdf0e10cSrcweir /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 44cdf0e10cSrcweir 45cdf0e10cSrcweir virtual ULONG STDMETHODCALLTYPE AddRef( ); 46cdf0e10cSrcweir 47cdf0e10cSrcweir virtual ULONG STDMETHODCALLTYPE Release( ); 48cdf0e10cSrcweir 49cdf0e10cSrcweir virtual HRESULT STDMETHODCALLTYPE DragEnter( 50cdf0e10cSrcweir /* [unique][in] */ IDataObject __RPC_FAR *pDataObj, 51cdf0e10cSrcweir /* [in] */ DWORD grfKeyState, 52cdf0e10cSrcweir /* [in] */ POINTL pt, 53cdf0e10cSrcweir /* [out][in] */ DWORD __RPC_FAR *pdwEffect); 54cdf0e10cSrcweir 55cdf0e10cSrcweir virtual HRESULT STDMETHODCALLTYPE DragOver( 56cdf0e10cSrcweir /* [in] */ DWORD grfKeyState, 57cdf0e10cSrcweir /* [in] */ POINTL pt, 58cdf0e10cSrcweir /* [out][in] */ DWORD __RPC_FAR *pdwEffect); 59cdf0e10cSrcweir 60cdf0e10cSrcweir virtual HRESULT STDMETHODCALLTYPE DragLeave( ) ; 61cdf0e10cSrcweir 62cdf0e10cSrcweir virtual HRESULT STDMETHODCALLTYPE Drop( 63cdf0e10cSrcweir /* [unique][in] */ IDataObject __RPC_FAR *pDataObj, 64cdf0e10cSrcweir /* [in] */ DWORD grfKeyState, 65cdf0e10cSrcweir /* [in] */ POINTL pt, 66cdf0e10cSrcweir /* [out][in] */ DWORD __RPC_FAR *pdwEffect); 67cdf0e10cSrcweir 68cdf0e10cSrcweir 69cdf0e10cSrcweir }; 70cdf0e10cSrcweir #endif 71