| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). 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<const RenderWindow*, Win32DropTarget*> dropTargetsPerWindow;
- Vector<Win32DropTarget*> dropTargetsToInitialize;
- Vector<Win32DropTarget*> dropTargetsToDestroy;
- };
- struct Platform::Pimpl
- {
- bool mIsCursorHidden = false;
- NativeCursorData mCursor;
- bool mUsingCustomCursor = false;
- Map<const RenderWindowCore*, WindowNonClientAreaData> mNonClientAreas;
- bool mIsTrackingMouse = false;
- NativeDropTargetData mDropTargets;
- bool mRequiresStartUp = false;
- bool mRequiresShutDown = false;
- Mutex mSync;
- };
- /** @} */
- }
|