//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #include "BsPlatform.h" #include "Win32/BsWin32Defs.h" #include "Win32/BsWin32DropTarget.h" namespace BansheeEngine { /** @addtogroup Platform-Internal * @{ */ /** 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; NativeDropTargetData mDropTargets; bool mRequiresStartUp = false; bool mRequiresShutDown = false; Mutex mSync; }; /** @} */ }