summaryrefslogtreecommitdiffstats
path: root/ios
diff options
context:
space:
mode:
Diffstat (limited to 'ios')
-rw-r--r--ios/CustomTarget_iOS_setup.mk138
-rw-r--r--ios/Makefile13
-rw-r--r--ios/Module_ios.mk19
-rw-r--r--ios/README.md3
-rw-r--r--ios/UnitTest/UnitTest.xcodeproj/project.pbxproj808
-rw-r--r--ios/UnitTest/UnitTest/AppDelegate.h16
-rw-r--r--ios/UnitTest/UnitTest/AppDelegate.m52
-rw-r--r--ios/UnitTest/UnitTest/Assets.xcassets/AppIcon.appiconset/Contents.json98
-rw-r--r--ios/UnitTest/UnitTest/Assets.xcassets/Contents.json6
-rw-r--r--ios/UnitTest/UnitTest/Base.lproj/LaunchScreen.storyboard25
-rw-r--r--ios/UnitTest/UnitTest/Base.lproj/Main.storyboard24
-rw-r--r--ios/UnitTest/UnitTest/Info.plist47
-rw-r--r--ios/UnitTest/UnitTest/ViewController.h14
-rw-r--r--ios/UnitTest/UnitTest/ViewController.mm90
-rw-r--r--ios/UnitTest/UnitTest/main.m18
-rw-r--r--ios/welcome.odtbin0 -> 297986 bytes
16 files changed, 1371 insertions, 0 deletions
diff --git a/ios/CustomTarget_iOS_setup.mk b/ios/CustomTarget_iOS_setup.mk
new file mode 100644
index 0000000000..f44a154470
--- /dev/null
+++ b/ios/CustomTarget_iOS_setup.mk
@@ -0,0 +1,138 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+
+#- Env ------------------------------------------------------------------------
+IOSGEN = $(BUILDDIR)/workdir/CustomTarget/ios
+IOSRES = $(IOSGEN)/resources
+IOSDIRS = $(IOSGEN) \
+ $(IOSGEN)/Debug_x86_64 \
+ $(IOSGEN)/Debug_arm64 \
+ $(IOSGEN)/Release_x86_64 \
+ $(IOSGEN)/Release_arm64 \
+ $(IOSRES) \
+ $(IOSRES)/services \
+ $(IOSRES)/program \
+ $(IOSRES)/share \
+ $(IOSRES)/config \
+ $(IOSRES)/share/filter
+
+
+#- Top level -----------------------------------------------------------------
+$(eval $(call gb_CustomTarget_CustomTarget,ios/iOS_setup))
+
+$(call gb_CustomTarget_get_target,ios/iOS_setup): $(IOSGEN)/native-code.h
+
+
+#- create directories --------------------------------------------------------
+$(IOSDIRS):
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MKD,2)
+ $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),MKD)
+ mkdir -p $(IOSDIRS)
+ $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),MKD)
+
+
+#- Generate resources --------------------------------------------------------
+$(IOSGEN)/native-code.h: $(BUILDDIR)/config_host.mk \
+ $(SRCDIR)/ios/CustomTarget_iOS_setup.mk \
+ $(SRCDIR)/solenv/bin/native-code.py \
+ $(IOSGEN) \
+ $(IOSDIRS)
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),EN2,2)
+ $(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),EN2)
+ $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),EN2)
+
+ # generate native-code.h (used by LibreOffice.c)
+ xcrun python3 $(SRCDIR)/solenv/bin/native-code.py \
+ -C -g core -g writer -g calc -g draw -g edit \
+ > $(IOSGEN)/native-code.h
+
+ # copy resource files used to start/run LibreOffice
+ cp $(WORKDIR)/UnpackedTarball/icu/source/data/in/icudt$(ICU_MAJOR)l.dat $(IOSRES)/icudt$(ICU_MAJOR)l.dat
+ cp $(INSTDIR)/program/types.rdb $(IOSRES)/udkapi.rdb
+ cp $(INSTDIR)/program/types/offapi.rdb $(IOSRES)
+ cp $(INSTDIR)/program/types/oovbaapi.rdb $(IOSRES)
+ cp $(INSTDIR)/program/services/services.rdb $(IOSRES)/services
+ cp $(INSTDIR)/program/services.rdb $(IOSRES)
+ if test -d $(INSTDIR)/program/resource; then \
+ cp -R $(INSTDIR)/program/resource $(IOSRES)/program; \
+ fi
+ mkdir -p $(IOSRES)/share/config
+ cp -R $(INSTDIR)/share/config/soffice.cfg $(IOSRES)/share/config
+ cp $(INSTDIR)/share/filter/oox-drawingml-adj-names $(IOSRES)/share/filter
+ cp $(INSTDIR)/share/filter/oox-drawingml-cs-presets $(IOSRES)/share/filter
+ cp $(INSTDIR)/share/filter/vml-shape-types $(IOSRES)/share/filter
+ cp -R $(INSTDIR)/share/registry $(IOSRES)/share
+ cp $(INSTDIR)/share/config/*zip $(IOSRES)/share/config
+ cp -R $(INSTDIR)/share/liblangtag $(IOSRES)/share
+ cp -R $(INSTDIR)/share/theme_definitions $(IOSRES)/share
+ cp -R $(INSTDIR)/share/template $(IOSRES)/share
+ mkdir -p $(IOSRES)/share/fonts
+ cp -R $(INSTDIR)/share/fonts/truetype $(IOSRES)/share/fonts
+ cp -R $(INSTDIR)/share/gallery $(IOSRES)/share
+ mkdir -p $(IOSRES)/share/spell $(IOSRES)/share/thes
+ # Install the Swiss German dictionary and use it for Liechtenstein, too.
+ # Install also thesauruses.
+ if test -d $(INSTDIR)/share/extensions/dict-de; then \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_CH.aff; \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_CH.dic; \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.aff $(IOSRES)/share/spell/de_LI.aff; \
+ cp $(INSTDIR)/share/extensions/dict-de/de_CH_frami.dic $(IOSRES)/share/spell/de_LI.dic; \
+ cp $(INSTDIR)/share/extensions/*/th_*_v2.* $(IOSRES)/share/thes; \
+ cp $(INSTDIR)/share/extensions/dict-en/th_en_US_v2.dat $(IOSRES)/share/thes/th_en_GB_v2.dat; \
+ cp $(INSTDIR)/share/extensions/dict-en/th_en_US_v2.idx $(IOSRES)/share/thes/th_en_GB_v2.idx; \
+ fi
+ cp -R $(INSTDIR)/share/palette $(IOSRES)/share
+ cp -R $(INSTDIR)/share/fingerprint $(IOSRES)/share
+ cp $(SRCDIR)/ios/welcome.odt $(IOSRES)
+
+ # Set up rc (the "inifile", fundamentalrc, unorc, bootstraprc and versionrc.
+ (echo '[Bootstrap]' \
+ && echo 'URE_BOOTSTRAP=file://$$APP_DATA_DIR/fundamentalrc' \
+ && echo 'HOME=$$SYSUSERHOME' \
+ ) > $(IOSRES)/rc
+
+ (echo '[Bootstrap]' \
+ && echo 'BRAND_BASE_DIR=file://$$APP_DATA_DIR' \
+ && echo 'BRAND_INI_DIR=file:://$$APP_DATA_DIR' \
+ && echo 'BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)' \
+ && echo 'BRAND_SHARE_RESOURCE_SUBDIR=$(LIBO_SHARE_RESOURCE_FOLDER)' \
+ && echo 'CONFIGURATION_LAYERS=xcsxcu:$${BRAND_BASE_DIR}/share/registry ' \
+ 'res:$${BRAND_BASE_DIR}/share/registry' \
+ && echo 'LO_LIB_DIR=file://$$APP_DATA_DIR/lib/' \
+ && echo 'UNO_TYPES=file://$$APP_DATA_DIR/udkapi.rdb ' \
+ 'file://$$APP_DATA_DIR/offapi.rdb' \
+ && echo 'UNO_SERVICES=file://$$APP_DATA_DIR/services.rdb ' \
+ 'file://$$APP_DATA_DIR/services/services.rdb' \
+ && echo 'OSL_SOCKET_PATH=$$APP_DATA_DIR/cache' \
+ ) > $(IOSRES)/fundamentalrc;
+
+ echo '[Bootstrap]' > $(IOSRES)/unorc
+
+ # bootstraprc must be in $BRAND_BASE_DIR/program
+ (echo '[Bootstrap]' \
+ && echo 'InstallMode=<installmode>' \
+ && echo "ProductKey=LibreOffice $(PRODUCTVERSION)" \
+ && echo 'UserInstallation=$$SYSUSERHOME' \
+ ) > $(IOSRES)/program/bootstraprc
+
+ (echo '[Version]' \
+ && echo 'AllLanguages=en-US' \
+ && echo "buildid=$(shell git -C $(SRCDIR) log -1 --format=%H)" \
+ ) > $(IOSRES)/program/versionrc
+
+ $(SRCDIR)/bin/lo-all-static-libs | sed -e 's/ /\
+/g' >$(IOSGEN)/ios-all-static-libs.list
+
+#- clean ios -----------------------------------------------------------------
+$(call gb_CustomTarget_get_clean_target,ios/iOS_setup):
+ $(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),ENV,2)
+ rm -rf $(IOSRES)/* $(IOSGEN)/native-code.h $(IOSGEN)
+
+# vim: set noet sw=4 ts=4:
diff --git a/ios/Makefile b/ios/Makefile
new file mode 100644
index 0000000000..0c6f47b179
--- /dev/null
+++ b/ios/Makefile
@@ -0,0 +1,13 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/ios/Module_ios.mk b/ios/Module_ios.mk
new file mode 100644
index 0000000000..4f88bc4e92
--- /dev/null
+++ b/ios/Module_ios.mk
@@ -0,0 +1,19 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+$(eval $(call gb_Module_Module,ios))
+
+ifeq ($(OS),iOS)
+
+$(eval $(call gb_Module_add_targets,ios,\
+ CustomTarget_iOS_setup \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/ios/README.md b/ios/README.md
new file mode 100644
index 0000000000..81d89ed828
--- /dev/null
+++ b/ios/README.md
@@ -0,0 +1,3 @@
+# LibreOffice for iOS
+
+LibreOffice for iOS
diff --git a/ios/UnitTest/UnitTest.xcodeproj/project.pbxproj b/ios/UnitTest/UnitTest.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..940d621203
--- /dev/null
+++ b/ios/UnitTest/UnitTest.xcodeproj/project.pbxproj
@@ -0,0 +1,808 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 50;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ BE39ADD7215D5470000B0244 /* test.odt in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADD6215D5470000B0244 /* test.odt */; };
+ BE39ADEF215D5AA4000B0244 /* icudt65l.dat in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE0215D5AA3000B0244 /* icudt65l.dat */; };
+ BE39ADF0215D5AA4000B0244 /* fundamentalrc in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE1215D5AA3000B0244 /* fundamentalrc */; };
+ BE39ADF1215D5AA4000B0244 /* services in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE2215D5AA3000B0244 /* services */; };
+ BE39ADF2215D5AA4000B0244 /* share in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE3215D5AA3000B0244 /* share */; };
+ BE39ADF3215D5AA4000B0244 /* oovbaapi.rdb in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE4215D5AA3000B0244 /* oovbaapi.rdb */; };
+ BE39ADF4215D5AA4000B0244 /* program in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE5215D5AA3000B0244 /* program */; };
+ BE39ADF5215D5AA4000B0244 /* config in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE6215D5AA3000B0244 /* config */; };
+ BE39ADF6215D5AA4000B0244 /* services.rdb in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE7215D5AA3000B0244 /* services.rdb */; };
+ BE39ADF8215D5AA4000B0244 /* offapi.rdb in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADE9215D5AA3000B0244 /* offapi.rdb */; };
+ BE39ADF9215D5AA4000B0244 /* udkapi.rdb in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADEA215D5AA3000B0244 /* udkapi.rdb */; };
+ BE39ADFA215D5AA4000B0244 /* rc in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADEB215D5AA3000B0244 /* rc */; };
+ BE39ADFC215D5AA4000B0244 /* unorc in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADED215D5AA4000B0244 /* unorc */; };
+ BE39ADFD215D5AA4000B0244 /* welcome.odt in Resources */ = {isa = PBXBuildFile; fileRef = BE39ADEE215D5AA4000B0244 /* welcome.odt */; };
+ BE535616215D189A0068B3B7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BE535615215D189A0068B3B7 /* AppDelegate.m */; };
+ BE535619215D189A0068B3B7 /* ViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = BE535618215D189A0068B3B7 /* ViewController.mm */; };
+ BE53561C215D189A0068B3B7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE53561A215D189A0068B3B7 /* Main.storyboard */; };
+ BE53561E215D189E0068B3B7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BE53561D215D189E0068B3B7 /* Assets.xcassets */; };
+ BE535621215D189E0068B3B7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE53561F215D189E0068B3B7 /* LaunchScreen.storyboard */; };
+ BE535624215D189E0068B3B7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BE535623215D189E0068B3B7 /* main.m */; };
+ BE93D41D216B4ECA007A39F4 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE93D41B216B378E007A39F4 /* MobileCoreServices.framework */; };
+ BEA1A6FE215D1D9700A9323B /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = BEA1A6FD215D1D9700A9323B /* libz.tbd */; };
+ BEA1A700215D1D9F00A9323B /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = BEA1A6FF215D1D9F00A9323B /* libiconv.tbd */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ BE39ADD6215D5470000B0244 /* test.odt */ = {isa = PBXFileReference; lastKnownFileType = file; name = test.odt; path = ../../../../odk/examples/cpp/DocumentLoader/test.odt; sourceTree = "<group>"; };
+ BE39ADE0215D5AA3000B0244 /* icudt65l.dat */ = {isa = PBXFileReference; lastKnownFileType = file; name = icudt65l.dat; path = ../../../../workdir/CustomTarget/ios/resources/icudt65l.dat; sourceTree = "<group>"; };
+ BE39ADE1215D5AA3000B0244 /* fundamentalrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = fundamentalrc; path = ../../../../workdir/CustomTarget/ios/resources/fundamentalrc; sourceTree = "<group>"; };
+ BE39ADE2215D5AA3000B0244 /* services */ = {isa = PBXFileReference; lastKnownFileType = folder; name = services; path = ../../../../workdir/CustomTarget/ios/resources/services; sourceTree = "<group>"; };
+ BE39ADE3215D5AA3000B0244 /* share */ = {isa = PBXFileReference; lastKnownFileType = folder; name = share; path = ../../../../workdir/CustomTarget/ios/resources/share; sourceTree = "<group>"; };
+ BE39ADE4215D5AA3000B0244 /* oovbaapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = oovbaapi.rdb; path = ../../../../workdir/CustomTarget/ios/resources/oovbaapi.rdb; sourceTree = "<group>"; };
+ BE39ADE5215D5AA3000B0244 /* program */ = {isa = PBXFileReference; lastKnownFileType = folder; name = program; path = ../../../../workdir/CustomTarget/ios/resources/program; sourceTree = "<group>"; };
+ BE39ADE6215D5AA3000B0244 /* config */ = {isa = PBXFileReference; lastKnownFileType = folder; name = config; path = ../../../../workdir/CustomTarget/ios/resources/config; sourceTree = "<group>"; };
+ BE39ADE7215D5AA3000B0244 /* services.rdb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = services.rdb; path = ../../../../workdir/CustomTarget/ios/resources/services.rdb; sourceTree = "<group>"; };
+ BE39ADE9215D5AA3000B0244 /* offapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = offapi.rdb; path = ../../../../workdir/CustomTarget/ios/resources/offapi.rdb; sourceTree = "<group>"; };
+ BE39ADEA215D5AA3000B0244 /* udkapi.rdb */ = {isa = PBXFileReference; lastKnownFileType = file; name = udkapi.rdb; path = ../../../../workdir/CustomTarget/ios/resources/udkapi.rdb; sourceTree = "<group>"; };
+ BE39ADEB215D5AA3000B0244 /* rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rc; path = ../../../../workdir/CustomTarget/ios/resources/rc; sourceTree = "<group>"; };
+ BE39ADED215D5AA4000B0244 /* unorc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = unorc; path = ../../../../workdir/CustomTarget/ios/resources/unorc; sourceTree = "<group>"; };
+ BE39ADEE215D5AA4000B0244 /* welcome.odt */ = {isa = PBXFileReference; lastKnownFileType = file; name = welcome.odt; path = ../../../../workdir/CustomTarget/ios/resources/welcome.odt; sourceTree = "<group>"; };
+ BE535611215D189A0068B3B7 /* UnitTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UnitTest.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BE535614215D189A0068B3B7 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ BE535615215D189A0068B3B7 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ BE535617215D189A0068B3B7 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
+ BE535618215D189A0068B3B7 /* ViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewController.mm; sourceTree = "<group>"; };
+ BE53561B215D189A0068B3B7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+ BE53561D215D189E0068B3B7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+ BE535620215D189E0068B3B7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+ BE535622215D189E0068B3B7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ BE535623215D189E0068B3B7 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ BE93D41B216B378E007A39F4 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+ BEA1A6FD215D1D9700A9323B /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
+ BEA1A6FF215D1D9F00A9323B /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
+ BEA20D2C2163C2570032F67B /* salgdiutils.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdiutils.cxx; path = ../../vcl/quartz/salgdiutils.cxx; sourceTree = "<group>"; };
+ BEA20D2D2163C2570032F67B /* ctfonts.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ctfonts.cxx; path = ../../vcl/quartz/ctfonts.cxx; sourceTree = "<group>"; };
+ BEA20D2E2163C2570032F67B /* utils.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cxx; path = ../../vcl/quartz/utils.cxx; sourceTree = "<group>"; };
+ BEA20D2F2163C2570032F67B /* salvd.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salvd.cxx; path = ../../vcl/quartz/salvd.cxx; sourceTree = "<group>"; };
+ BEA20D302163C2570032F67B /* salgdicommon.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdicommon.cxx; path = ../../vcl/quartz/salgdicommon.cxx; sourceTree = "<group>"; };
+ BEA20D312163C2570032F67B /* salbmp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salbmp.cxx; path = ../../vcl/quartz/salbmp.cxx; sourceTree = "<group>"; };
+ BEA20D322163C2570032F67B /* salgdi.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdi.cxx; path = ../../vcl/quartz/salgdi.cxx; sourceTree = "<group>"; };
+ BEA20D372164BAB80032F67B /* salusereventlist.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salusereventlist.cxx; path = ../../vcl/source/app/salusereventlist.cxx; sourceTree = "<group>"; };
+ BEA20D382164BAB80032F67B /* dbggui.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dbggui.cxx; path = ../../vcl/source/app/dbggui.cxx; sourceTree = "<group>"; };
+ BEA20D392164BAB80032F67B /* IconThemeInfo.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IconThemeInfo.cxx; path = ../../vcl/source/app/IconThemeInfo.cxx; sourceTree = "<group>"; };
+ BEA20D3A2164BAB80032F67B /* timer.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = timer.cxx; path = ../../vcl/source/app/timer.cxx; sourceTree = "<group>"; };
+ BEA20D3B2164BAB80032F67B /* customweld.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = customweld.cxx; path = ../../vcl/source/app/customweld.cxx; sourceTree = "<group>"; };
+ BEA20D3C2164BAB80032F67B /* vclevent.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = vclevent.cxx; path = ../../vcl/source/app/vclevent.cxx; sourceTree = "<group>"; };
+ BEA20D3D2164BAB80032F67B /* settings.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = settings.cxx; path = ../../vcl/source/app/settings.cxx; sourceTree = "<group>"; };
+ BEA20D3E2164BAB80032F67B /* salplug.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salplug.cxx; path = ../../vcl/source/app/salplug.cxx; sourceTree = "<group>"; };
+ BEA20D3F2164BAB80032F67B /* i18nhelp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = i18nhelp.cxx; path = ../../vcl/source/app/i18nhelp.cxx; sourceTree = "<group>"; };
+ BEA20D402164BAB80032F67B /* sound.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sound.cxx; path = ../../vcl/source/app/sound.cxx; sourceTree = "<group>"; };
+ BEA20D412164BAB80032F67B /* svapp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svapp.cxx; path = ../../vcl/source/app/svapp.cxx; sourceTree = "<group>"; };
+ BEA20D422164BAB80032F67B /* idle.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = idle.cxx; path = ../../vcl/source/app/idle.cxx; sourceTree = "<group>"; };
+ BEA20D432164BAB80032F67B /* help.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = help.cxx; path = ../../vcl/source/app/help.cxx; sourceTree = "<group>"; };
+ BEA20D442164BAB80032F67B /* IconThemeSelector.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IconThemeSelector.cxx; path = ../../vcl/source/app/IconThemeSelector.cxx; sourceTree = "<group>"; };
+ BEA20D452164BAB80032F67B /* brand.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = brand.cxx; path = ../../vcl/source/app/brand.cxx; sourceTree = "<group>"; };
+ BEA20D462164BAB80032F67B /* IconThemeScanner.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = IconThemeScanner.cxx; path = ../../vcl/source/app/IconThemeScanner.cxx; sourceTree = "<group>"; };
+ BEA20D472164BAB80032F67B /* session.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = session.cxx; path = ../../vcl/source/app/session.cxx; sourceTree = "<group>"; };
+ BEA20D482164BAB80032F67B /* unohelp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = unohelp.cxx; path = ../../vcl/source/app/unohelp.cxx; sourceTree = "<group>"; };
+ BEA20D492164BAB80032F67B /* svdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svdata.cxx; path = ../../vcl/source/app/svdata.cxx; sourceTree = "<group>"; };
+ BEA20D4A2164BAB80032F67B /* dndhelp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dndhelp.cxx; path = ../../vcl/source/app/dndhelp.cxx; sourceTree = "<group>"; };
+ BEA20D4B2164BAB80032F67B /* salvtables.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salvtables.cxx; path = ../../vcl/source/app/salvtables.cxx; sourceTree = "<group>"; };
+ BEA20D4C2164BAB80032F67B /* scheduler.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = scheduler.cxx; path = ../../vcl/source/app/scheduler.cxx; sourceTree = "<group>"; };
+ BEA20D4D2164BAB80032F67B /* ITiledRenderable.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ITiledRenderable.cxx; path = ../../vcl/source/app/ITiledRenderable.cxx; sourceTree = "<group>"; };
+ BEA20D4E2164BAB80032F67B /* stdtext.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdtext.cxx; path = ../../vcl/source/app/stdtext.cxx; sourceTree = "<group>"; };
+ BEA20D4F2164BAB80032F67B /* unohelp2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = unohelp2.cxx; path = ../../vcl/source/app/unohelp2.cxx; sourceTree = "<group>"; };
+ BEA20D502164BAB80032F67B /* svmain.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svmain.cxx; path = ../../vcl/source/app/svmain.cxx; sourceTree = "<group>"; };
+ BEA20D522164BB0D0032F67B /* iosinst.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = iosinst.cxx; path = ../../vcl/ios/iosinst.cxx; sourceTree = "<group>"; };
+ BEA20D532164BB0E0032F67B /* dummies.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dummies.cxx; path = ../../vcl/ios/dummies.cxx; sourceTree = "<group>"; };
+ BEA20D652166596F0032F67B /* svpvd.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpvd.cxx; path = ../../vcl/headless/svpvd.cxx; sourceTree = "<group>"; };
+ BEA20D662166596F0032F67B /* svpframe.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpframe.cxx; path = ../../vcl/headless/svpframe.cxx; sourceTree = "<group>"; };
+ BEA20D672166596F0032F67B /* svpbmp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpbmp.cxx; path = ../../vcl/headless/svpbmp.cxx; sourceTree = "<group>"; };
+ BEA20D692166596F0032F67B /* svpgdi.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpgdi.cxx; path = ../../vcl/headless/svpgdi.cxx; sourceTree = "<group>"; };
+ BEA20D6A2166596F0032F67B /* svpglyphcache.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpglyphcache.cxx; path = ../../vcl/headless/svpglyphcache.cxx; sourceTree = "<group>"; };
+ BEA20D6B2166596F0032F67B /* svpinst.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpinst.cxx; path = ../../vcl/headless/svpinst.cxx; sourceTree = "<group>"; };
+ BEA20D6C2166596F0032F67B /* svptext.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svptext.cxx; path = ../../vcl/headless/svptext.cxx; sourceTree = "<group>"; };
+ BEA20D6D2166596F0032F67B /* headlessinst.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = headlessinst.cxx; path = ../../vcl/headless/headlessinst.cxx; sourceTree = "<group>"; };
+ BEA20D6E2166596F0032F67B /* svpdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpdata.cxx; path = ../../vcl/headless/svpdata.cxx; sourceTree = "<group>"; };
+ BEA20D6F2166596F0032F67B /* svpdummies.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpdummies.cxx; path = ../../vcl/headless/svpdummies.cxx; sourceTree = "<group>"; };
+ BEA20D702166596F0032F67B /* svpprn.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpprn.cxx; path = ../../vcl/headless/svpprn.cxx; sourceTree = "<group>"; };
+ BEA20DC221678BB60032F67B /* lokcharthelper.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lokcharthelper.cxx; path = ../../sfx2/source/view/lokcharthelper.cxx; sourceTree = "<group>"; };
+ BEA20DC4216797C00032F67B /* pdffontcache.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = pdffontcache.hxx; path = ../../vcl/source/gdi/pdffontcache.hxx; sourceTree = "<group>"; };
+ BEA20DC5216797C00032F67B /* impgraph.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impgraph.cxx; path = ../../vcl/source/gdi/impgraph.cxx; sourceTree = "<group>"; };
+ BEA20DC6216797C00032F67B /* base14.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = base14.cxx; path = ../../vcl/source/gdi/base14.cxx; sourceTree = "<group>"; };
+ BEA20DC7216797C00032F67B /* bmpfast.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpfast.cxx; path = ../../vcl/source/gdi/bmpfast.cxx; sourceTree = "<group>"; };
+ BEA20DC8216797C00032F67B /* vectorgraphicdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = vectorgraphicdata.cxx; path = ../../vcl/source/gdi/vectorgraphicdata.cxx; sourceTree = "<group>"; };
+ BEA20DC9216797C00032F67B /* pdfwriter_impl2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfwriter_impl2.cxx; path = ../../vcl/source/gdi/pdfwriter_impl2.cxx; sourceTree = "<group>"; };
+ BEA20DCA216797C00032F67B /* mapmod.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mapmod.cxx; path = ../../vcl/source/gdi/mapmod.cxx; sourceTree = "<group>"; };
+ BEA20DCB216797C00032F67B /* bitmap3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap3.cxx; path = ../../vcl/source/gdi/bitmap3.cxx; sourceTree = "<group>"; };
+ BEA20DCC216797C00032F67B /* pdfwriter.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfwriter.cxx; path = ../../vcl/source/gdi/pdfwriter.cxx; sourceTree = "<group>"; };
+ BEA20DCD216797C00032F67B /* salmisc.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salmisc.cxx; path = ../../vcl/source/gdi/salmisc.cxx; sourceTree = "<group>"; };
+ BEA20DCE216797C00032F67B /* impvect.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = impvect.hxx; path = ../../vcl/source/gdi/impvect.hxx; sourceTree = "<group>"; };
+ BEA20DCF216797C00032F67B /* oldprintadaptor.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = oldprintadaptor.cxx; path = ../../vcl/source/gdi/oldprintadaptor.cxx; sourceTree = "<group>"; };
+ BEA20DD0216797C00032F67B /* extoutdevdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = extoutdevdata.cxx; path = ../../vcl/source/gdi/extoutdevdata.cxx; sourceTree = "<group>"; };
+ BEA20DD1216797C10032F67B /* cvtgrf.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cvtgrf.cxx; path = ../../vcl/source/gdi/cvtgrf.cxx; sourceTree = "<group>"; };
+ BEA20DD2216797C10032F67B /* graphictools.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graphictools.cxx; path = ../../vcl/source/gdi/graphictools.cxx; sourceTree = "<group>"; };
+ BEA20DD3216797C10032F67B /* gdimetafiletools.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gdimetafiletools.cxx; path = ../../vcl/source/gdi/gdimetafiletools.cxx; sourceTree = "<group>"; };
+ BEA20DD4216797C10032F67B /* genVerticalOrientationData.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; name = genVerticalOrientationData.pl; path = ../../vcl/source/gdi/genVerticalOrientationData.pl; sourceTree = "<group>"; };
+ BEA20DD5216797C10032F67B /* bmpacc3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpacc3.cxx; path = ../../vcl/source/gdi/bmpacc3.cxx; sourceTree = "<group>"; };
+ BEA20DD6216797C10032F67B /* print.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = print.cxx; path = ../../vcl/source/gdi/print.cxx; sourceTree = "<group>"; };
+ BEA20DD7216797C10032F67B /* configsettings.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = configsettings.cxx; path = ../../vcl/source/gdi/configsettings.cxx; sourceTree = "<group>"; };
+ BEA20DD8216797C10032F67B /* print3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = print3.cxx; path = ../../vcl/source/gdi/print3.cxx; sourceTree = "<group>"; };
+ BEA20DD9216797C10032F67B /* graph.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graph.cxx; path = ../../vcl/source/gdi/graph.cxx; sourceTree = "<group>"; };
+ BEA20DDA216797C10032F67B /* octree.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = octree.cxx; path = ../../vcl/source/gdi/octree.cxx; sourceTree = "<group>"; };
+ BEA20DDB216797C10032F67B /* scrptrun.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = scrptrun.cxx; path = ../../vcl/source/gdi/scrptrun.cxx; sourceTree = "<group>"; };
+ BEA20DDC216797C10032F67B /* regionband.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = regionband.cxx; path = ../../vcl/source/gdi/regionband.cxx; sourceTree = "<group>"; };
+ BEA20DDD216797C10032F67B /* gdimtf.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gdimtf.cxx; path = ../../vcl/source/gdi/gdimtf.cxx; sourceTree = "<group>"; };
+ BEA20DDE216797C10032F67B /* pdfextoutdevdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfextoutdevdata.cxx; path = ../../vcl/source/gdi/pdfextoutdevdata.cxx; sourceTree = "<group>"; };
+ BEA20DDF216797C10032F67B /* pdffontcache.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdffontcache.cxx; path = ../../vcl/source/gdi/pdffontcache.cxx; sourceTree = "<group>"; };
+ BEA20DE0216797C10032F67B /* textlayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textlayout.cxx; path = ../../vcl/source/gdi/textlayout.cxx; sourceTree = "<group>"; };
+ BEA20DE1216797C10032F67B /* virdev.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = virdev.cxx; path = ../../vcl/source/gdi/virdev.cxx; sourceTree = "<group>"; };
+ BEA20DE2216797C10032F67B /* embeddedfontshelper.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = embeddedfontshelper.cxx; path = ../../vcl/source/gdi/embeddedfontshelper.cxx; sourceTree = "<group>"; };
+ BEA20DE3216797C10032F67B /* salgdiimpl.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdiimpl.cxx; path = ../../vcl/source/gdi/salgdiimpl.cxx; sourceTree = "<group>"; };
+ BEA20DE4216797C10032F67B /* gfxlink.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gfxlink.cxx; path = ../../vcl/source/gdi/gfxlink.cxx; sourceTree = "<group>"; };
+ BEA20DE5216797C10032F67B /* alpha.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = alpha.cxx; path = ../../vcl/source/gdi/alpha.cxx; sourceTree = "<group>"; };
+ BEA20DE6216797C10032F67B /* hatch.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hatch.cxx; path = ../../vcl/source/gdi/hatch.cxx; sourceTree = "<group>"; };
+ BEA20DE7216797C10032F67B /* svmconverter.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svmconverter.cxx; path = ../../vcl/source/gdi/svmconverter.cxx; sourceTree = "<group>"; };
+ BEA20DE8216797C10032F67B /* pngwrite.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pngwrite.cxx; path = ../../vcl/source/gdi/pngwrite.cxx; sourceTree = "<group>"; };
+ BEA20DE9216797C10032F67B /* gradient.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gradient.cxx; path = ../../vcl/source/gdi/gradient.cxx; sourceTree = "<group>"; };
+ BEA20DEA216797C10032F67B /* pngread.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pngread.cxx; path = ../../vcl/source/gdi/pngread.cxx; sourceTree = "<group>"; };
+ BEA20DEB216797C10032F67B /* salgdilayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdilayout.cxx; path = ../../vcl/source/gdi/salgdilayout.cxx; sourceTree = "<group>"; };
+ BEA20DEC216797C20032F67B /* bitmapex.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmapex.cxx; path = ../../vcl/source/gdi/bitmapex.cxx; sourceTree = "<group>"; };
+ BEA20DED216797C20032F67B /* lineinfo.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lineinfo.cxx; path = ../../vcl/source/gdi/lineinfo.cxx; sourceTree = "<group>"; };
+ BEA20DEE216797C20032F67B /* animate.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = animate.cxx; path = ../../vcl/source/gdi/animate.cxx; sourceTree = "<group>"; };
+ BEA20DEF216797C20032F67B /* bmpacc.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpacc.cxx; path = ../../vcl/source/gdi/bmpacc.cxx; sourceTree = "<group>"; };
+ BEA20DF0216797C20032F67B /* pdfwriter_impl.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfwriter_impl.cxx; path = ../../vcl/source/gdi/pdfwriter_impl.cxx; sourceTree = "<group>"; };
+ BEA20DF1216797C20032F67B /* wall.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wall.cxx; path = ../../vcl/source/gdi/wall.cxx; sourceTree = "<group>"; };
+ BEA20DF2216797C20032F67B /* impvect.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impvect.cxx; path = ../../vcl/source/gdi/impvect.cxx; sourceTree = "<group>"; };
+ BEA20DF3216797C20032F67B /* impanmvw.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impanmvw.cxx; path = ../../vcl/source/gdi/impanmvw.cxx; sourceTree = "<group>"; };
+ BEA20DF4216797C20032F67B /* print2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = print2.cxx; path = ../../vcl/source/gdi/print2.cxx; sourceTree = "<group>"; };
+ BEA20DF5216797C20032F67B /* metaact.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = metaact.cxx; path = ../../vcl/source/gdi/metaact.cxx; sourceTree = "<group>"; };
+ BEA20DF6216797C20032F67B /* CommonSalLayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CommonSalLayout.cxx; path = ../../vcl/source/gdi/CommonSalLayout.cxx; sourceTree = "<group>"; };
+ BEA20DF7216797C20032F67B /* pdfwriter_impl.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = pdfwriter_impl.hxx; path = ../../vcl/source/gdi/pdfwriter_impl.hxx; sourceTree = "<group>"; };
+ BEA20DF8216797C20032F67B /* dibtools.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dibtools.cxx; path = ../../vcl/source/gdi/dibtools.cxx; sourceTree = "<group>"; };
+ BEA20DF9216797C20032F67B /* sallayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sallayout.cxx; path = ../../vcl/source/gdi/sallayout.cxx; sourceTree = "<group>"; };
+ BEA20DFA216797C20032F67B /* bmpacc2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpacc2.cxx; path = ../../vcl/source/gdi/bmpacc2.cxx; sourceTree = "<group>"; };
+ BEA20DFB216797C20032F67B /* regband.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = regband.cxx; path = ../../vcl/source/gdi/regband.cxx; sourceTree = "<group>"; };
+ BEA20DFC216797C20032F67B /* jobset.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jobset.cxx; path = ../../vcl/source/gdi/jobset.cxx; sourceTree = "<group>"; };
+ BEA20DFD216797C20032F67B /* VerticalOrientationData.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = VerticalOrientationData.cxx; path = ../../vcl/source/gdi/VerticalOrientationData.cxx; sourceTree = "<group>"; };
+ BEA20DFE216797C20032F67B /* region.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = region.cxx; path = ../../vcl/source/gdi/region.cxx; sourceTree = "<group>"; };
+ BEA20DFF216797C20032F67B /* salnativewidgets-none.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "salnativewidgets-none.cxx"; path = "../../vcl/source/gdi/salnativewidgets-none.cxx"; sourceTree = "<group>"; };
+ BEA20E012167A47B0032F67B /* gradient.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gradient.cxx; path = ../../vcl/source/outdev/gradient.cxx; sourceTree = "<group>"; };
+ BEA20E022167A47C0032F67B /* polygon.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = polygon.cxx; path = ../../vcl/source/outdev/polygon.cxx; sourceTree = "<group>"; };
+ BEA20E032167A47C0032F67B /* text.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = text.cxx; path = ../../vcl/source/outdev/text.cxx; sourceTree = "<group>"; };
+ BEA20E042167A47C0032F67B /* outdevstate.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdevstate.cxx; path = ../../vcl/source/outdev/outdevstate.cxx; sourceTree = "<group>"; };
+ BEA20E052167A47C0032F67B /* wallpaper.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wallpaper.cxx; path = ../../vcl/source/outdev/wallpaper.cxx; sourceTree = "<group>"; };
+ BEA20E062167A47C0032F67B /* line.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = line.cxx; path = ../../vcl/source/outdev/line.cxx; sourceTree = "<group>"; };
+ BEA20E072167A47C0032F67B /* curvedshapes.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = curvedshapes.cxx; path = ../../vcl/source/outdev/curvedshapes.cxx; sourceTree = "<group>"; };
+ BEA20E082167A47C0032F67B /* map.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = map.cxx; path = ../../vcl/source/outdev/map.cxx; sourceTree = "<group>"; };
+ BEA20E092167A47C0032F67B /* clipping.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = clipping.cxx; path = ../../vcl/source/outdev/clipping.cxx; sourceTree = "<group>"; };
+ BEA20E0A2167A47C0032F67B /* bitmap.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap.cxx; path = ../../vcl/source/outdev/bitmap.cxx; sourceTree = "<group>"; };
+ BEA20E0B2167A47C0032F67B /* font.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = font.cxx; path = ../../vcl/source/outdev/font.cxx; sourceTree = "<group>"; };
+ BEA20E0C2167A47C0032F67B /* hatch.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hatch.cxx; path = ../../vcl/source/outdev/hatch.cxx; sourceTree = "<group>"; };
+ BEA20E0D2167A47C0032F67B /* nativecontrols.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = nativecontrols.cxx; path = ../../vcl/source/outdev/nativecontrols.cxx; sourceTree = "<group>"; };
+ BEA20E0E2167A47C0032F67B /* polyline.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = polyline.cxx; path = ../../vcl/source/outdev/polyline.cxx; sourceTree = "<group>"; };
+ BEA20E0F2167A47C0032F67B /* rect.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = rect.cxx; path = ../../vcl/source/outdev/rect.cxx; sourceTree = "<group>"; };
+ BEA20E102167A47C0032F67B /* outdevstatestack.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdevstatestack.cxx; path = ../../vcl/source/outdev/outdevstatestack.cxx; sourceTree = "<group>"; };
+ BEA20E112167A47C0032F67B /* textline.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textline.cxx; path = ../../vcl/source/outdev/textline.cxx; sourceTree = "<group>"; };
+ BEA20E122167A47C0032F67B /* outdev.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev.cxx; path = ../../vcl/source/outdev/outdev.cxx; sourceTree = "<group>"; };
+ BEA20E132167A47C0032F67B /* transparent.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = transparent.cxx; path = ../../vcl/source/outdev/transparent.cxx; sourceTree = "<group>"; };
+ BEA20E142167A47C0032F67B /* vclreferencebase.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = vclreferencebase.cxx; path = ../../vcl/source/outdev/vclreferencebase.cxx; sourceTree = "<group>"; };
+ BEA20E152167A47C0032F67B /* mask.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mask.cxx; path = ../../vcl/source/outdev/mask.cxx; sourceTree = "<group>"; };
+ BEA20E162167A47C0032F67B /* pixel.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pixel.cxx; path = ../../vcl/source/outdev/pixel.cxx; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ BE53560E215D189A0068B3B7 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BE93D41D216B4ECA007A39F4 /* MobileCoreServices.framework in Frameworks */,
+ BEA1A700215D1D9F00A9323B /* libiconv.tbd in Frameworks */,
+ BEA1A6FE215D1D9700A9323B /* libz.tbd in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ BE39ADD5215D5448000B0244 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ BE39ADE6215D5AA3000B0244 /* config */,
+ BE39ADE1215D5AA3000B0244 /* fundamentalrc */,
+ BE39ADE0215D5AA3000B0244 /* icudt65l.dat */,
+ BE39ADE9215D5AA3000B0244 /* offapi.rdb */,
+ BE39ADE4215D5AA3000B0244 /* oovbaapi.rdb */,
+ BE39ADE5215D5AA3000B0244 /* program */,
+ BE39ADEB215D5AA3000B0244 /* rc */,
+ BE39ADE2215D5AA3000B0244 /* services */,
+ BE39ADE7215D5AA3000B0244 /* services.rdb */,
+ BE39ADE3215D5AA3000B0244 /* share */,
+ BE39ADEA215D5AA3000B0244 /* udkapi.rdb */,
+ BE39ADED215D5AA4000B0244 /* unorc */,
+ BE39ADEE215D5AA4000B0244 /* welcome.odt */,
+ BE39ADD6215D5470000B0244 /* test.odt */,
+ );
+ path = Resources;
+ sourceTree = "<group>";
+ };
+ BE535608215D189A0068B3B7 = {
+ isa = PBXGroup;
+ children = (
+ BEA20D2A2163C2210032F67B /* Core */,
+ BE535613215D189A0068B3B7 /* UnitTest */,
+ BE535612215D189A0068B3B7 /* Products */,
+ BEA1A6FC215D1D9700A9323B /* Frameworks */,
+ );
+ sourceTree = "<group>";
+ };
+ BE535612215D189A0068B3B7 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ BE535611215D189A0068B3B7 /* UnitTest.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ BE535613215D189A0068B3B7 /* UnitTest */ = {
+ isa = PBXGroup;
+ children = (
+ BE39ADD5215D5448000B0244 /* Resources */,
+ BE535614215D189A0068B3B7 /* AppDelegate.h */,
+ BE535615215D189A0068B3B7 /* AppDelegate.m */,
+ BE535617215D189A0068B3B7 /* ViewController.h */,
+ BE535618215D189A0068B3B7 /* ViewController.mm */,
+ BE53561A215D189A0068B3B7 /* Main.storyboard */,
+ BE53561D215D189E0068B3B7 /* Assets.xcassets */,
+ BE53561F215D189E0068B3B7 /* LaunchScreen.storyboard */,
+ BE535622215D189E0068B3B7 /* Info.plist */,
+ BE535623215D189E0068B3B7 /* main.m */,
+ );
+ path = UnitTest;
+ sourceTree = "<group>";
+ };
+ BEA1A6FC215D1D9700A9323B /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ BE93D41B216B378E007A39F4 /* MobileCoreServices.framework */,
+ BEA1A6FF215D1D9F00A9323B /* libiconv.tbd */,
+ BEA1A6FD215D1D9700A9323B /* libz.tbd */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ BEA20D2A2163C2210032F67B /* Core */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20DC021678B960032F67B /* sfx2 */,
+ BEA20D2B2163C2360032F67B /* vcl */,
+ );
+ name = Core;
+ sourceTree = "<group>";
+ };
+ BEA20D2B2163C2360032F67B /* vcl */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20D342164BA8B0032F67B /* app */,
+ BEA20DC3216797A00032F67B /* gdi */,
+ BEA20D642166594D0032F67B /* headless */,
+ BEA20D512164BAF00032F67B /* ios */,
+ BEA20E002167A4550032F67B /* outdev */,
+ BEA20D332164BA7C0032F67B /* quartz */,
+ );
+ name = vcl;
+ sourceTree = "<group>";
+ };
+ BEA20D332164BA7C0032F67B /* quartz */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20D2D2163C2570032F67B /* ctfonts.cxx */,
+ BEA20D312163C2570032F67B /* salbmp.cxx */,
+ BEA20D322163C2570032F67B /* salgdi.cxx */,
+ BEA20D302163C2570032F67B /* salgdicommon.cxx */,
+ BEA20D2C2163C2570032F67B /* salgdiutils.cxx */,
+ BEA20D2F2163C2570032F67B /* salvd.cxx */,
+ BEA20D2E2163C2570032F67B /* utils.cxx */,
+ );
+ name = quartz;
+ sourceTree = "<group>";
+ };
+ BEA20D342164BA8B0032F67B /* app */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20D452164BAB80032F67B /* brand.cxx */,
+ BEA20D3B2164BAB80032F67B /* customweld.cxx */,
+ BEA20D382164BAB80032F67B /* dbggui.cxx */,
+ BEA20D4A2164BAB80032F67B /* dndhelp.cxx */,
+ BEA20D432164BAB80032F67B /* help.cxx */,
+ BEA20D3F2164BAB80032F67B /* i18nhelp.cxx */,
+ BEA20D392164BAB80032F67B /* IconThemeInfo.cxx */,
+ BEA20D462164BAB80032F67B /* IconThemeScanner.cxx */,
+ BEA20D442164BAB80032F67B /* IconThemeSelector.cxx */,
+ BEA20D422164BAB80032F67B /* idle.cxx */,
+ BEA20D4D2164BAB80032F67B /* ITiledRenderable.cxx */,
+ BEA20D3E2164BAB80032F67B /* salplug.cxx */,
+ BEA20D372164BAB80032F67B /* salusereventlist.cxx */,
+ BEA20D4B2164BAB80032F67B /* salvtables.cxx */,
+ BEA20D4C2164BAB80032F67B /* scheduler.cxx */,
+ BEA20D472164BAB80032F67B /* session.cxx */,
+ BEA20D3D2164BAB80032F67B /* settings.cxx */,
+ BEA20D402164BAB80032F67B /* sound.cxx */,
+ BEA20D4E2164BAB80032F67B /* stdtext.cxx */,
+ BEA20D412164BAB80032F67B /* svapp.cxx */,
+ BEA20D492164BAB80032F67B /* svdata.cxx */,
+ BEA20D502164BAB80032F67B /* svmain.cxx */,
+ BEA20D3A2164BAB80032F67B /* timer.cxx */,
+ BEA20D482164BAB80032F67B /* unohelp.cxx */,
+ BEA20D4F2164BAB80032F67B /* unohelp2.cxx */,
+ BEA20D3C2164BAB80032F67B /* vclevent.cxx */,
+ );
+ name = app;
+ sourceTree = "<group>";
+ };
+ BEA20D512164BAF00032F67B /* ios */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20D532164BB0E0032F67B /* dummies.cxx */,
+ BEA20D522164BB0D0032F67B /* iosinst.cxx */,
+ );
+ name = ios;
+ sourceTree = "<group>";
+ };
+ BEA20D642166594D0032F67B /* headless */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20D6D2166596F0032F67B /* headlessinst.cxx */,
+ BEA20D672166596F0032F67B /* svpbmp.cxx */,
+ BEA20D6E2166596F0032F67B /* svpdata.cxx */,
+ BEA20D6F2166596F0032F67B /* svpdummies.cxx */,
+ BEA20D662166596F0032F67B /* svpframe.cxx */,
+ BEA20D692166596F0032F67B /* svpgdi.cxx */,
+ BEA20D6A2166596F0032F67B /* svpglyphcache.cxx */,
+ BEA20D6B2166596F0032F67B /* svpinst.cxx */,
+ BEA20D702166596F0032F67B /* svpprn.cxx */,
+ BEA20D6C2166596F0032F67B /* svptext.cxx */,
+ BEA20D652166596F0032F67B /* svpvd.cxx */,
+ );
+ name = headless;
+ sourceTree = "<group>";
+ };
+ BEA20DC021678B960032F67B /* sfx2 */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20DC121678B9E0032F67B /* view */,
+ );
+ name = sfx2;
+ sourceTree = "<group>";
+ };
+ BEA20DC121678B9E0032F67B /* view */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20DC221678BB60032F67B /* lokcharthelper.cxx */,
+ );
+ name = view;
+ sourceTree = "<group>";
+ };
+ BEA20DC3216797A00032F67B /* gdi */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20DE5216797C10032F67B /* alpha.cxx */,
+ BEA20DEE216797C20032F67B /* animate.cxx */,
+ BEA20DC6216797C00032F67B /* base14.cxx */,
+ BEA20DCB216797C00032F67B /* bitmap3.cxx */,
+ BEA20DEC216797C20032F67B /* bitmapex.cxx */,
+ BEA20DEF216797C20032F67B /* bmpacc.cxx */,
+ BEA20DFA216797C20032F67B /* bmpacc2.cxx */,
+ BEA20DD5216797C10032F67B /* bmpacc3.cxx */,
+ BEA20DC7216797C00032F67B /* bmpfast.cxx */,
+ BEA20DF6216797C20032F67B /* CommonSalLayout.cxx */,
+ BEA20DD7216797C10032F67B /* configsettings.cxx */,
+ BEA20DD1216797C10032F67B /* cvtgrf.cxx */,
+ BEA20DF8216797C20032F67B /* dibtools.cxx */,
+ BEA20DE2216797C10032F67B /* embeddedfontshelper.cxx */,
+ BEA20DD0216797C00032F67B /* extoutdevdata.cxx */,
+ BEA20DD3216797C10032F67B /* gdimetafiletools.cxx */,
+ BEA20DDD216797C10032F67B /* gdimtf.cxx */,
+ BEA20DD4216797C10032F67B /* genVerticalOrientationData.pl */,
+ BEA20DE4216797C10032F67B /* gfxlink.cxx */,
+ BEA20DE9216797C10032F67B /* gradient.cxx */,
+ BEA20DD9216797C10032F67B /* graph.cxx */,
+ BEA20DD2216797C10032F67B /* graphictools.cxx */,
+ BEA20DE6216797C10032F67B /* hatch.cxx */,
+ BEA20DF3216797C20032F67B /* impanmvw.cxx */,
+ BEA20DC5216797C00032F67B /* impgraph.cxx */,
+ BEA20DF2216797C20032F67B /* impvect.cxx */,
+ BEA20DCE216797C00032F67B /* impvect.hxx */,
+ BEA20DFC216797C20032F67B /* jobset.cxx */,
+ BEA20DED216797C20032F67B /* lineinfo.cxx */,
+ BEA20DCA216797C00032F67B /* mapmod.cxx */,
+ BEA20DF5216797C20032F67B /* metaact.cxx */,
+ BEA20DDA216797C10032F67B /* octree.cxx */,
+ BEA20DCF216797C00032F67B /* oldprintadaptor.cxx */,
+ BEA20DDE216797C10032F67B /* pdfextoutdevdata.cxx */,
+ BEA20DDF216797C10032F67B /* pdffontcache.cxx */,
+ BEA20DC4216797C00032F67B /* pdffontcache.hxx */,
+ BEA20DF0216797C20032F67B /* pdfwriter_impl.cxx */,
+ BEA20DF7216797C20032F67B /* pdfwriter_impl.hxx */,
+ BEA20DC9216797C00032F67B /* pdfwriter_impl2.cxx */,
+ BEA20DCC216797C00032F67B /* pdfwriter.cxx */,
+ BEA20DEA216797C10032F67B /* pngread.cxx */,
+ BEA20DE8216797C10032F67B /* pngwrite.cxx */,
+ BEA20DD6216797C10032F67B /* print.cxx */,
+ BEA20DF4216797C20032F67B /* print2.cxx */,
+ BEA20DD8216797C10032F67B /* print3.cxx */,
+ BEA20DFB216797C20032F67B /* regband.cxx */,
+ BEA20DFE216797C20032F67B /* region.cxx */,
+ BEA20DDC216797C10032F67B /* regionband.cxx */,
+ BEA20DE3216797C10032F67B /* salgdiimpl.cxx */,
+ BEA20DEB216797C10032F67B /* salgdilayout.cxx */,
+ BEA20DF9216797C20032F67B /* sallayout.cxx */,
+ BEA20DCD216797C00032F67B /* salmisc.cxx */,
+ BEA20DFF216797C20032F67B /* salnativewidgets-none.cxx */,
+ BEA20DDB216797C10032F67B /* scrptrun.cxx */,
+ BEA20DE7216797C10032F67B /* svmconverter.cxx */,
+ BEA20DE0216797C10032F67B /* textlayout.cxx */,
+ BEA20DC8216797C00032F67B /* vectorgraphicdata.cxx */,
+ BEA20DFD216797C20032F67B /* VerticalOrientationData.cxx */,
+ BEA20DE1216797C10032F67B /* virdev.cxx */,
+ BEA20DF1216797C20032F67B /* wall.cxx */,
+ );
+ name = gdi;
+ sourceTree = "<group>";
+ };
+ BEA20E002167A4550032F67B /* outdev */ = {
+ isa = PBXGroup;
+ children = (
+ BEA20E0A2167A47C0032F67B /* bitmap.cxx */,
+ BEA20E092167A47C0032F67B /* clipping.cxx */,
+ BEA20E072167A47C0032F67B /* curvedshapes.cxx */,
+ BEA20E0B2167A47C0032F67B /* font.cxx */,
+ BEA20E012167A47B0032F67B /* gradient.cxx */,
+ BEA20E0C2167A47C0032F67B /* hatch.cxx */,
+ BEA20E062167A47C0032F67B /* line.cxx */,
+ BEA20E082167A47C0032F67B /* map.cxx */,
+ BEA20E152167A47C0032F67B /* mask.cxx */,
+ BEA20E0D2167A47C0032F67B /* nativecontrols.cxx */,
+ BEA20E122167A47C0032F67B /* outdev.cxx */,
+ BEA20E042167A47C0032F67B /* outdevstate.cxx */,
+ BEA20E102167A47C0032F67B /* outdevstatestack.cxx */,
+ BEA20E162167A47C0032F67B /* pixel.cxx */,
+ BEA20E022167A47C0032F67B /* polygon.cxx */,
+ BEA20E0E2167A47C0032F67B /* polyline.cxx */,
+ BEA20E0F2167A47C0032F67B /* rect.cxx */,
+ BEA20E032167A47C0032F67B /* text.cxx */,
+ BEA20E112167A47C0032F67B /* textline.cxx */,
+ BEA20E132167A47C0032F67B /* transparent.cxx */,
+ BEA20E142167A47C0032F67B /* vclreferencebase.cxx */,
+ BEA20E052167A47C0032F67B /* wallpaper.cxx */,
+ );
+ name = outdev;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ BE535610215D189A0068B3B7 /* UnitTest */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = BE535627215D189E0068B3B7 /* Build configuration list for PBXNativeTarget "UnitTest" */;
+ buildPhases = (
+ BE53560D215D189A0068B3B7 /* Sources */,
+ BE53560E215D189A0068B3B7 /* Frameworks */,
+ BE53560F215D189A0068B3B7 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = UnitTest;
+ productName = UnitTest;
+ productReference = BE535611215D189A0068B3B7 /* UnitTest.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ BE535609215D189A0068B3B7 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1000;
+ ORGANIZATIONNAME = "Tor Lillqvist";
+ TargetAttributes = {
+ BE535610215D189A0068B3B7 = {
+ CreatedOnToolsVersion = 10.0;
+ };
+ };
+ };
+ buildConfigurationList = BE53560C215D189A0068B3B7 /* Build configuration list for PBXProject "UnitTest" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = BE535608215D189A0068B3B7;
+ productRefGroup = BE535612215D189A0068B3B7 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ BE535610215D189A0068B3B7 /* UnitTest */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ BE53560F215D189A0068B3B7 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BE39ADEF215D5AA4000B0244 /* icudt65l.dat in Resources */,
+ BE39ADF6215D5AA4000B0244 /* services.rdb in Resources */,
+ BE39ADF3215D5AA4000B0244 /* oovbaapi.rdb in Resources */,
+ BE39ADF8215D5AA4000B0244 /* offapi.rdb in Resources */,
+ BE535621215D189E0068B3B7 /* LaunchScreen.storyboard in Resources */,
+ BE39ADF4215D5AA4000B0244 /* program in Resources */,
+ BE39ADF5215D5AA4000B0244 /* config in Resources */,
+ BE39ADD7215D5470000B0244 /* test.odt in Resources */,
+ BE39ADFA215D5AA4000B0244 /* rc in Resources */,
+ BE39ADF2215D5AA4000B0244 /* share in Resources */,
+ BE39ADFD215D5AA4000B0244 /* welcome.odt in Resources */,
+ BE53561E215D189E0068B3B7 /* Assets.xcassets in Resources */,
+ BE39ADF1215D5AA4000B0244 /* services in Resources */,
+ BE39ADFC215D5AA4000B0244 /* unorc in Resources */,
+ BE53561C215D189A0068B3B7 /* Main.storyboard in Resources */,
+ BE39ADF9215D5AA4000B0244 /* udkapi.rdb in Resources */,
+ BE39ADF0215D5AA4000B0244 /* fundamentalrc in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ BE53560D215D189A0068B3B7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BE535619215D189A0068B3B7 /* ViewController.mm in Sources */,
+ BE535624215D189E0068B3B7 /* main.m in Sources */,
+ BE535616215D189A0068B3B7 /* AppDelegate.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ BE53561A215D189A0068B3B7 /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ BE53561B215D189A0068B3B7 /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "<group>";
+ };
+ BE53561F215D189E0068B3B7 /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ BE535620215D189E0068B3B7 /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ BE535625215D189E0068B3B7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ LO_CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ LO_CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ BE535626215D189E0068B3B7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ LO_CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ LO_CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ BE535628215D189E0068B3B7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ LO_CLANG_CXX_LANGUAGE_STANDARD = "c++17";
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = J4FQ687VJK;
+ ENABLE_BITCODE = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "DISABLE_DYNLOADING=1",
+ "LIBO_INTERNAL_ONLY=1",
+ "IOS=IOS",
+ "$(inherited)",
+ );
+ HEADER_SEARCH_PATHS = (
+ ../../include,
+ ../../vcl/inc,
+ ../../config_host,
+ ../../workdir/UnoApiHeadersTarget/udkapi/comprehensive,
+ ../../workdir/UnoApiHeadersTarget/offapi/comprehensive,
+ ../../workdir/CustomTarget/ios,
+ ../../workdir/UnpackedTarball/cppunit/include,
+ ../../workdir/UnpackedTarball/boost,
+ );
+ INFOPLIST_FILE = UnitTest/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ OTHER_LDFLAGS = (
+ "-filelist",
+ "../../workdir/CustomTarget/ios/ios-all-static-libs.list",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = org.libreoffice.ios.UnitTest;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ BE535629215D189E0068B3B7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ LO_CLANG_CXX_LANGUAGE_STANDARD = "c++17";
+ CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = J4FQ687VJK;
+ ENABLE_BITCODE = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "IOS=IOS",
+ "DISABLE_DYNLOADING=1",
+ "LIBO_INTERNAL_ONLY=1",
+ );
+ HEADER_SEARCH_PATHS = (
+ ../../include,
+ ../../vcl/inc,
+ ../../config_host,
+ ../../workdir/UnoApiHeadersTarget/udkapi/comprehensive,
+ ../../workdir/UnoApiHeadersTarget/offapi/comprehensive,
+ ../../workdir/CustomTarget/ios,
+ ../../workdir/UnpackedTarball/cppunit/include,
+ ../../workdir/UnpackedTarball/boost,
+ );
+ INFOPLIST_FILE = UnitTest/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ OTHER_LDFLAGS = (
+ "-filelist",
+ "../../workdir/CustomTarget/ios/ios-all-static-libs.list",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = org.libreoffice.ios.UnitTest;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ BE53560C215D189A0068B3B7 /* Build configuration list for PBXProject "UnitTest" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BE535625215D189E0068B3B7 /* Debug */,
+ BE535626215D189E0068B3B7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ BE535627215D189E0068B3B7 /* Build configuration list for PBXNativeTarget "UnitTest" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BE535628215D189E0068B3B7 /* Debug */,
+ BE535629215D189E0068B3B7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = BE535609215D189A0068B3B7 /* Project object */;
+}
diff --git a/ios/UnitTest/UnitTest/AppDelegate.h b/ios/UnitTest/UnitTest/AppDelegate.h
new file mode 100644
index 0000000000..a0f962c9a4
--- /dev/null
+++ b/ios/UnitTest/UnitTest/AppDelegate.h
@@ -0,0 +1,16 @@
+/* -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate>
+
+@property(strong, nonatomic) UIWindow* window;
+
+@end
diff --git a/ios/UnitTest/UnitTest/AppDelegate.m b/ios/UnitTest/UnitTest/AppDelegate.m
new file mode 100644
index 0000000000..56616ee77a
--- /dev/null
+++ b/ios/UnitTest/UnitTest/AppDelegate.m
@@ -0,0 +1,52 @@
+/* -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#import "AppDelegate.h"
+
+@interface AppDelegate ()
+
+@end
+
+@implementation AppDelegate
+
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
+ // Override point for customization after application launch.
+ return YES;
+}
+
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+ // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
+}
+
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+
+- (void)applicationWillEnterForeground:(UIApplication *)application {
+ // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
+}
+
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+ // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+
+@end
diff --git a/ios/UnitTest/UnitTest/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/UnitTest/UnitTest/Assets.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..d8db8d65fd
--- /dev/null
+++ b/ios/UnitTest/UnitTest/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,98 @@
+{
+ "images" : [
+ {
+ "idiom" : "iphone",
+ "size" : "20x20",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "20x20",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "40x40",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "60x60",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "20x20",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "20x20",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "29x29",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "40x40",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "76x76",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "76x76",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "83.5x83.5",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ios-marketing",
+ "size" : "1024x1024",
+ "scale" : "1x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+} \ No newline at end of file
diff --git a/ios/UnitTest/UnitTest/Assets.xcassets/Contents.json b/ios/UnitTest/UnitTest/Assets.xcassets/Contents.json
new file mode 100644
index 0000000000..da4a164c91
--- /dev/null
+++ b/ios/UnitTest/UnitTest/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+} \ No newline at end of file
diff --git a/ios/UnitTest/UnitTest/Base.lproj/LaunchScreen.storyboard b/ios/UnitTest/UnitTest/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 0000000000..bfa3612941
--- /dev/null
+++ b/ios/UnitTest/UnitTest/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="EHf-IW-A2E">
+ <objects>
+ <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+ <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
+ </view>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="53" y="375"/>
+ </scene>
+ </scenes>
+</document>
diff --git a/ios/UnitTest/UnitTest/Base.lproj/Main.storyboard b/ios/UnitTest/UnitTest/Base.lproj/Main.storyboard
new file mode 100644
index 0000000000..942f0bc452
--- /dev/null
+++ b/ios/UnitTest/UnitTest/Base.lproj/Main.storyboard
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
+ <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="tne-QT-ifu">
+ <objects>
+ <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
+ <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+ <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
+ </view>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
+ </objects>
+ </scene>
+ </scenes>
+</document>
diff --git a/ios/UnitTest/UnitTest/Info.plist b/ios/UnitTest/UnitTest/Info.plist
new file mode 100644
index 0000000000..e6a294eba3
--- /dev/null
+++ b/ios/UnitTest/UnitTest/Info.plist
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>UIFileSharingEnabled</key>
+ <true/>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
+ <key>CFBundleExecutable</key>
+ <string>$(EXECUTABLE_NAME)</string>
+ <key>CFBundleIdentifier</key>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>$(PRODUCT_NAME)</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UILaunchStoryboardName</key>
+ <string>LaunchScreen</string>
+ <key>UIMainStoryboardFile</key>
+ <string>Main</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/ios/UnitTest/UnitTest/ViewController.h b/ios/UnitTest/UnitTest/ViewController.h
new file mode 100644
index 0000000000..5fb8713703
--- /dev/null
+++ b/ios/UnitTest/UnitTest/ViewController.h
@@ -0,0 +1,14 @@
+/* -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#import <UIKit/UIKit.h>
+
+@interface ViewController : UIViewController
+
+@end
diff --git a/ios/UnitTest/UnitTest/ViewController.mm b/ios/UnitTest/UnitTest/ViewController.mm
new file mode 100644
index 0000000000..bcdfc492a0
--- /dev/null
+++ b/ios/UnitTest/UnitTest/ViewController.mm
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <cassert>
+#include <iostream>
+
+#include <sal/config.h>
+
+#include <cppuhelper/exc_hlp.hxx>
+#include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
+#include <com/sun/star/uno/Any.hxx>
+#include <sfx2/app.hxx>
+#include <vcl/svapp.hxx>
+
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/TestResult.h>
+#include <cppunit/TestResultCollector.h>
+#include <cppunit/TestRunner.h>
+#include <cppunit/TextTestProgressListener.h>
+
+#import <LibreOfficeKit/LibreOfficeKit.hxx>
+
+extern "C" {
+#import <native-code.h>
+}
+
+#include <premac.h>
+#import <CoreGraphics/CoreGraphics.h>
+#import "ViewController.h"
+#include <postmac.h>
+
+@interface ViewController ()
+
+@end
+
+#define CPPUNIT_PLUGIN_EXPORTED_NAME CppuMisc
+#include "../../../cppuhelper/qa/misc/test_misc.cxx"
+
+#undef CPPUNIT_PLUGIN_EXPORTED_NAME
+#define CPPUNIT_PLUGIN_EXPORTED_NAME CppuUnourl
+#include "../../../cppuhelper/qa/unourl/cppu_unourl.cxx"
+
+#undef CPPUNIT_PLUGIN_EXPORTED_NAME
+#define CPPUNIT_PLUGIN_EXPORTED_NAME BitmapTest
+#include "../../../vcl/qa/cppunit/BitmapTest.cxx"
+
+#define main tilebench_main
+#include "../../../libreofficekit/qa/tilebench/tilebench.cxx"
+
+@implementation ViewController
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+
+ // Simplest (?) way to do all the tedious initialization
+ lok_init_2(nullptr, nullptr);
+
+ {
+ // First run some normal cppunit tests. Seems that at least the BitmapTest needs to be run
+ // with the SolarMutex held.
+
+ SolarMutexGuard solarMutexGuard;
+
+ CppUnit::TestResult result;
+
+ CppUnit::TextTestProgressListener logger;
+ result.addListener(&logger);
+
+ CppUnit::TestResultCollector collector;
+ result.addListener(&collector);
+
+ CppUnit::TestRunner runner;
+ runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
+ runner.run(result);
+
+ CppUnit::CompilerOutputter outputter(&collector, std::cerr);
+ outputter.write();
+ }
+
+ // Then some more specific stuff
+ tilebench_main(0, nullptr);
+}
+
+@end
diff --git a/ios/UnitTest/UnitTest/main.m b/ios/UnitTest/UnitTest/main.m
new file mode 100644
index 0000000000..abfad37158
--- /dev/null
+++ b/ios/UnitTest/UnitTest/main.m
@@ -0,0 +1,18 @@
+/* -*- Mode: ObjC; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+
+#import <UIKit/UIKit.h>
+#import "AppDelegate.h"
+
+int main(int argc, char * argv[]) {
+ @autoreleasepool {
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}
diff --git a/ios/welcome.odt b/ios/welcome.odt
new file mode 100644
index 0000000000..2da7ce6e84
--- /dev/null
+++ b/ios/welcome.odt
Binary files differ