Explorar o código

Mobile platforms will use software cursor as default

Ivan Savenko %!s(int64=2) %!d(string=hai) anos
pai
achega
5484efde90
Modificáronse 1 ficheiros con 29 adicións e 20 borrados
  1. 29 20
      client/gui/CursorHandler.cpp

+ 29 - 20
client/gui/CursorHandler.cpp

@@ -4,30 +4,39 @@
  * Authors: listed in file AUTHORS in main folder
  *
  * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
-#include "StdInc.h"
-#include "CursorHandler.h"
-
+ * Full text of license available in license.txt file, in main folder
+ *
+ */
+
+#include "StdInc.h"
+#include "CursorHandler.h"
+
 #include <SDL.h>
 
 #include "SDL_Extensions.h"
 #include "CGuiHandler.h"
-#include "CAnimation.h"
-#include "../../lib/CConfigHandler.h"
-
-//#include "../CMT.h"
-
-std::unique_ptr<ICursor> CursorHandler::createCursor()
-{
-	if (settings["video"]["softwareCursor"].Bool())
-		return std::make_unique<CursorSoftware>();
-	else
-		return std::make_unique<CursorHardware>();
-}
-
-CursorHandler::CursorHandler()
+#include "CAnimation.h"
+#include "../../lib/CConfigHandler.h"
+
+std::unique_ptr<ICursor> CursorHandler::createCursor()
+{
+	if (settings["video"]["cursor"].String() == "auto")
+	{
+#if defined(VCMI_ANDROID) || defined(VCMI_IOS)
+		return std::make_unique<CursorSoftware>();
+#else
+		return std::make_unique<CursorHardware>();
+#endif
+	}
+
+	if (settings["video"]["cursor"].String() == "hardware")
+		return std::make_unique<CursorHardware>();
+
+	assert(settings["video"]["cursor"].String() == "software");
+	return std::make_unique<CursorSoftware>();
+}
+
+CursorHandler::CursorHandler()
 	: cursor(createCursor())
 	, frameTime(0.f)
 	, showing(false)