#include "BsPlatform.h" #include "Win32/BsWin32Defs.h" #include "Win32/BsWin32DropTarget.h" namespace BansheeEngine { /** @cond INTERNAL */ /** @addtogroup Platform * @{ */ /** Encapsulate native cursor data so we can avoid including windows.h as it pollutes the global namespace. */ struct BS_CORE_EXPORT NativeCursorData { HCURSOR cursor; }; /** Encapsulate drop target data so we can avoid including windows.h as it pollutes the global namespace. */ struct BS_CORE_EXPORT NativeDropTargetData { Map dropTargetsPerWindow; Vector dropTargetsToInitialize; Vector dropTargetsToDestroy; }; struct Platform::Pimpl { bool mIsCursorHidden = false; NativeCursorData mCursor; bool mUsingCustomCursor = false; Map mNonClientAreas; bool mIsTrackingMouse = false; Vector mModalWindowStack; NativeDropTargetData mDropTargets; bool mRequiresStartUp = false; bool mRequiresShutDown = false; BS_MUTEX(mSync); }; /** @} */ /** @endcond */ }