| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #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<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;
- Vector<RenderWindowCore*> mModalWindowStack;
- NativeDropTargetData mDropTargets;
- bool mRequiresStartUp = false;
- bool mRequiresShutDown = false;
- BS_MUTEX(mSync);
- };
- /** @} */
- /** @endcond */
- }
|