Kaydet (Commit) 2aa5c169 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Bin bit-rotted obsolete LibreOffice app

It's TiledLibreOffice that is the maintained and working iOS test app.

Change-Id: Id103ff90551fa753e9e5998b7c45f362497db6e2
üst 8fa8bb64
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
$(eval $(call gb_Executable_Executable,LibreOffice))
$(eval $(call gb_Executable_use_api,LibreOffice,\
udkapi \
offapi \
))
$(eval $(call gb_Executable_use_externals,LibreOffice,\
boost_headers \
iconv \
zlib \
))
$(eval $(call gb_Executable_use_system_darwin_frameworks,LibreOffice,\
Foundation \
CoreFoundation \
CoreGraphics \
CoreText \
UIKit \
))
$(eval $(call gb_Executable_add_generated_cxxobjects,LibreOffice,\
CustomTarget/ios/LibreOffice/native-code \
))
$(call gb_CustomTarget_get_workdir,ios/LibreOffice)/native-code.cxx :
mkdir -p `dirname $@`
$(SRCDIR)/solenv/bin/native-code.py \
-g core -g writer \
> $@
$(eval $(call gb_Executable_add_objcxxobjects,LibreOffice,\
ios/experimental/LibreOffice/LibreOffice/lo \
))
$(eval $(call gb_Executable_add_objcobjects,LibreOffice,\
ios/experimental/LibreOffice/LibreOffice/AppDelegate \
ios/experimental/LibreOffice/LibreOffice/main \
ios/experimental/LibreOffice/LibreOffice/View \
ios/experimental/LibreOffice/LibreOffice/ViewController \
))
# Mark the executable as depending on all libraries so that it gets
# rebuilt if any library has been rebuilt. Avoids need for "make
# ios.clean".
$(WORKDIR)/LinkTarget/Executable/LibreOffice : $(shell $(SRCDIR)/bin/lo-all-static-libs)
# vim: set ts=4 sw=4 et:
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
BE5A22641664F87600CF01C9 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BE5A22621664F87600CF01C9 /* InfoPlist.strings */; };
BE5A226C1664F87600CF01C9 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = BE5A226B1664F87600CF01C9 /* Default.png */; };
BE5A226E1664F87600CF01C9 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BE5A226D1664F87600CF01C9 /* Default@2x.png */; };
BE5A22701664F87600CF01C9 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BE5A226F1664F87600CF01C9 /* Default-568h@2x.png */; };
BE69AD88169592C4001BE1CD /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = BE69AD87169592C4001BE1CD /* iTunesArtwork */; };
BE69AD8D1695954D001BE1CD /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = BE69AD8A1695954D001BE1CD /* Icon-72.png */; };
BE69AD8E1695954D001BE1CD /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = BE69AD8B1695954D001BE1CD /* Icon.png */; };
BE69AD8F1695954D001BE1CD /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BE69AD8C1695954D001BE1CD /* Icon@2x.png */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
BE02DE57175F2E2A00ED4032 /* guess.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = guess.cxx; path = ../../../../sw/source/core/text/guess.cxx; sourceTree = "<group>"; };
BE08805B16FDB784000CED5C /* View.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = View.h; sourceTree = "<group>"; };
BE08805C16FDB784000CED5C /* View.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = View.m; sourceTree = "<group>"; };
BE1AB205186775FE008FFBF2 /* lo.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = lo.xcconfig; path = ../../../lo.xcconfig; sourceTree = "<group>"; };
BE2CB9601808247600953CB4 /* winproc.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = winproc.cxx; path = ../../../../vcl/source/window/winproc.cxx; sourceTree = "<group>"; };
BE2CB9611808297500953CB4 /* select.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = select.cxx; path = ../../../../sw/source/ui/wrtsh/select.cxx; sourceTree = "<group>"; };
BE2CB962180829DD00953CB4 /* txtcrsr.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = txtcrsr.cxx; path = ../../../../sw/source/ui/shells/txtcrsr.cxx; sourceTree = "<group>"; };
BE2CB96318082A7800953CB4 /* edtwin.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = edtwin.cxx; path = ../../../../sw/source/ui/docvw/edtwin.cxx; sourceTree = "<group>"; };
BE2CB96418082A7800953CB4 /* edtwin2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = edtwin2.cxx; path = ../../../../sw/source/ui/docvw/edtwin2.cxx; sourceTree = "<group>"; };
BE2CB96518082A7800953CB4 /* edtwin3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = edtwin3.cxx; path = ../../../../sw/source/ui/docvw/edtwin3.cxx; sourceTree = "<group>"; };
BE2F0A0A17077A040060FE0D /* typedescriptionprovider.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = typedescriptionprovider.cxx; path = ../../../../cppuhelper/source/typedescriptionprovider.cxx; sourceTree = "<group>"; };
BE2F0A121707809B0060FE0D /* unoidlprovider.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = unoidlprovider.cxx; path = ../../../../unoidl/source/unoidlprovider.cxx; sourceTree = "<group>"; };
BE4EEE9916FF724200D475B2 /* bitmapdevice.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bitmapdevice.cxx; path = ../../../../basebmp/source/bitmapdevice.cxx; sourceTree = "<group>"; };
BE4EEE9A16FF80B100D475B2 /* virdev.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = virdev.cxx; path = ../../../../vcl/source/gdi/virdev.cxx; sourceTree = "<group>"; };
BE56CD651704A08E00CA5B15 /* lo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lo.h; sourceTree = "<group>"; };
BE56CD661704A08E00CA5B15 /* lo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = lo.mm; sourceTree = "<group>"; };
BE5A22551664F87600CF01C9 /* LibreOffice.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LibreOffice.app; sourceTree = BUILT_PRODUCTS_DIR; };
BE5A22591664F87600CF01C9 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
BE5A225B1664F87600CF01C9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
BE5A225D1664F87600CF01C9 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
BE5A22611664F87600CF01C9 /* LibreOffice-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "LibreOffice-Info.plist"; sourceTree = "<group>"; };
BE5A22631664F87600CF01C9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
BE5A22651664F87600CF01C9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
BE5A22671664F87600CF01C9 /* LibreOffice-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "LibreOffice-Prefix.pch"; sourceTree = "<group>"; };
BE5A22681664F87600CF01C9 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
BE5A22691664F87600CF01C9 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
BE5A226B1664F87600CF01C9 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
BE5A226D1664F87600CF01C9 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
BE5A226F1664F87600CF01C9 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
BE5A22771664F87600CF01C9 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
BE5C5252170EB97700F33F89 /* shlib.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = shlib.cxx; path = ../../../../cppuhelper/source/shlib.cxx; sourceTree = "<group>"; };
BE5C5253170EB9C900F33F89 /* cpp2uno-arm.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "cpp2uno-arm.cxx"; path = "../../../../bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno-arm.cxx"; sourceTree = "<group>"; };
BE5C5254170EB9C900F33F89 /* cpp2uno-i386.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "cpp2uno-i386.cxx"; path = "../../../../bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno-i386.cxx"; sourceTree = "<group>"; };
BE5C5255170EB9C900F33F89 /* cpp2uno.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cpp2uno.cxx; path = ../../../../bridges/source/cpp_uno/gcc3_ios_arm/cpp2uno.cxx; sourceTree = "<group>"; };
BE5C5256170EB9C900F33F89 /* except.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = except.cxx; path = ../../../../bridges/source/cpp_uno/gcc3_ios_arm/except.cxx; sourceTree = "<group>"; };
BE5C5257170EB9C900F33F89 /* uno2cpp-arm.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "uno2cpp-arm.cxx"; path = "../../../../bridges/source/cpp_uno/gcc3_ios_arm/uno2cpp-arm.cxx"; sourceTree = "<group>"; };
BE5C5258170EB9C900F33F89 /* uno2cpp-i386.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "uno2cpp-i386.cxx"; path = "../../../../bridges/source/cpp_uno/gcc3_ios_arm/uno2cpp-i386.cxx"; sourceTree = "<group>"; };
BE5C5259170EB9C900F33F89 /* uno2cpp.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = uno2cpp.cxx; path = ../../../../bridges/source/cpp_uno/gcc3_ios_arm/uno2cpp.cxx; sourceTree = "<group>"; };
BE69AD87169592C4001BE1CD /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; path = iTunesArtwork; sourceTree = "<group>"; };
BE69AD8A1695954D001BE1CD /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = "<group>"; };
BE69AD8B1695954D001BE1CD /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
BE69AD8C1695954D001BE1CD /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = "<group>"; };
BE7B7AFF170438D0002341F4 /* ViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
BE7B7B00170438D0002341F4 /* ViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
BE7DC4D7175E20A90005920E /* ctfonts.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ctfonts.cxx; path = ../../../../vcl/coretext/ctfonts.cxx; sourceTree = "<group>"; };
BE7DC4D8175E20A90005920E /* ctfonts.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ctfonts.hxx; path = ../../../../vcl/coretext/ctfonts.hxx; sourceTree = "<group>"; };
BE7DC4D9175E20A90005920E /* ctlayout.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ctlayout.cxx; path = ../../../../vcl/coretext/ctlayout.cxx; sourceTree = "<group>"; };
BE7DC4DA175E20A90005920E /* salgdi2.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = salgdi2.cxx; path = ../../../../vcl/coretext/salgdi2.cxx; sourceTree = "<group>"; };
BE837605170E27EC007BBC3E /* vclxmenu.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = vclxmenu.cxx; path = ../../../../toolkit/source/awt/vclxmenu.cxx; sourceTree = "<group>"; };
BE9086F616FF02B2004400A1 /* headlessinst.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = headlessinst.cxx; path = ../../../../vcl/headless/headlessinst.cxx; sourceTree = "<group>"; };
BE9086F716FF02B2004400A1 /* svpbmp.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpbmp.cxx; path = ../../../../vcl/headless/svpbmp.cxx; sourceTree = "<group>"; };
BE9086F816FF02B2004400A1 /* svpdata.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpdata.cxx; path = ../../../../vcl/headless/svpdata.cxx; sourceTree = "<group>"; };
BE9086F916FF02B2004400A1 /* svpdummies.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpdummies.cxx; path = ../../../../vcl/headless/svpdummies.cxx; sourceTree = "<group>"; };
BE9086FA16FF02B3004400A1 /* svpelement.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpelement.cxx; path = ../../../../vcl/headless/svpelement.cxx; sourceTree = "<group>"; };
BE9086FB16FF02B3004400A1 /* svpframe.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpframe.cxx; path = ../../../../vcl/headless/svpframe.cxx; sourceTree = "<group>"; };
BE9086FC16FF02B3004400A1 /* svpgdi.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpgdi.cxx; path = ../../../../vcl/headless/svpgdi.cxx; sourceTree = "<group>"; };
BE9086FD16FF02B3004400A1 /* svpinst.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpinst.cxx; path = ../../../../vcl/headless/svpinst.cxx; sourceTree = "<group>"; };
BE9086FE16FF02B3004400A1 /* svpprn.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpprn.cxx; path = ../../../../vcl/headless/svpprn.cxx; sourceTree = "<group>"; };
BE9086FF16FF02B3004400A1 /* svptext.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svptext.cxx; path = ../../../../vcl/headless/svptext.cxx; sourceTree = "<group>"; };
BE90870016FF02B3004400A1 /* svpvd.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svpvd.cxx; path = ../../../../vcl/headless/svpvd.cxx; sourceTree = "<group>"; };
BE954A2E1704F9500040D517 /* iosinst.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = iosinst.cxx; path = ../../../../vcl/ios/iosinst.cxx; sourceTree = "<group>"; };
BE96AEB118196DCE00BD1AC4 /* svpbmp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpbmp.cxx; path = ../../../../vcl/headless/svpbmp.cxx; sourceTree = "<group>"; };
BE96AEB218196DCE00BD1AC4 /* svpdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpdata.cxx; path = ../../../../vcl/headless/svpdata.cxx; sourceTree = "<group>"; };
BE96AEB318196DCE00BD1AC4 /* svpframe.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpframe.cxx; path = ../../../../vcl/headless/svpframe.cxx; sourceTree = "<group>"; };
BE96AEB418196DCE00BD1AC4 /* svpgdi.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpgdi.cxx; path = ../../../../vcl/headless/svpgdi.cxx; sourceTree = "<group>"; };
BE96AEB518196DCE00BD1AC4 /* svpvd.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpvd.cxx; path = ../../../../vcl/headless/svpvd.cxx; sourceTree = "<group>"; };
BE96AEB6181971AF00BD1AC4 /* svpinst.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpinst.cxx; path = ../../../../vcl/headless/svpinst.cxx; sourceTree = "<group>"; };
BE96AEB7181973DA00BD1AC4 /* salbmp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salbmp.cxx; path = ../../../../vcl/quartz/salbmp.cxx; sourceTree = "<group>"; };
BE9A8D56181DBC70002A11AD /* cursor.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cursor.cxx; path = ../../../../vcl/source/window/cursor.cxx; sourceTree = "<group>"; };
BE9A8D57181E5352002A11AD /* swrect.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = swrect.hxx; path = ../../../../sw/inc/swrect.hxx; sourceTree = "<group>"; };
BE9B03C8181671C000E1B0CF /* edws.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = edws.cxx; path = ../../../../sw/source/core/edit/edws.cxx; sourceTree = "<group>"; };
BEB752BD180C90D0005B5696 /* outmap.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outmap.cxx; path = ../../../../vcl/source/gdi/outmap.cxx; sourceTree = "<group>"; };
BEBF3E3A17002D0200C454AC /* svapp.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svapp.cxx; path = ../../../../vcl/source/app/svapp.cxx; sourceTree = "<group>"; };
BEBF3E3B17002D0200C454AC /* svmain.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = svmain.cxx; path = ../../../../vcl/source/app/svmain.cxx; sourceTree = "<group>"; };
BEBF3E3C17002D4C00C454AC /* frame.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = frame.cxx; path = ../../../../framework/source/services/frame.cxx; sourceTree = "<group>"; };
BEBF3E3D17002D6900C454AC /* window.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = window.cxx; path = ../../../../vcl/source/window/window.cxx; sourceTree = "<group>"; };
BEBF3E3E17005E6B00C454AC /* frmload.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = frmload.cxx; path = ../../../../sfx2/source/view/frmload.cxx; sourceTree = "<group>"; };
BECB749617181C92001BEB85 /* crsrsh.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = crsrsh.cxx; path = ../../../../sw/source/core/crsr/crsrsh.cxx; sourceTree = "<group>"; };
BECB749917185F48001BEB85 /* view.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = view.cxx; path = ../../../../sw/source/ui/uiview/view.cxx; sourceTree = "<group>"; };
BECB749A17185F48001BEB85 /* view0.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = view0.cxx; path = ../../../../sw/source/ui/uiview/view0.cxx; sourceTree = "<group>"; };
BECB749B17185F48001BEB85 /* view1.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = view1.cxx; path = ../../../../sw/source/ui/uiview/view1.cxx; sourceTree = "<group>"; };
BECB749C17185F48001BEB85 /* view2.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = view2.cxx; path = ../../../../sw/source/ui/uiview/view2.cxx; sourceTree = "<group>"; };
BEDB0EFA1859C206009A6F26 /* outdev2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev2.cxx; path = ../../../../vcl/source/gdi/outdev2.cxx; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
BECC59C2169344C300D29860 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
BE2F0A0B17077A0F0060FE0D /* cppuhelper */ = {
isa = PBXGroup;
children = (
BE2F0A0A17077A040060FE0D /* typedescriptionprovider.cxx */,
BE5C5252170EB97700F33F89 /* shlib.cxx */,
);
name = cppuhelper;
sourceTree = "<group>";
};
BE2F0A0C17077A2F0060FE0D /* headless */ = {
isa = PBXGroup;
children = (
BE9086F616FF02B2004400A1 /* headlessinst.cxx */,
BE9086F716FF02B2004400A1 /* svpbmp.cxx */,
BE9086F816FF02B2004400A1 /* svpdata.cxx */,
BE9086F916FF02B2004400A1 /* svpdummies.cxx */,
BE9086FA16FF02B3004400A1 /* svpelement.cxx */,
BE9086FB16FF02B3004400A1 /* svpframe.cxx */,
BE9086FC16FF02B3004400A1 /* svpgdi.cxx */,
BE9086FD16FF02B3004400A1 /* svpinst.cxx */,
BE9086FE16FF02B3004400A1 /* svpprn.cxx */,
BE9086FF16FF02B3004400A1 /* svptext.cxx */,
BE90870016FF02B3004400A1 /* svpvd.cxx */,
);
name = headless;
sourceTree = "<group>";
};
BE2F0A0D17077A950060FE0D /* vcl */ = {
isa = PBXGroup;
children = (
BE9A8D56181DBC70002A11AD /* cursor.cxx */,
BE954A2E1704F9500040D517 /* iosinst.cxx */,
BEDB0EFA1859C206009A6F26 /* outdev2.cxx */,
BEB752BD180C90D0005B5696 /* outmap.cxx */,
BE96AEB7181973DA00BD1AC4 /* salbmp.cxx */,
BEBF3E3A17002D0200C454AC /* svapp.cxx */,
BEBF3E3B17002D0200C454AC /* svmain.cxx */,
BE96AEB118196DCE00BD1AC4 /* svpbmp.cxx */,
BE96AEB218196DCE00BD1AC4 /* svpdata.cxx */,
BE96AEB318196DCE00BD1AC4 /* svpframe.cxx */,
BE96AEB418196DCE00BD1AC4 /* svpgdi.cxx */,
BE96AEB6181971AF00BD1AC4 /* svpinst.cxx */,
BE96AEB518196DCE00BD1AC4 /* svpvd.cxx */,
BE4EEE9A16FF80B100D475B2 /* virdev.cxx */,
BEBF3E3D17002D6900C454AC /* window.cxx */,
BE2CB9601808247600953CB4 /* winproc.cxx */,
BEA86899170B3FCB0043E44B /* coretext */,
BE2F0A0C17077A2F0060FE0D /* headless */,
);
name = vcl;
sourceTree = "<group>";
};
BE2F0A0E17077AC40060FE0D /* framework */ = {
isa = PBXGroup;
children = (
BEBF3E3C17002D4C00C454AC /* frame.cxx */,
BE837605170E27EC007BBC3E /* vclxmenu.cxx */,
);
name = framework;
sourceTree = "<group>";
};
BE2F0A0F17077B060060FE0D /* sfx2 */ = {
isa = PBXGroup;
children = (
BEBF3E3E17005E6B00C454AC /* frmload.cxx */,
);
name = sfx2;
sourceTree = "<group>";
};
BE2F0A1017077B560060FE0D /* basebmp */ = {
isa = PBXGroup;
children = (
BE4EEE9916FF724200D475B2 /* bitmapdevice.cxx */,
);
name = basebmp;
sourceTree = "<group>";
};
BE2F0A11170780620060FE0D /* unoidl */ = {
isa = PBXGroup;
children = (
BE2F0A121707809B0060FE0D /* unoidlprovider.cxx */,
);
name = unoidl;
sourceTree = "<group>";
};
BE5A224A1664F87600CF01C9 = {
isa = PBXGroup;
children = (
BE5A225F1664F87600CF01C9 /* LibreOffice */,
BE5A22581664F87600CF01C9 /* Frameworks */,
BE5A22561664F87600CF01C9 /* Products */,
);
sourceTree = "<group>";
};
BE5A22561664F87600CF01C9 /* Products */ = {
isa = PBXGroup;
children = (
BE5A22551664F87600CF01C9 /* LibreOffice.app */,
);
name = Products;
sourceTree = "<group>";
};
BE5A22581664F87600CF01C9 /* Frameworks */ = {
isa = PBXGroup;
children = (
BE5A22591664F87600CF01C9 /* UIKit.framework */,
BE5A225B1664F87600CF01C9 /* Foundation.framework */,
BE5A225D1664F87600CF01C9 /* CoreGraphics.framework */,
BE5A22771664F87600CF01C9 /* SenTestingKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
BE5A225F1664F87600CF01C9 /* LibreOffice */ = {
isa = PBXGroup;
children = (
BECB749817182B8B001BEB85 /* LibreOffice */,
BE5C525A170EB9D000F33F89 /* bridges */,
BE2F0A1017077B560060FE0D /* basebmp */,
BE2F0A0B17077A0F0060FE0D /* cppuhelper */,
BE2F0A0E17077AC40060FE0D /* framework */,
BE2F0A0F17077B060060FE0D /* sfx2 */,
BECB749717182B5F001BEB85 /* sw */,
BE2F0A11170780620060FE0D /* unoidl */,
BE2F0A0D17077A950060FE0D /* vcl */,
BE69AD3716958CA0001BE1CD /* Resources */,
BE5A22601664F87600CF01C9 /* Supporting Files */,
);
path = LibreOffice;
sourceTree = "<group>";
};
BE5A22601664F87600CF01C9 /* Supporting Files */ = {
isa = PBXGroup;
children = (
BE1AB205186775FE008FFBF2 /* lo.xcconfig */,
BE5A22611664F87600CF01C9 /* LibreOffice-Info.plist */,
BE5A22621664F87600CF01C9 /* InfoPlist.strings */,
BE5A22651664F87600CF01C9 /* main.m */,
BE5A22671664F87600CF01C9 /* LibreOffice-Prefix.pch */,
BE5A226B1664F87600CF01C9 /* Default.png */,
BE5A226D1664F87600CF01C9 /* Default@2x.png */,
BE5A226F1664F87600CF01C9 /* Default-568h@2x.png */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
BE5C525A170EB9D000F33F89 /* bridges */ = {
isa = PBXGroup;
children = (
BE5C5253170EB9C900F33F89 /* cpp2uno-arm.cxx */,
BE5C5254170EB9C900F33F89 /* cpp2uno-i386.cxx */,
BE5C5255170EB9C900F33F89 /* cpp2uno.cxx */,
BE5C5256170EB9C900F33F89 /* except.cxx */,
BE5C5257170EB9C900F33F89 /* uno2cpp-arm.cxx */,
BE5C5258170EB9C900F33F89 /* uno2cpp-i386.cxx */,
BE5C5259170EB9C900F33F89 /* uno2cpp.cxx */,
);
name = bridges;
sourceTree = "<group>";
};
BE69AD3716958CA0001BE1CD /* Resources */ = {
isa = PBXGroup;
children = (
BE69AD87169592C4001BE1CD /* iTunesArtwork */,
BE69AD8A1695954D001BE1CD /* Icon-72.png */,
BE69AD8B1695954D001BE1CD /* Icon.png */,
BE69AD8C1695954D001BE1CD /* Icon@2x.png */,
);
name = Resources;
sourceTree = "<group>";
};
BEA86899170B3FCB0043E44B /* coretext */ = {
isa = PBXGroup;
children = (
BE7DC4D7175E20A90005920E /* ctfonts.cxx */,
BE7DC4D8175E20A90005920E /* ctfonts.hxx */,
BE7DC4D9175E20A90005920E /* ctlayout.cxx */,
BE7DC4DA175E20A90005920E /* salgdi2.cxx */,
);
name = coretext;
sourceTree = "<group>";
};
BECB749717182B5F001BEB85 /* sw */ = {
isa = PBXGroup;
children = (
BECB749617181C92001BEB85 /* crsrsh.cxx */,
BE2CB96318082A7800953CB4 /* edtwin.cxx */,
BE2CB96418082A7800953CB4 /* edtwin2.cxx */,
BE2CB96518082A7800953CB4 /* edtwin3.cxx */,
BE9B03C8181671C000E1B0CF /* edws.cxx */,
BE02DE57175F2E2A00ED4032 /* guess.cxx */,
BE2CB9611808297500953CB4 /* select.cxx */,
BE9A8D57181E5352002A11AD /* swrect.hxx */,
BE2CB962180829DD00953CB4 /* txtcrsr.cxx */,
BECB749917185F48001BEB85 /* view.cxx */,
BECB749A17185F48001BEB85 /* view0.cxx */,
BECB749B17185F48001BEB85 /* view1.cxx */,
BECB749C17185F48001BEB85 /* view2.cxx */,
);
name = sw;
sourceTree = "<group>";
};
BECB749817182B8B001BEB85 /* LibreOffice */ = {
isa = PBXGroup;
children = (
BE5A22681664F87600CF01C9 /* AppDelegate.h */,
BE5A22691664F87600CF01C9 /* AppDelegate.m */,
BE08805B16FDB784000CED5C /* View.h */,
BE08805C16FDB784000CED5C /* View.m */,
BE7B7AFF170438D0002341F4 /* ViewController.h */,
BE7B7B00170438D0002341F4 /* ViewController.m */,
BE56CD651704A08E00CA5B15 /* lo.h */,
BE56CD661704A08E00CA5B15 /* lo.mm */,
);
name = LibreOffice;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
BE5A22541664F87600CF01C9 /* LibreOffice */ = {
isa = PBXNativeTarget;
buildConfigurationList = BE5A22881664F87600CF01C9 /* Build configuration list for PBXNativeTarget "LibreOffice" */;
buildPhases = (
BE8B879916933FCD00F61E9F /* ShellScript */,
BE5A22531664F87600CF01C9 /* Resources */,
BECC59C2169344C300D29860 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = LibreOffice;
productName = LibreOffice;
productReference = BE5A22551664F87600CF01C9 /* LibreOffice.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BE5A224C1664F87600CF01C9 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0450;
ORGANIZATIONNAME = "Tor Lillqvist";
};
buildConfigurationList = BE5A224F1664F87600CF01C9 /* Build configuration list for PBXProject "LibreOffice" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = BE5A224A1664F87600CF01C9;
productRefGroup = BE5A22561664F87600CF01C9 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
BE5A22541664F87600CF01C9 /* LibreOffice */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
BE5A22531664F87600CF01C9 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BE5A22641664F87600CF01C9 /* InfoPlist.strings in Resources */,
BE5A226C1664F87600CF01C9 /* Default.png in Resources */,
BE5A226E1664F87600CF01C9 /* Default@2x.png in Resources */,
BE5A22701664F87600CF01C9 /* Default-568h@2x.png in Resources */,
BE69AD88169592C4001BE1CD /* iTunesArtwork in Resources */,
BE69AD8D1695954D001BE1CD /* Icon-72.png in Resources */,
BE69AD8E1695954D001BE1CD /* Icon.png in Resources */,
BE69AD8F1695954D001BE1CD /* Icon@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
BE8B879916933FCD00F61E9F /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
"$(CONFIGURATION_BUILD_DIR)/$(EXECUTABLE_PATH)",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd ../../.. && make ios";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXVariantGroup section */
BE5A22621664F87600CF01C9 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
BE5A22631664F87600CF01C9 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
BE5A22861664F87600CF01C9 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = BE1AB205186775FE008FFBF2 /* lo.xcconfig */;
buildSettings = {
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
LIBRARY_SEARCH_PATHS = "";
OTHER_LDFLAGS = "-v";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = 2;
VALID_ARCHS = "armv7 arm64";
};
name = Debug;
};
BE5A22871664F87600CF01C9 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = BE1AB205186775FE008FFBF2 /* lo.xcconfig */;
buildSettings = {
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
OTHER_LDFLAGS = "-v";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = 2;
VALID_ARCHS = "armv7 arm64";
};
name = Release;
};
BE5A22891664F87600CF01C9 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "LibreOffice/LibreOffice-Prefix.pch";
INFOPLIST_FILE = "LibreOffice/LibreOffice-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
LIBRARY_SEARCH_PATHS = ../../../workdir/LinkTarget/Library;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Debug;
};
BE5A228A1664F87600CF01C9 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "LibreOffice/LibreOffice-Prefix.pch";
INFOPLIST_FILE = "LibreOffice/LibreOffice-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
LIBRARY_SEARCH_PATHS = ../../../workdir/LinkTarget/Library;
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
BE5A224F1664F87600CF01C9 /* Build configuration list for PBXProject "LibreOffice" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BE5A22861664F87600CF01C9 /* Debug */,
BE5A22871664F87600CF01C9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BE5A22881664F87600CF01C9 /* Build configuration list for PBXNativeTarget "LibreOffice" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BE5A22891664F87600CF01C9 /* Debug */,
BE5A228A1664F87600CF01C9 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BE5A224C1664F87600CF01C9 /* Project object */;
}
// -*- 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 "View.h"
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITextViewDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) View *view;
- (void)threadMainMethod: (id) argument;
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
@end
// vim:set shiftwidth=4 softtabstop=4 expandtab:
// -*- 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>
#include <touch/touch.h>
#import "AppDelegate.h"
#import "ViewController.h"
#import "lo.h"
static View *theView;
static BOOL keyboardShows;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
(void) application;
(void) launchOptions;
CGRect bounds = [[UIScreen mainScreen] bounds];
NSLog(@"mainScreen bounds: %dx%d@(%d,%d)",
(int) bounds.size.width, (int) bounds.size.height,
(int) bounds.origin.x, (int) bounds.origin.y);
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
NSLog(@"mainScreen applicationFrame: %dx%d@(%d,%d)",
(int) applicationFrame.size.width, (int) applicationFrame.size.height,
(int) applicationFrame.origin.x, (int) applicationFrame.origin.y);
self.window = [[UIWindow alloc] initWithFrame:bounds];
self.window.backgroundColor = [UIColor whiteColor];
ViewController *vc = [[ViewController alloc] init];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
CGRect r = [self.window frame];
self.view = [[View alloc] initWithFrame: r];
vc.view = self.view;
theView = self.view;
self.view->textView = [[UITextView alloc] initWithFrame: r];
self.view->textView.autocapitalizationType = UITextAutocapitalizationTypeNone;
self.view->textView.alpha = 0;
[self.view addSubview: self.view->textView];
self.view->textView.delegate = self;
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self.view action:@selector(tapGesture:)];
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self.view action:@selector(panGesture:)];
UILongPressGestureRecognizer * longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self.view action:@selector(longPressGesture:)];
[self.window addGestureRecognizer: tapRecognizer];
[self.window addGestureRecognizer: panRecognizer];
[self.window addGestureRecognizer: longPressRecognizer];
NSLog(@"statusBarOrientation: %ld", (long) [[UIApplication sharedApplication] statusBarOrientation]);
if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
touch_lo_set_view_size(r.size.height, r.size.width);
else
touch_lo_set_view_size(r.size.width, r.size.height);
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];
NSThread* thread = [[NSThread alloc] initWithTarget:self
selector:@selector(threadMainMethod:)
object:nil];
keyboardShows = NO;
[thread start];
return YES;
}
- (void)threadMainMethod:(id)argument
{
(void) argument;
@autoreleasepool {
lo_initialize();
touch_lo_runMain();
}
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSLog(@"textView: %@ shouldChangeTextInRange:[%lu,%lu] replacementText:%@", textView, (unsigned long) range.location, (unsigned long) range.length, text);
assert(textView == theView->textView);
for (NSUInteger i = 0; i < [text length]; i++)
touch_lo_keyboard_input([text characterAtIndex: i]);
return NO;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
(void) application;
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
(void) application;
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
(void) application;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
(void) application;
}
- (void)applicationWillTerminate:(UIApplication *)application
{
(void) application;
}
- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame
{
(void) application;
(void) oldStatusBarFrame;
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
NSLog(@"New applicationFrame: %dx%d@(%d,%d)",
(int) applicationFrame.size.width, (int) applicationFrame.size.height,
(int) applicationFrame.origin.x, (int) applicationFrame.origin.y);
NSLog(@"statusBarOrientation: %ld", (long) [[UIApplication sharedApplication] statusBarOrientation]);
if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
touch_lo_set_view_size(applicationFrame.size.height, applicationFrame.size.width);
else
touch_lo_set_view_size(applicationFrame.size.width, applicationFrame.size.height);
}
- (void)keyboardWillShow:(NSNotification *)note
{
NSDictionary *info = [note userInfo];
CGRect frameBegin;
CGRect frameEnd;
[[info objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&frameBegin];
[[info objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&frameEnd];
NSLog(@"keyboardWillShow: frame:%dx%d@(%d,%d)",
(int) frameEnd.size.width, (int) frameEnd.size.height,
(int) frameEnd.origin.x, (int) frameEnd.origin.y);
keyboardShows = YES;
}
- (void)keyboardDidHide:(NSNotification *)note
{
(void) note;
NSLog(@"keyboardDidHide");
keyboardShows = NO;
touch_lo_keyboard_did_hide();
}
@end
// Functions called in the LO thread, which thus need to dispatch any
// CocoaTouch activity to happen on the GUI thread. Use
// dispatch_async() consistently.
void touch_ui_damaged(int minX, int minY, int width, int height)
{
CGRect rect = CGRectMake(minX, minY, width, height);
dispatch_async(dispatch_get_main_queue(), ^{
[theView setNeedsDisplayInRect:rect];
});
// NSLog(@"lo_damaged: %dx%d@(%d,%d)", width, height, minX, minY);
}
void touch_ui_show_keyboard()
{
#if 0
// Horrible hack
static bool beenHere = false;
if (!beenHere) {
beenHere = true;
touch_lo_keyboard_did_hide();
return;
}
#endif
dispatch_async(dispatch_get_main_queue(), ^{
[theView->textView becomeFirstResponder];
});
}
void touch_ui_hide_keyboard()
{
dispatch_async(dispatch_get_main_queue(), ^{
[theView->textView resignFirstResponder];
});
}
bool touch_ui_keyboard_visible()
{
return keyboardShows;
}
static const char *
dialog_kind_to_string(MLODialogKind kind)
{
switch (kind) {
case MLODialogMessage:
return "MSG";
case MLODialogInformation:
return "INF";
case MLODialogWarning:
return "WRN";
case MLODialogError:
return "ERR";
case MLODialogQuery:
return "QRY";
default:
return "WTF";
}
}
MLODialogResult touch_ui_dialog_modal(MLODialogKind kind, const char *message)
{
NSLog(@"===> %s: %s", dialog_kind_to_string(kind), message);
return MLODialogOK;
}
void touch_ui_selection_start(MLOSelectionKind kind,
const void *documentHandle,
MLORect *rectangles,
int rectangleCount,
void *preview)
{
(void) preview;
// Note that this is called on the LO thread
dispatch_async(dispatch_get_main_queue(), ^{
[theView startSelectionOfType:kind withNumber:rectangleCount ofRectangles:rectangles forDocument:documentHandle];
});
}
void touch_ui_selection_none()
{
dispatch_async(dispatch_get_main_queue(), ^{
[theView startSelectionOfType:MLOSelectionNone withNumber:0 ofRectangles:NULL forDocument:NULL];
});
}
// vim:set shiftwidth=4 softtabstop=4 expandtab:
<?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>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.libreoffice.${PRODUCT_NAME:rfc1034identifier}</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>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>CFBundleIconFile</key>
<string></string>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>CFBundleIconFiles</key>
<array>
<string>Icon.png</string>
<string>Icon-72.png</string>
<string>Icon@2x.png</string>
</array>
</dict>
</plist>
//
// Prefix header for all source files of the 'LibreOffice' target in the 'LibreOffice' project
//
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
// -*- 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 <touch/touch.h>
@interface View : UIView
{
@public
UITextView* textView;
}
- (void)drawRect:(CGRect)rect;
- (void)tapGesture:(UITapGestureRecognizer *)gestureRecognizer;
- (void)panGesture:(UIPanGestureRecognizer *)gestureRecognizer;
- (void)longPressGesture:(UILongPressGestureRecognizer *)gestureRecognizer;
- (void)startSelectionOfType:(MLOSelectionKind)kind withNumber:(int)number ofRectangles:(CGRect *)rects forDocument:(const void *)document;
@end
// vim:set shiftwidth=4 softtabstop=4 expandtab:
// -*- 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 "View.h"
#include <touch/touch.h>
@interface View ()
@property const void *documentHandle;
@property CGRect *selectionRectangles;
@property int selectionRectangleCount;
@end
#define HANDLE_BLOB 20
#define DRAG_RADIUS (HANDLE_BLOB + 20)
#define HANDLE_STEM_WIDTH 4
#define HANDLE_STEM_HEIGHT 10
#define SQUARE(n) ((n)*(n))
@implementation View
- (CGRect) topLeftResizeHandle
{
if (self.selectionRectangleCount == 0)
return CGRectNull;
return CGRectMake(self.selectionRectangles[0].origin.x - HANDLE_STEM_WIDTH/2 - HANDLE_BLOB/2,
self.selectionRectangles[0].origin.y - HANDLE_STEM_HEIGHT - HANDLE_BLOB,
HANDLE_BLOB, HANDLE_BLOB);
}
- (CGRect) bottomRightResizeHandle
{
const int N = self.selectionRectangleCount;
if (N == 0)
return CGRectNull;
return CGRectMake(self.selectionRectangles[N-1].origin.x +
self.selectionRectangles[N-1].size.width + HANDLE_STEM_WIDTH/2 - HANDLE_BLOB/2,
self.selectionRectangles[N-1].origin.y +
self.selectionRectangles[N-1].size.height + HANDLE_STEM_HEIGHT,
HANDLE_BLOB, HANDLE_BLOB);
}
- (bool) topLeftResizeHandleIsCloseTo:(CGPoint)position
{
if (self.selectionRectangleCount == 0)
return false;
return ((SQUARE((self.selectionRectangles[0].origin.x - HANDLE_STEM_WIDTH/2) - position.x) +
SQUARE((self.selectionRectangles[0].origin.y - HANDLE_STEM_HEIGHT/2 - HANDLE_BLOB/2) - position.y)) <
SQUARE(DRAG_RADIUS));
}
- (bool) bottomRightResizeHandleIsCloseTo:(CGPoint)position
{
const int N = self.selectionRectangleCount;
if (N == 0)
return false;
return ((SQUARE((self.selectionRectangles[N-1].origin.x +
self.selectionRectangles[N-1].size.width + HANDLE_STEM_WIDTH/2) - position.x) +
SQUARE((self.selectionRectangles[N-1].origin.y +
self.selectionRectangles[N-1].size.height + HANDLE_STEM_HEIGHT/2 + HANDLE_BLOB/2) - position.y)) <
SQUARE(DRAG_RADIUS));
}
- (void) requestSelectionRedisplay
{
if (self.selectionRectangleCount == 0)
return;
CGRect r = CGRectNull;
for (int i = 0; i < self.selectionRectangleCount; i++) {
r = CGRectUnion(r, self.selectionRectangles[i]);
}
r = CGRectUnion(r, [self topLeftResizeHandle]);
r = CGRectUnion(r, [self bottomRightResizeHandle]);
[self setNeedsDisplayInRect:r];
}
- (void) drawSelectionIntoContext:(CGContextRef)context
{
if (self.selectionRectangleCount == 0)
return;
const int N = self.selectionRectangleCount;
CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:0 green:0 blue:1 alpha:0.5] CGColor]);
CGContextSetBlendMode(context, kCGBlendModeNormal);
CGContextFillRects(context, self.selectionRectangles, self.selectionRectangleCount);
CGContextFillRect(context,
CGRectMake(self.selectionRectangles[0].origin.x - HANDLE_STEM_WIDTH,
self.selectionRectangles[0].origin.y - HANDLE_STEM_HEIGHT,
HANDLE_STEM_WIDTH, self.selectionRectangles[0].size.height + HANDLE_STEM_HEIGHT));
CGContextFillRect(context,
CGRectMake(self.selectionRectangles[N-1].origin.x +
self.selectionRectangles[N-1].size.width,
self.selectionRectangles[N-1].origin.y,
HANDLE_STEM_WIDTH, self.selectionRectangles[N-1].size.height + HANDLE_STEM_HEIGHT));
CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:0 green:0 blue:1 alpha:0.8] CGColor]);
CGContextFillEllipseInRect(context, [self topLeftResizeHandle]);
CGContextFillEllipseInRect(context, [self bottomRightResizeHandle]);
}
- (void)drawRect:(CGRect)rect
{
// NSLog(@"View drawRect: %dx%d@(%d,%d)", (int) rect.size.width, (int) rect.size.height, (int) rect.origin.x, (int) rect.origin.y);
// NSLog(@" self.frame : %dx%d@(%d,%d)", (int) self.frame.size.width, (int) self.frame.size.height, (int) self.frame.origin.x, (int) self.frame.origin.y);
// NSLog(@"statusBarOrientation: %ld", (long)[[UIApplication sharedApplication] statusBarOrientation]);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
switch ([[UIApplication sharedApplication] statusBarOrientation]) {
case UIInterfaceOrientationPortrait:
CGContextTranslateCTM(context, 0, self.frame.size.height);
CGContextScaleCTM(context, 1, -1);
break;
case UIInterfaceOrientationLandscapeLeft:
CGContextTranslateCTM(context, 0, self.frame.size.width);
CGContextScaleCTM(context, 1, -1);
break;
case UIInterfaceOrientationLandscapeRight:
CGContextTranslateCTM(context, 0, self.frame.size.width);
CGContextScaleCTM(context, 1, -1);
break;
case UIInterfaceOrientationPortraitUpsideDown:
CGContextTranslateCTM(context, 0, self.frame.size.height);
CGContextScaleCTM(context, 1, -1);
break;
}
touch_lo_render_windows(context, rect.origin.y, rect.origin.y, rect.size.width, rect.size.height);
CGContextRestoreGState(context);
[self drawSelectionIntoContext:context];
}
#if 0
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"===> View touchesBegan!");
}
#endif
- (void)tapGesture:(UITapGestureRecognizer *)gestureRecognizer
{
if ([gestureRecognizer state] == UIGestureRecognizerStateEnded) {
CGPoint location = [gestureRecognizer locationInView:self];
// NSLog(@"tapGesture: at: (%d,%d)", (int)location.x, (int)location.y);
touch_lo_tap(location.x, location.y);
} else {
// NSLog(@"tapGesture: %@", gestureRecognizer);
}
}
- (void)panGesture:(UIPanGestureRecognizer *)gestureRecognizer
{
const int N = self.selectionRectangleCount;
static enum { NONE, TOPLEFT, BOTTOMRIGHT } draggedHandle = NONE;
static CGPoint previous;
static CGPoint dragOffset;
CGPoint location = [gestureRecognizer locationInView:self];
CGPoint translation = [gestureRecognizer translationInView:self];
if (gestureRecognizer.state == UIGestureRecognizerStateBegan) {
previous = CGPointMake(0, 0);
}
CGPoint delta = CGPointMake(translation.x - previous.x, translation.y - previous.y);
// NSLog(@"location: (%f,%f) , drag: (%f,%f)", location.x, location.y, delta.x, delta.y);
previous = translation;
if (gestureRecognizer.state == UIGestureRecognizerStateBegan &&
gestureRecognizer.numberOfTouches == 1) {
if ([self topLeftResizeHandleIsCloseTo:location]) {
draggedHandle = TOPLEFT;
dragOffset = CGPointMake(location.x - self.selectionRectangles[0].origin.x,
location.y - (self.selectionRectangles[0].origin.y +
self.selectionRectangles[0].size.height/2));
} else if ([self bottomRightResizeHandleIsCloseTo:location]) {
draggedHandle = BOTTOMRIGHT;
dragOffset = CGPointMake(location.x - (self.selectionRectangles[N-1].origin.x +
self.selectionRectangles[N-1].size.width),
location.y - (self.selectionRectangles[N-1].origin.y +
self.selectionRectangles[N-1].size.height/2));
}
}
if (draggedHandle == TOPLEFT) {
touch_lo_selection_start_move(self.documentHandle,
location.x - dragOffset.x, location.y - dragOffset.y);
if (gestureRecognizer.state == UIGestureRecognizerStateEnded)
draggedHandle = NONE;
return;
} else if (draggedHandle == BOTTOMRIGHT) {
touch_lo_selection_end_move(self.documentHandle,
location.x - dragOffset.x, location.y - dragOffset.y);
if (gestureRecognizer.state == UIGestureRecognizerStateEnded)
draggedHandle = NONE;
return;
}
if (gestureRecognizer.state != UIGestureRecognizerStateBegan) {
touch_lo_pan(delta.x, delta.y);
}
}
- (void)pinchGesture:(UIPinchGestureRecognizer *)gestureRecognizer
{
CGPoint location = [gestureRecognizer locationInView:self];
CGFloat scale = gestureRecognizer.scale;
// NSLog(@"pinchGesture: pinch: (%f) cords (%d,%d)", (float)scale, (int)location.x, (int)location.y );
touch_lo_zoom((int)location.x, (int)location.y, (float)scale);
// to reset the gesture scaling
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
touch_lo_zoom(1, 1, 0.0f);
}
}
- (void)longPressGesture:(UILongPressGestureRecognizer *)gestureRecognizer
{
CGPoint point = [gestureRecognizer locationInView:self];
if (gestureRecognizer.state == UIGestureRecognizerStateEnded) {
touch_lo_tap(point.x, point.y);
touch_lo_tap(point.x, point.y);
}
}
static int compare_rects(const void *a, const void *b)
{
const CGRect *ra = a;
const CGRect *rb = b;
if (ra->origin.y != rb->origin.y)
return ra->origin.y - rb->origin.y;
else
return ra->origin.x - rb->origin.x;
}
- (void)startSelectionOfType:(MLOSelectionKind)kind withNumber:(int)number ofRectangles:(CGRect *)rects forDocument:(const void *)document
{
(void) kind;
// First request the old selection area to be redisplayed
[self requestSelectionRedisplay];
free(self.selectionRectangles);
self.selectionRectangles = NULL;
self.selectionRectangleCount = 0;
self.documentHandle = NULL;
if (number == 0)
return;
self.selectionRectangles = rects;
self.selectionRectangleCount = number;
self.documentHandle = document;
// The selection rectangle provided by LO are not sorted in any sane way
qsort(self.selectionRectangles, self.selectionRectangleCount, sizeof(self.selectionRectangles[0]), compare_rects);
[self requestSelectionRedisplay];
}
@end
// vim:set shiftwidth=4 softtabstop=4 expandtab:
// -*- 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
// vim:set shiftwidth=4 softtabstop=4 expandtab:
// -*- 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 "ViewController.h"
#include <touch/touch.h>
#import "lo.h"
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect rect = [self.view bounds];
NSLog(@"viewDidLoad: bounds=%dx%d@(%d,%d)", (int)rect.size.width, (int)rect.size.height, (int)rect.origin.x, (int)rect.origin.y);
rect = [self.view frame];
NSLog(@" frame=%dx%d@(%d,%d)", (int)rect.size.width, (int)rect.size.height, (int)rect.origin.x, (int)rect.origin.y);
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
(void) fromInterfaceOrientation;
NSLog(@"didRotateFromInterfaceOrientation: statusBarOrientation: %ld interfaceOrientation: %ld", (long) [[UIApplication sharedApplication] statusBarOrientation], (long) [self interfaceOrientation]);
}
@end
// vim:set shiftwidth=4 softtabstop=4 expandtab:
// -*- Mode: C++; 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/.
#ifdef __cplusplus
extern "C" {
#endif
void lo_initialize(void);
#ifdef __cplusplus
}
#endif
// vim:set shiftwidth=4 softtabstop=4 expandtab:
// -*- 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/.
#include <stdlib.h>
#include <premac.h>
#import <UIKit/UIKit.h>
#include <postmac.h>
#include <osl/process.h>
#include <touch/touch.h>
extern "C"
void
lo_initialize(void)
{
const char *argv[] = {
"placeholder-exe",
"-env:URE_INTERNAL_LIB_DIR=file:///",
"placeholder-uno-types",
"placeholder-uno-services",
"placeholder-document"
};
const int argc = sizeof(argv)/sizeof(*argv);
argv[0] = [[[NSBundle mainBundle] executablePath] UTF8String];
NSString *app_root_escaped = [[[NSBundle mainBundle] bundlePath] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSString *uno_types = @"-env:UNO_TYPES=";
uno_types = [uno_types stringByAppendingString: @"file://"];
uno_types = [uno_types stringByAppendingString: [app_root_escaped stringByAppendingPathComponent: @"offapi.rdb"]];
uno_types = [uno_types stringByAppendingString: @" file://"];
uno_types = [uno_types stringByAppendingString: [app_root_escaped stringByAppendingPathComponent: @"oovbaapi.rdb"]];
uno_types = [uno_types stringByAppendingString: @" file://"];
uno_types = [uno_types stringByAppendingString: [app_root_escaped stringByAppendingPathComponent: @"types.rdb"]];
assert(strcmp(argv[2], "placeholder-uno-types") == 0);
argv[2] = [uno_types UTF8String];
NSString *uno_services = @"-env:UNO_SERVICES=";
uno_services = [uno_services stringByAppendingString: @"file://"];
uno_services = [uno_services stringByAppendingString: [app_root_escaped stringByAppendingPathComponent: @"ure/services.rdb"]];
uno_services = [uno_services stringByAppendingString: @" file://"];
uno_services = [uno_services stringByAppendingString: [app_root_escaped stringByAppendingPathComponent: @"services.rdb"]];
assert(strcmp(argv[3], "placeholder-uno-services") == 0);
argv[3] = [uno_services UTF8String];
assert(strcmp(argv[4], "placeholder-document") == 0);
NSString *file = @"file://";
file = [file stringByAppendingString: [app_root_escaped stringByAppendingPathComponent: @"test1.odt"]];
argv[4] = [file UTF8String];
osl_setCommandArgs(argc, (char **) argv);
}
// -*- 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]));
}
}
// vim:set shiftwidth=4 softtabstop=4 expandtab:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment