[Scummvm-git-logs] scummvm master -> 468c0f07431d3fb423ba697dcf906d9fbc149780
criezy
criezy at scummvm.org
Sun Aug 4 20:04:06 CEST 2019
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
0ddcb9de7b IOS7: Implement copy to clipboard and paste from clipboard
c505a7b4bb IOS7: Implement opening a URL
160070347f IOS7: Move non-video related functions to a separate file
cd7bf2b09f IOS7: Implement getSystemLanguage
468c0f0743 IOS7: Implement isConnectionLimited
Commit: 0ddcb9de7bd72ca2db82d12c1d9d56493169766b
https://github.com/scummvm/scummvm/commit/0ddcb9de7bd72ca2db82d12c1d9d56493169766b
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00
Commit Message:
IOS7: Implement copy to clipboard and paste from clipboard
Changed paths:
backends/platform/ios7/ios7_osys_main.cpp
backends/platform/ios7/ios7_osys_main.h
backends/platform/ios7/ios7_osys_video.mm
diff --git a/backends/platform/ios7/ios7_osys_main.cpp b/backends/platform/ios7/ios7_osys_main.cpp
index 9b740ca..6f69e20 100644
--- a/backends/platform/ios7/ios7_osys_main.cpp
+++ b/backends/platform/ios7/ios7_osys_main.cpp
@@ -172,6 +172,7 @@ bool OSystem_iOS7::hasFeature(Feature f) {
case kFeatureCursorPalette:
case kFeatureFilteringMode:
case kFeatureVirtualKeyboard:
+ case kFeatureClipboardSupport:
return true;
default:
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index ca98991..6555125 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -206,6 +206,10 @@ public:
virtual void logMessage(LogMessageType::Type type, const char *message);
virtual void fatalError() override;
+ virtual bool hasTextInClipboard();
+ virtual Common::String getTextFromClipboard();
+ virtual bool setTextInClipboard(const Common::String &text);
+
protected:
void initVideoContext();
void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index 20cf687..05093e5 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -28,6 +28,7 @@
#include "graphics/conversion.h"
#include "backends/platform/ios7/ios7_app_delegate.h"
+#include "common/translation.h"
@interface iOS7AlertHandler : NSObject<UIAlertViewDelegate>
@end
@@ -603,3 +604,41 @@ void OSystem_iOS7::setShowKeyboard(bool show) {
bool OSystem_iOS7::isKeyboardShown() const {
return [[iOS7AppDelegate iPhoneView] isKeyboardShown];
}
+
+
+bool OSystem_iOS7::hasTextInClipboard() {
+ return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
+}
+
+Common::String OSystem_iOS7::getTextFromClipboard() {
+ if (!hasTextInClipboard())
+ return Common::String();
+
+ UIPasteboard *pb = [UIPasteboard generalPasteboard];
+ NSString *str = pb.string;
+ if (str == nil)
+ return Common::String();
+
+ // If translations are supported, use the current TranslationManager charset and otherwise
+ // use ASCII. If the string cannot be represented using the requested encoding we get a null
+ // pointer below, which is fine as ScummVM would not know what to do with the string anyway.
+#ifdef USE_TRANSLATION
+ NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+ NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+ NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+ return Common::String([str cStringUsingEncoding:encoding]);
+}
+
+bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
+#ifdef USE_TRANSLATION
+ NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+ NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+ NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+ UIPasteboard *pb = [UIPasteboard generalPasteboard];
+ [pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
+ return true;
+}
Commit: c505a7b4bb14c532a2f343fd27032bd97ad716b7
https://github.com/scummvm/scummvm/commit/c505a7b4bb14c532a2f343fd27032bd97ad716b7
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00
Commit Message:
IOS7: Implement opening a URL
Changed paths:
backends/platform/ios7/ios7_osys_main.cpp
backends/platform/ios7/ios7_osys_main.h
backends/platform/ios7/ios7_osys_video.mm
diff --git a/backends/platform/ios7/ios7_osys_main.cpp b/backends/platform/ios7/ios7_osys_main.cpp
index 6f69e20..07af311 100644
--- a/backends/platform/ios7/ios7_osys_main.cpp
+++ b/backends/platform/ios7/ios7_osys_main.cpp
@@ -173,6 +173,7 @@ bool OSystem_iOS7::hasFeature(Feature f) {
case kFeatureFilteringMode:
case kFeatureVirtualKeyboard:
case kFeatureClipboardSupport:
+ case kFeatureOpenUrl:
return true;
default:
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index 6555125..4fb3049 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -210,6 +210,8 @@ public:
virtual Common::String getTextFromClipboard();
virtual bool setTextInClipboard(const Common::String &text);
+ virtual bool openUrl(const Common::String &url);
+
protected:
void initVideoContext();
void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index 05093e5..f0a7db6 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -642,3 +642,16 @@ bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
[pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
return true;
}
+
+bool OSystem_iOS7::openUrl(const Common::String &url) {
+ UIApplication *application = [UIApplication sharedApplication];
+ NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
+ // The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
+ // and otherwise use the old method.
+ if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
+ [application openURL:nsurl options:@{} completionHandler:nil];
+ return true;
+ } else {
+ return [application openURL:nsurl];
+ }
+}
Commit: 160070347f1ae2b3b15390a8f9e9273fcb0d4419
https://github.com/scummvm/scummvm/commit/160070347f1ae2b3b15390a8f9e9273fcb0d4419
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00
Commit Message:
IOS7: Move non-video related functions to a separate file
Changed paths:
A backends/platform/ios7/ios7_osys_misc.mm
backends/platform/ios7/ios7_osys_video.mm
backends/platform/ios7/module.mk
diff --git a/backends/platform/ios7/ios7_osys_misc.mm b/backends/platform/ios7/ios7_osys_misc.mm
new file mode 100644
index 0000000..8641094
--- /dev/null
+++ b/backends/platform/ios7/ios7_osys_misc.mm
@@ -0,0 +1,79 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+// Disable symbol overrides so that we can use system headers.
+#define FORBIDDEN_SYMBOL_ALLOW_ALL
+
+#include "backends/platform/ios7/ios7_osys_main.h"
+
+#include <UIKit/UIKit.h>
+#include "common/translation.h"
+
+bool OSystem_iOS7::hasTextInClipboard() {
+ return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
+}
+
+Common::String OSystem_iOS7::getTextFromClipboard() {
+ if (!hasTextInClipboard())
+ return Common::String();
+
+ UIPasteboard *pb = [UIPasteboard generalPasteboard];
+ NSString *str = pb.string;
+ if (str == nil)
+ return Common::String();
+
+ // If translations are supported, use the current TranslationManager charset and otherwise
+ // use ASCII. If the string cannot be represented using the requested encoding we get a null
+ // pointer below, which is fine as ScummVM would not know what to do with the string anyway.
+#ifdef USE_TRANSLATION
+ NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+ NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+ NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+ return Common::String([str cStringUsingEncoding:encoding]);
+}
+
+bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
+#ifdef USE_TRANSLATION
+ NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+ NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+ NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+ UIPasteboard *pb = [UIPasteboard generalPasteboard];
+ [pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
+ return true;
+}
+
+bool OSystem_iOS7::openUrl(const Common::String &url) {
+ UIApplication *application = [UIApplication sharedApplication];
+ NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
+ // The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
+ // and otherwise use the old method.
+ if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
+ [application openURL:nsurl options:@{} completionHandler:nil];
+ return true;
+ } else {
+ return [application openURL:nsurl];
+ }
+}
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index f0a7db6..20cf687 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -28,7 +28,6 @@
#include "graphics/conversion.h"
#include "backends/platform/ios7/ios7_app_delegate.h"
-#include "common/translation.h"
@interface iOS7AlertHandler : NSObject<UIAlertViewDelegate>
@end
@@ -604,54 +603,3 @@ void OSystem_iOS7::setShowKeyboard(bool show) {
bool OSystem_iOS7::isKeyboardShown() const {
return [[iOS7AppDelegate iPhoneView] isKeyboardShown];
}
-
-
-bool OSystem_iOS7::hasTextInClipboard() {
- return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
-}
-
-Common::String OSystem_iOS7::getTextFromClipboard() {
- if (!hasTextInClipboard())
- return Common::String();
-
- UIPasteboard *pb = [UIPasteboard generalPasteboard];
- NSString *str = pb.string;
- if (str == nil)
- return Common::String();
-
- // If translations are supported, use the current TranslationManager charset and otherwise
- // use ASCII. If the string cannot be represented using the requested encoding we get a null
- // pointer below, which is fine as ScummVM would not know what to do with the string anyway.
-#ifdef USE_TRANSLATION
- NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
- NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
-#else
- NSStringEncoding encoding = NSISOLatin1StringEncoding;
-#endif
- return Common::String([str cStringUsingEncoding:encoding]);
-}
-
-bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
-#ifdef USE_TRANSLATION
- NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
- NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
-#else
- NSStringEncoding encoding = NSISOLatin1StringEncoding;
-#endif
- UIPasteboard *pb = [UIPasteboard generalPasteboard];
- [pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
- return true;
-}
-
-bool OSystem_iOS7::openUrl(const Common::String &url) {
- UIApplication *application = [UIApplication sharedApplication];
- NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
- // The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
- // and otherwise use the old method.
- if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
- [application openURL:nsurl options:@{} completionHandler:nil];
- return true;
- } else {
- return [application openURL:nsurl];
- }
-}
diff --git a/backends/platform/ios7/module.mk b/backends/platform/ios7/module.mk
index ad4f7fd..4b821fe 100644
--- a/backends/platform/ios7/module.mk
+++ b/backends/platform/ios7/module.mk
@@ -5,6 +5,7 @@ MODULE_OBJS := \
ios7_osys_events.o \
ios7_osys_sound.o \
ios7_osys_video.o \
+ ios7_osys_misc.o \
ios7_main.o \
ios7_video.o \
ios7_keyboard.o \
Commit: cd7bf2b09f684ee80fa7b7e46ea0475925488a96
https://github.com/scummvm/scummvm/commit/cd7bf2b09f684ee80fa7b7e46ea0475925488a96
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00
Commit Message:
IOS7: Implement getSystemLanguage
Changed paths:
backends/platform/ios7/ios7_osys_main.h
backends/platform/ios7/ios7_osys_misc.mm
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index 4fb3049..aa67a55 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -212,6 +212,8 @@ public:
virtual bool openUrl(const Common::String &url);
+ virtual Common::String getSystemLanguage() const;
+
protected:
void initVideoContext();
void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_misc.mm b/backends/platform/ios7/ios7_osys_misc.mm
index 8641094..53f11ab 100644
--- a/backends/platform/ios7/ios7_osys_misc.mm
+++ b/backends/platform/ios7/ios7_osys_misc.mm
@@ -28,6 +28,13 @@
#include <UIKit/UIKit.h>
#include "common/translation.h"
+Common::String OSystem_iOS7::getSystemLanguage() const {
+ NSString *locale = [[NSLocale currentLocale] localeIdentifier];
+ if (locale == nil)
+ return Common::String();
+ return Common::String([locale cStringUsingEncoding:NSISOLatin1StringEncoding]);
+}
+
bool OSystem_iOS7::hasTextInClipboard() {
return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
}
Commit: 468c0f07431d3fb423ba697dcf906d9fbc149780
https://github.com/scummvm/scummvm/commit/468c0f07431d3fb423ba697dcf906d9fbc149780
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00
Commit Message:
IOS7: Implement isConnectionLimited
Changed paths:
backends/platform/ios7/ios7_osys_main.h
backends/platform/ios7/ios7_osys_misc.mm
configure
devtools/create_project/xcode.cpp
ports.mk
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index aa67a55..994a67d 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -214,6 +214,8 @@ public:
virtual Common::String getSystemLanguage() const;
+ virtual bool isConnectionLimited();
+
protected:
void initVideoContext();
void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_misc.mm b/backends/platform/ios7/ios7_osys_misc.mm
index 53f11ab..d7743f8 100644
--- a/backends/platform/ios7/ios7_osys_misc.mm
+++ b/backends/platform/ios7/ios7_osys_misc.mm
@@ -26,6 +26,7 @@
#include "backends/platform/ios7/ios7_osys_main.h"
#include <UIKit/UIKit.h>
+#include <SystemConfiguration/SCNetworkReachability.h>
#include "common/translation.h"
Common::String OSystem_iOS7::getSystemLanguage() const {
@@ -84,3 +85,14 @@ bool OSystem_iOS7::openUrl(const Common::String &url) {
return [application openURL:nsurl];
}
}
+
+bool OSystem_iOS7::isConnectionLimited() {
+ // If we are connected to the internet through a cellular network, return true
+ SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.google.com" UTF8String]);
+ if (!ref)
+ return false;
+ SCNetworkReachabilityFlags flags = 0;
+ SCNetworkReachabilityGetFlags(ref, &flags);
+ CFRelease(ref);
+ return (flags & kSCNetworkReachabilityFlagsIsWWAN);
+}
diff --git a/configure b/configure
index e099861..958b4ad 100755
--- a/configure
+++ b/configure
@@ -3553,7 +3553,7 @@ case $_backend in
ios7)
append_var LIBS "-lobjc -framework UIKit -framework CoreGraphics -framework OpenGLES"
append_var LIBS "-framework QuartzCore -framework CoreFoundation -framework Foundation"
- append_var LIBS "-framework AudioToolbox -framework CoreAudio"
+ append_var LIBS "-framework AudioToolbox -framework CoreAudio -framework SystemConfiguration "
append_var LDFLAGS "-miphoneos-version-min=7.1 -arch armv7"
append_var CFLAGS "-miphoneos-version-min=7.1 -arch armv7"
append_var CXXFLAGS "-miphoneos-version-min=7.1 -arch armv7"
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 586eaa3..81678ae 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -445,6 +445,7 @@ void XcodeProvider::setupFrameworksBuildPhase(const BuildSetup &setup) {
DEF_SYSFRAMEWORK("OpenGLES");
DEF_SYSFRAMEWORK("QuartzCore");
DEF_SYSFRAMEWORK("UIKit");
+ DEF_SYSFRAMEWORK("SystemConfiguration");
DEF_SYSTBD("libiconv");
// Local libraries
@@ -524,6 +525,7 @@ void XcodeProvider::setupFrameworksBuildPhase(const BuildSetup &setup) {
frameworks_iOS.push_back("CoreFoundation.framework");
frameworks_iOS.push_back("Foundation.framework");
frameworks_iOS.push_back("UIKit.framework");
+ frameworks_iOS.push_back("SystemConfiguration.framework");
frameworks_iOS.push_back("AudioToolbox.framework");
frameworks_iOS.push_back("QuartzCore.framework");
frameworks_iOS.push_back("OpenGLES.framework");
diff --git a/ports.mk b/ports.mk
index 3ec042f..b10ecce 100644
--- a/ports.mk
+++ b/ports.mk
@@ -402,7 +402,7 @@ iphone: $(OBJS)
$(OSX_STATIC_LIBS) \
-framework UIKit -framework CoreGraphics -framework OpenGLES \
-framework CoreFoundation -framework QuartzCore -framework Foundation \
- -framework AudioToolbox -framework CoreAudio -lobjc -lz
+ -framework AudioToolbox -framework CoreAudio -framework SystemConfiguration -lobjc -lz
# Special target to create a snapshot disk image for Mac OS X
# TODO: Replace AUTHORS by Credits.rtf
More information about the Scummvm-git-logs
mailing list