[Libreoffice-commits] core.git: Branch 'feature/tiledrendering' - 11 commits - include/touch ios/experimental ios/MobileLibreOffice ios/shared vcl/coretext vcl/source

Tor Lillqvist tml at collabora.com
Thu Oct 31 22:49:56 CET 2013


 include/touch/touch.h                                             |   21 +
 ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj |  170 ++++++++++
 ios/experimental/LibreOffice/LibreOffice/AppDelegate.m            |   25 +
 ios/experimental/LibreOffice/LibreOffice/lo.mm                    |    2 
 ios/shared/ios_sharedlo/cxx/mlo.mm                                |   13 
 vcl/coretext/salgdi2.cxx                                          |   13 
 vcl/source/window/dialog.cxx                                      |   66 +++
 7 files changed, 294 insertions(+), 16 deletions(-)

New commits:
commit 180896820aa4ec1d719fff62072e21de8343187a
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 23:37:36 2013 +0200

    Handle also FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA
    
    It seems to be used to draw something related to rulers, which we of
    course don't show at all, but apparently they get initialised anyway.
    So, to avoid a warning, handle this format, too. (As such, I am not
    sure if I handle BGRA the right way, but there is no way to check as
    nothing works properly in this branch at the moment anyway.)
    
    Change-Id: I6a7444872f90a34e1e568769a595443c45aa6722

diff --git a/vcl/coretext/salgdi2.cxx b/vcl/coretext/salgdi2.cxx
index a78c8a3..594670c 100644
--- a/vcl/coretext/salgdi2.cxx
+++ b/vcl/coretext/salgdi2.cxx
@@ -852,6 +852,13 @@ bool SvpSalGraphics::CheckContext()
                                           CGColorSpaceCreateDeviceRGB(),
                                           kCGImageAlphaNoneSkipLast);
         break;
+    case basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRA:
+        mrContext = CGBitmapContextCreate(pixelBuffer.get(),
+                                          bufferSize.getX(), bufferSize.getY(),
+                                          8, scanlineStride,
+                                          CGColorSpaceCreateDeviceRGB(),
+                                          kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Little);
+        break;
     default:
         SAL_WARN( "vcl.ios", "CheckContext: unsupported color format " << basebmp::formatName( m_aDevice->getScanlineFormat() ) );
         warned = true;
commit f8a56351baa3a113885421aece49bc86831b0fd2
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 22:20:32 2013 +0200

    Use actual executable path
    
    Change-Id: I75ffc83be6af34b09b4a98a5890b3585b4a76bde

diff --git a/ios/experimental/LibreOffice/LibreOffice/lo.mm b/ios/experimental/LibreOffice/LibreOffice/lo.mm
index 16d0752..eec4c43 100644
--- a/ios/experimental/LibreOffice/LibreOffice/lo.mm
+++ b/ios/experimental/LibreOffice/LibreOffice/lo.mm
@@ -155,7 +155,7 @@ lo_initialize(void)
 
     const int argc = sizeof(argv)/sizeof(*argv);
 
-    argv[0] = [[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent: @"LibreOffice"] UTF8String];
+    argv[0] = [[[NSBundle mainBundle] executablePath] UTF8String];
 
     NSString *app_root_escaped = [[[NSBundle mainBundle] bundlePath] stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
 
commit 9a26543a5fc388bc2c1420c40e9ff5e7bb603916
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 22:20:15 2013 +0200

    Add dummy touch_ui_dialog_modal() here, too
    
    Change-Id: I1b1e47de2eec94150a0abee4aa74994f55b9b88e

diff --git a/ios/experimental/LibreOffice/LibreOffice/AppDelegate.m b/ios/experimental/LibreOffice/LibreOffice/AppDelegate.m
index a2abfb8..ee16e84 100644
--- a/ios/experimental/LibreOffice/LibreOffice/AppDelegate.m
+++ b/ios/experimental/LibreOffice/LibreOffice/AppDelegate.m
@@ -219,6 +219,31 @@ 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,
commit 0895645c314f4731a6d2a3ef58605d1cb30f130f
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 21:53:18 2013 +0200

    Use actual executable path in the fake argv
    
    Not that I think it is needed for anything useful, but better to be
    correct than to use the leftover "Viewer" name.
    
    Change-Id: I0878d39abf99c9d07807aa6854bfdcf12bc81ab8

diff --git a/ios/shared/ios_sharedlo/cxx/mlo.mm b/ios/shared/ios_sharedlo/cxx/mlo.mm
index 46a14ad..13f7c24 100644
--- a/ios/shared/ios_sharedlo/cxx/mlo.mm
+++ b/ios/shared/ios_sharedlo/cxx/mlo.mm
@@ -201,9 +201,7 @@ mlo_initialize(void)
     
         
     const char *argv[] = {
-        
-    //    "-SAL_LOG=+WARN+INFO",
-        [[bundlePath stringByAppendingPathComponent: @"Viewer"] UTF8String],
+        [[[NSBundle mainBundle] executablePath] UTF8String],
         "-env:URE_INTERNAL_LIB_DIR=file:///",
         [uno_types UTF8String],
         [uno_services UTF8String],"--writer"};
commit 776b7ca022d077d1b3254c24c2885e4e4b62cb53
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 21:30:19 2013 +0200

    Dummy implementation of touch_ui_dialog_modal()
    
    Change-Id: I38b72837d8a26ef95d84deca299023c1646169cf

diff --git a/ios/shared/ios_sharedlo/cxx/mlo.mm b/ios/shared/ios_sharedlo/cxx/mlo.mm
index b1436a9..46a14ad 100644
--- a/ios/shared/ios_sharedlo/cxx/mlo.mm
+++ b/ios/shared/ios_sharedlo/cxx/mlo.mm
@@ -213,5 +213,12 @@ mlo_initialize(void)
     osl_setCommandArgs(argc, (char **) argv);
 }
 
+// Dummy implementation for now, probably this should be handled in a
+// different way in each app that uses this "shared" library? Like
+// most in touch.h, the dialog API is not set in stone yet.
 
-
+MLODialogResult touch_ui_dialog_modal(MLODialogKind kind, const char *message)
+{
+    NSLog(@"===>  %s", message);
+    return MLODialogOK;
+}
commit 87e59156054027e37d92077ca1fd33bf73cdce95
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 21:29:47 2013 +0200

    Maybe Dialog::Execute() is one good place to call touch_ui_dialog_modal()
    
    Change-Id: I5f1b9fd266d7920a947d3dfb6bcd584e3cc30b53

diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index e0cd445..0298d5d 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -17,6 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <config_features.h>
+
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/util/PathSettings.hpp>
 #include <comphelper/processfactory.hxx>
@@ -45,6 +47,10 @@
 #include <vcl/unowrap.hxx>
 #include <iostream>
 
+#if !HAVE_FEATURE_DESKTOP
+#include <touch/touch.h>
+#endif
+
 // =======================================================================
 
 static OString ImplGetDialogText( Dialog* pDialog )
@@ -884,6 +890,8 @@ void Dialog::ImplEndExecuteModal()
 
 short Dialog::Execute()
 {
+#if HAVE_FEATURE_DESKTOP
+
     setDeferredProperties();
 
     if ( !ImplStartExecuteModal() )
@@ -904,7 +912,7 @@ short Dialog::Execute()
     while ( !aDelData.IsDead() && mbInExecute )
         Application::Yield();
 
-    ImplEndExecuteModal();
+    ImplEndExecutModal();
 
 #ifdef DBG_UTIL
     if( pDialogParent  )
@@ -927,6 +935,56 @@ short Dialog::Execute()
     long nRet = mpDialogImpl->mnResult;
     mpDialogImpl->mnResult = -1;
     return (short)nRet;
+
+#else
+
+    MLODialogKind kind;
+
+    switch (GetType())
+    {
+    case WINDOW_MESSBOX:
+        kind = MLODialogMessage;
+        break;
+    case WINDOW_INFOBOX:
+        kind = MLODialogInformation;
+        break;
+    case WINDOW_WARNINGBOX:
+        kind = MLODialogWarning;
+        break;
+    case WINDOW_ERRORBOX:
+        kind = MLODialogError;
+        break;
+    case WINDOW_QUERYBOX:
+        kind = MLODialogQuery;
+        break;
+    default:
+        SAL_WARN("vcl", "Dialog::Execute: Unhandled window type %d" << GetType());
+        kind = MLODialogInformation;
+        break;
+    }
+
+    MLODialogResult result = touch_ui_dialog_modal(kind, ImplGetDialogText(this).getStr());
+
+    switch (result)
+    {
+    case MLODialogOK:
+        return RET_OK;
+    case MLODialogCancel:
+        return RET_CANCEL;
+    case MLODialogNo:
+        return RET_NO;
+    case MLODialogYes:
+        return RET_YES;
+    case MLODialogRetry:
+        return RET_RETRY;
+    case MLODialogIgnore:
+        return RET_IGNORE;
+    default:
+        SAL_WARN("vcl", "Dialog::Execute: Unhandled dialog result %d" << result);
+        return RET_OK;
+    }
+
+#endif
 }
 
 // -----------------------------------------------------------------------
commit fd33bb2b569ff1da818a7594f269942eb22163c9
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 21:26:02 2013 +0200

    Add first attempt at an error message etc API
    
    Add a touch_ui_dialog_modal() function which in some way displays an
    error or other message to the user, and possibly offers the
    possibility to choose some "OK", "Cancel", "Retry", "Ignore" type of
    response. Note that the "modality" is from the point of view of the LO
    thread.
    
    Change-Id: I1b2ad15854f8d76e2c30f93fb5356fad7e5d02ca

diff --git a/include/touch/touch.h b/include/touch/touch.h
index 5902376..594f962 100644
--- a/include/touch/touch.h
+++ b/include/touch/touch.h
@@ -57,6 +57,27 @@ void touch_ui_show_keyboard();
 void touch_ui_hide_keyboard();
 bool touch_ui_keyboard_visible();
 
+// Dialogs, work in progress, no clear plan yet what to do
+
+typedef enum {
+    MLODialogMessage,
+    MLODialogInformation,
+    MLODialogWarning,
+    MLODialogError,
+    MLODialogQuery
+} MLODialogKind;
+
+typedef enum {
+    MLODialogOK,
+    MLODialogCancel,
+    MLODialogNo,
+    MLODialogYes,
+    MLODialogRetry,
+    MLODialogIgnore,
+} MLODialogResult;
+
+MLODialogResult touch_ui_dialog_modal(MLODialogKind kind, const char *message);
+
 typedef enum {
     MLOSelectionNone,
     MLOSelectionText,
commit 613ea8b6d319c673789136311bebf5a188680d35
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 20:45:23 2013 +0200

    Bin pointless Android ifdefs
    
    It did not do anything.
    
    How to handle dialog attempts from random places in the code on
    non-desktop needs to be re-done properly.
    
    Change-Id: I854a12faba3f98c61f637b465789976493326d43

diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 17f0e37..e0cd445 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -45,10 +45,6 @@
 #include <vcl/unowrap.hxx>
 #include <iostream>
 
-#ifdef ANDROID
-#include <osl/detail/android-bootstrap.h>
-#endif
-
 // =======================================================================
 
 static OString ImplGetDialogText( Dialog* pDialog )
@@ -801,12 +797,6 @@ sal_Bool Dialog::Close()
 
 sal_Bool Dialog::ImplStartExecuteModal()
 {
-#ifdef ANDROID
-    // Not sure if the idea is that this will be called on Android or
-    // not? But OK, let's try to have the below code reached on
-    // Android...
-#endif
-
     if ( mbInExecute )
     {
 #ifdef DBG_UTIL
commit 5adf5f0ed1cfea1d45fc08ad6d00fcaed351ea15
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 20:06:51 2013 +0200

    Better warnings when CheckContext() fails
    
    Change-Id: I94627e5b4efda92ac80a618e5aa4b0b33340f4ef

diff --git a/vcl/coretext/salgdi2.cxx b/vcl/coretext/salgdi2.cxx
index c0ae17a..a78c8a3 100644
--- a/vcl/coretext/salgdi2.cxx
+++ b/vcl/coretext/salgdi2.cxx
@@ -828,6 +828,7 @@ bool SvpSalGraphics::CheckContext()
     const basegfx::B2IVector bufferSize = m_aDevice->getBufferSize();
     const sal_Int32 scanlineStride = m_aDevice->getScanlineStride();
     basebmp::RawMemorySharedArray pixelBuffer = m_aDevice->getBuffer();
+    bool warned = false;
 
     SAL_INFO( "vcl.ios",
               "CheckContext: device=" << m_aDevice.get() <<
@@ -852,10 +853,11 @@ bool SvpSalGraphics::CheckContext()
                                           kCGImageAlphaNoneSkipLast);
         break;
     default:
-        SAL_INFO( "vcl.ios", "CheckContext: unsupported color format " << basebmp::formatName( m_aDevice->getScanlineFormat() ) );
+        SAL_WARN( "vcl.ios", "CheckContext: unsupported color format " << basebmp::formatName( m_aDevice->getScanlineFormat() ) );
+        warned = true;
     }
 
-    SAL_WARN_IF( mrContext == NULL, "vcl.ios", "CheckContext() failed" );
+    SAL_WARN_IF( mrContext == NULL && !warned, "vcl.ios", "CheckContext: CGBitmapContextCreate() failed" );
 
     // Should we also clip the context? (Then we need to add a
     // getBounds() function to BitmapDevice.)
commit 0a9612ec4fc9b4b7c9ab4c593edd38a37294505f
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 20:00:25 2013 +0200

    Add the vcl/coretext source files
    
    Change-Id: Ifa700d0dc9a5545254a4c04284dd3c3ad46f92cb

diff --git a/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj b/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj
index b323de7..54948cb 100644
--- a/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj
+++ b/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj
@@ -266,6 +266,9 @@
 		BE82BE4318228BD200A447B5 /* virdev.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = virdev.cxx; path = ../../vcl/source/gdi/virdev.cxx; sourceTree = "<group>"; };
 		BE82BE4418228BD200A447B5 /* wall.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wall.cxx; path = ../../vcl/source/gdi/wall.cxx; sourceTree = "<group>"; };
 		BE82BE4718228CA600A447B5 /* impbmp.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = impbmp.hxx; path = ../../vcl/inc/impbmp.hxx; sourceTree = "<group>"; };
+		BE82BE4B1822D10F00A447B5 /* ctfonts.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ctfonts.cxx; path = ../../vcl/coretext/ctfonts.cxx; sourceTree = "<group>"; };
+		BE82BE4D1822D10F00A447B5 /* ctlayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ctlayout.cxx; path = ../../vcl/coretext/ctlayout.cxx; sourceTree = "<group>"; };
+		BE82BE4E1822D10F00A447B5 /* salgdi2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdi2.cxx; path = ../../vcl/coretext/salgdi2.cxx; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -484,6 +487,7 @@
 		BE82BDB51822617500A447B5 /* vcl */ = {
 			isa = PBXGroup;
 			children = (
+				BE82BE4A1822D0E900A447B5 /* coretext */,
 				BE82BDF11822626C00A447B5 /* gdi */,
 				BE82BDF01822625C00A447B5 /* headless */,
 				BE82BE4618228C6A00A447B5 /* inc */,
@@ -678,6 +682,16 @@
 			name = inc;
 			sourceTree = "<group>";
 		};
+		BE82BE4A1822D0E900A447B5 /* coretext */ = {
+			isa = PBXGroup;
+			children = (
+				BE82BE4B1822D10F00A447B5 /* ctfonts.cxx */,
+				BE82BE4D1822D10F00A447B5 /* ctlayout.cxx */,
+				BE82BE4E1822D10F00A447B5 /* salgdi2.cxx */,
+			);
+			name = coretext;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
commit dc61bd7f75d4964a960eb742c76ddb8769845b2d
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 31 18:20:47 2013 +0200

    Add more source files for convenience
    
    Change-Id: Ie605c8068a62480e360c13f08eea785d54c57f42

diff --git a/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj b/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj
index 41a9625..b323de7 100644
--- a/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj
+++ b/ios/MobileLibreOffice/MobileLibreOffice.xcodeproj/project.pbxproj
@@ -192,6 +192,80 @@
 		BE82BDF71822628500A447B5 /* svpgdi.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpgdi.cxx; path = ../../vcl/headless/svpgdi.cxx; sourceTree = "<group>"; };
 		BE82BDF81822628500A447B5 /* svpinst.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpinst.cxx; path = ../../vcl/headless/svpinst.cxx; sourceTree = "<group>"; };
 		BE82BDFB1822628500A447B5 /* svpvd.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svpvd.cxx; path = ../../vcl/headless/svpvd.cxx; sourceTree = "<group>"; };
+		BE82BDFC18228BD200A447B5 /* alpha.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = alpha.cxx; path = ../../vcl/source/gdi/alpha.cxx; sourceTree = "<group>"; };
+		BE82BDFD18228BD200A447B5 /* animate.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = animate.cxx; path = ../../vcl/source/gdi/animate.cxx; sourceTree = "<group>"; };
+		BE82BDFE18228BD200A447B5 /* base14.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = base14.cxx; path = ../../vcl/source/gdi/base14.cxx; sourceTree = "<group>"; };
+		BE82BDFF18228BD200A447B5 /* bitmap.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap.cxx; path = ../../vcl/source/gdi/bitmap.cxx; sourceTree = "<group>"; };
+		BE82BE0018228BD200A447B5 /* bitmap3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap3.cxx; path = ../../vcl/source/gdi/bitmap3.cxx; sourceTree = "<group>"; };
+		BE82BE0118228BD200A447B5 /* bitmap4.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmap4.cxx; path = ../../vcl/source/gdi/bitmap4.cxx; sourceTree = "<group>"; };
+		BE82BE0218228BD200A447B5 /* bitmapex.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bitmapex.cxx; path = ../../vcl/source/gdi/bitmapex.cxx; sourceTree = "<group>"; };
+		BE82BE0318228BD200A447B5 /* bmpacc.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpacc.cxx; path = ../../vcl/source/gdi/bmpacc.cxx; sourceTree = "<group>"; };
+		BE82BE0418228BD200A447B5 /* bmpacc2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpacc2.cxx; path = ../../vcl/source/gdi/bmpacc2.cxx; sourceTree = "<group>"; };
+		BE82BE0518228BD200A447B5 /* bmpacc3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpacc3.cxx; path = ../../vcl/source/gdi/bmpacc3.cxx; sourceTree = "<group>"; };
+		BE82BE0618228BD200A447B5 /* bmpfast.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = bmpfast.cxx; path = ../../vcl/source/gdi/bmpfast.cxx; sourceTree = "<group>"; };
+		BE82BE0718228BD200A447B5 /* configsettings.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = configsettings.cxx; path = ../../vcl/source/gdi/configsettings.cxx; sourceTree = "<group>"; };
+		BE82BE0818228BD200A447B5 /* cvtgrf.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cvtgrf.cxx; path = ../../vcl/source/gdi/cvtgrf.cxx; sourceTree = "<group>"; };
+		BE82BE0918228BD200A447B5 /* cvtsvm.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cvtsvm.cxx; path = ../../vcl/source/gdi/cvtsvm.cxx; sourceTree = "<group>"; };
+		BE82BE0A18228BD200A447B5 /* dibtools.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dibtools.cxx; path = ../../vcl/source/gdi/dibtools.cxx; sourceTree = "<group>"; };
+		BE82BE0B18228BD200A447B5 /* embeddedfontshelper.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = embeddedfontshelper.cxx; path = ../../vcl/source/gdi/embeddedfontshelper.cxx; sourceTree = "<group>"; };
+		BE82BE0C18228BD200A447B5 /* extoutdevdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = extoutdevdata.cxx; path = ../../vcl/source/gdi/extoutdevdata.cxx; sourceTree = "<group>"; };
+		BE82BE0D18228BD200A447B5 /* font.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = font.cxx; path = ../../vcl/source/gdi/font.cxx; sourceTree = "<group>"; };
+		BE82BE0E18228BD200A447B5 /* gdimetafiletools.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gdimetafiletools.cxx; path = ../../vcl/source/gdi/gdimetafiletools.cxx; sourceTree = "<group>"; };
+		BE82BE0F18228BD200A447B5 /* gdimtf.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gdimtf.cxx; path = ../../vcl/source/gdi/gdimtf.cxx; sourceTree = "<group>"; };
+		BE82BE1018228BD200A447B5 /* gfxlink.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gfxlink.cxx; path = ../../vcl/source/gdi/gfxlink.cxx; sourceTree = "<group>"; };
+		BE82BE1118228BD200A447B5 /* gradient.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gradient.cxx; path = ../../vcl/source/gdi/gradient.cxx; sourceTree = "<group>"; };
+		BE82BE1218228BD200A447B5 /* graph.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graph.cxx; path = ../../vcl/source/gdi/graph.cxx; sourceTree = "<group>"; };
+		BE82BE1318228BD200A447B5 /* graphictools.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = graphictools.cxx; path = ../../vcl/source/gdi/graphictools.cxx; sourceTree = "<group>"; };
+		BE82BE1418228BD200A447B5 /* hatch.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = hatch.cxx; path = ../../vcl/source/gdi/hatch.cxx; sourceTree = "<group>"; };
+		BE82BE1518228BD200A447B5 /* image.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = image.cxx; path = ../../vcl/source/gdi/image.cxx; sourceTree = "<group>"; };
+		BE82BE1618228BD200A447B5 /* imagerepository.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagerepository.cxx; path = ../../vcl/source/gdi/imagerepository.cxx; sourceTree = "<group>"; };
+		BE82BE1718228BD200A447B5 /* impanmvw.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impanmvw.cxx; path = ../../vcl/source/gdi/impanmvw.cxx; sourceTree = "<group>"; };
+		BE82BE1818228BD200A447B5 /* impanmvw.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = impanmvw.hxx; path = ../../vcl/source/gdi/impanmvw.hxx; sourceTree = "<group>"; };
+		BE82BE1918228BD200A447B5 /* impbmp.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impbmp.cxx; path = ../../vcl/source/gdi/impbmp.cxx; sourceTree = "<group>"; };
+		BE82BE1A18228BD200A447B5 /* impgraph.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impgraph.cxx; path = ../../vcl/source/gdi/impgraph.cxx; sourceTree = "<group>"; };
+		BE82BE1B18228BD200A447B5 /* impimage.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impimage.cxx; path = ../../vcl/source/gdi/impimage.cxx; sourceTree = "<group>"; };
+		BE82BE1C18228BD200A447B5 /* impimagetree.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impimagetree.cxx; path = ../../vcl/source/gdi/impimagetree.cxx; sourceTree = "<group>"; };
+		BE82BE1D18228BD200A447B5 /* impvect.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = impvect.cxx; path = ../../vcl/source/gdi/impvect.cxx; sourceTree = "<group>"; };
+		BE82BE1E18228BD200A447B5 /* impvect.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = impvect.hxx; path = ../../vcl/source/gdi/impvect.hxx; sourceTree = "<group>"; };
+		BE82BE1F18228BD200A447B5 /* jobset.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = jobset.cxx; path = ../../vcl/source/gdi/jobset.cxx; sourceTree = "<group>"; };
+		BE82BE2018228BD200A447B5 /* lineinfo.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lineinfo.cxx; path = ../../vcl/source/gdi/lineinfo.cxx; sourceTree = "<group>"; };
+		BE82BE2118228BD200A447B5 /* mapmod.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mapmod.cxx; path = ../../vcl/source/gdi/mapmod.cxx; sourceTree = "<group>"; };
+		BE82BE2218228BD200A447B5 /* metaact.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = metaact.cxx; path = ../../vcl/source/gdi/metaact.cxx; sourceTree = "<group>"; };
+		BE82BE2318228BD200A447B5 /* metric.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = metric.cxx; path = ../../vcl/source/gdi/metric.cxx; sourceTree = "<group>"; };
+		BE82BE2418228BD200A447B5 /* octree.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = octree.cxx; path = ../../vcl/source/gdi/octree.cxx; sourceTree = "<group>"; };
+		BE82BE2518228BD200A447B5 /* oldprintadaptor.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = oldprintadaptor.cxx; path = ../../vcl/source/gdi/oldprintadaptor.cxx; sourceTree = "<group>"; };
+		BE82BE2618228BD200A447B5 /* outdev.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev.cxx; path = ../../vcl/source/gdi/outdev.cxx; sourceTree = "<group>"; };
+		BE82BE2718228BD200A447B5 /* outdev2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev2.cxx; path = ../../vcl/source/gdi/outdev2.cxx; sourceTree = "<group>"; };
+		BE82BE2818228BD200A447B5 /* outdev3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev3.cxx; path = ../../vcl/source/gdi/outdev3.cxx; sourceTree = "<group>"; };
+		BE82BE2918228BD200A447B5 /* outdev4.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev4.cxx; path = ../../vcl/source/gdi/outdev4.cxx; sourceTree = "<group>"; };
+		BE82BE2A18228BD200A447B5 /* outdev5.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev5.cxx; path = ../../vcl/source/gdi/outdev5.cxx; sourceTree = "<group>"; };
+		BE82BE2B18228BD200A447B5 /* outdev6.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdev6.cxx; path = ../../vcl/source/gdi/outdev6.cxx; sourceTree = "<group>"; };
+		BE82BE2C18228BD200A447B5 /* outdevnative.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outdevnative.cxx; path = ../../vcl/source/gdi/outdevnative.cxx; sourceTree = "<group>"; };
+		BE82BE2D18228BD200A447B5 /* outmap.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = outmap.cxx; path = ../../vcl/source/gdi/outmap.cxx; sourceTree = "<group>"; };
+		BE82BE2E18228BD200A447B5 /* pdfextoutdevdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfextoutdevdata.cxx; path = ../../vcl/source/gdi/pdfextoutdevdata.cxx; sourceTree = "<group>"; };
+		BE82BE2F18228BD200A447B5 /* pdffontcache.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdffontcache.cxx; path = ../../vcl/source/gdi/pdffontcache.cxx; sourceTree = "<group>"; };
+		BE82BE3018228BD200A447B5 /* pdffontcache.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = pdffontcache.hxx; path = ../../vcl/source/gdi/pdffontcache.hxx; sourceTree = "<group>"; };
+		BE82BE3118228BD200A447B5 /* pdfwriter_impl.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfwriter_impl.cxx; path = ../../vcl/source/gdi/pdfwriter_impl.cxx; sourceTree = "<group>"; };
+		BE82BE3218228BD200A447B5 /* pdfwriter_impl.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = pdfwriter_impl.hxx; path = ../../vcl/source/gdi/pdfwriter_impl.hxx; sourceTree = "<group>"; };
+		BE82BE3318228BD200A447B5 /* pdfwriter_impl2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfwriter_impl2.cxx; path = ../../vcl/source/gdi/pdfwriter_impl2.cxx; sourceTree = "<group>"; };
+		BE82BE3418228BD200A447B5 /* pdfwriter.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pdfwriter.cxx; path = ../../vcl/source/gdi/pdfwriter.cxx; sourceTree = "<group>"; };
+		BE82BE3518228BD200A447B5 /* pngread.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pngread.cxx; path = ../../vcl/source/gdi/pngread.cxx; sourceTree = "<group>"; };
+		BE82BE3618228BD200A447B5 /* pngwrite.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pngwrite.cxx; path = ../../vcl/source/gdi/pngwrite.cxx; sourceTree = "<group>"; };
+		BE82BE3718228BD200A447B5 /* print.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = print.cxx; path = ../../vcl/source/gdi/print.cxx; sourceTree = "<group>"; };
+		BE82BE3818228BD200A447B5 /* print2.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = print2.cxx; path = ../../vcl/source/gdi/print2.cxx; sourceTree = "<group>"; };
+		BE82BE3918228BD200A447B5 /* print3.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = print3.cxx; path = ../../vcl/source/gdi/print3.cxx; sourceTree = "<group>"; };
+		BE82BE3A18228BD200A447B5 /* regband.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = regband.cxx; path = ../../vcl/source/gdi/regband.cxx; sourceTree = "<group>"; };
+		BE82BE3B18228BD200A447B5 /* region.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = region.cxx; path = ../../vcl/source/gdi/region.cxx; sourceTree = "<group>"; };
+		BE82BE3C18228BD200A447B5 /* regionband.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = regionband.cxx; path = ../../vcl/source/gdi/regionband.cxx; sourceTree = "<group>"; };
+		BE82BE3D18228BD200A447B5 /* salgdilayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salgdilayout.cxx; path = ../../vcl/source/gdi/salgdilayout.cxx; sourceTree = "<group>"; };
+		BE82BE3E18228BD200A447B5 /* sallayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sallayout.cxx; path = ../../vcl/source/gdi/sallayout.cxx; sourceTree = "<group>"; };
+		BE82BE3F18228BD200A447B5 /* salmisc.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = salmisc.cxx; path = ../../vcl/source/gdi/salmisc.cxx; sourceTree = "<group>"; };
+		BE82BE4018228BD200A447B5 /* salnativewidgets-none.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "salnativewidgets-none.cxx"; path = "../../vcl/source/gdi/salnativewidgets-none.cxx"; sourceTree = "<group>"; };
+		BE82BE4118228BD200A447B5 /* svgdata.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = svgdata.cxx; path = ../../vcl/source/gdi/svgdata.cxx; sourceTree = "<group>"; };
+		BE82BE4218228BD200A447B5 /* textlayout.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = textlayout.cxx; path = ../../vcl/source/gdi/textlayout.cxx; sourceTree = "<group>"; };
+		BE82BE4318228BD200A447B5 /* virdev.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = virdev.cxx; path = ../../vcl/source/gdi/virdev.cxx; sourceTree = "<group>"; };
+		BE82BE4418228BD200A447B5 /* wall.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = wall.cxx; path = ../../vcl/source/gdi/wall.cxx; sourceTree = "<group>"; };
+		BE82BE4718228CA600A447B5 /* impbmp.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = impbmp.hxx; path = ../../vcl/inc/impbmp.hxx; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -412,6 +486,7 @@
 			children = (
 				BE82BDF11822626C00A447B5 /* gdi */,
 				BE82BDF01822625C00A447B5 /* headless */,
+				BE82BE4618228C6A00A447B5 /* inc */,
 				BE82BDED1822623D00A447B5 /* ios */,
 			);
 			name = vcl;
@@ -518,10 +593,91 @@
 		BE82BDF11822626C00A447B5 /* gdi */ = {
 			isa = PBXGroup;
 			children = (
+				BE82BDFC18228BD200A447B5 /* alpha.cxx */,
+				BE82BDFD18228BD200A447B5 /* animate.cxx */,
+				BE82BDFE18228BD200A447B5 /* base14.cxx */,
+				BE82BDFF18228BD200A447B5 /* bitmap.cxx */,
+				BE82BE0018228BD200A447B5 /* bitmap3.cxx */,
+				BE82BE0118228BD200A447B5 /* bitmap4.cxx */,
+				BE82BE0218228BD200A447B5 /* bitmapex.cxx */,
+				BE82BE0318228BD200A447B5 /* bmpacc.cxx */,
+				BE82BE0418228BD200A447B5 /* bmpacc2.cxx */,
+				BE82BE0518228BD200A447B5 /* bmpacc3.cxx */,
+				BE82BE0618228BD200A447B5 /* bmpfast.cxx */,
+				BE82BE0718228BD200A447B5 /* configsettings.cxx */,
+				BE82BE0818228BD200A447B5 /* cvtgrf.cxx */,
+				BE82BE0918228BD200A447B5 /* cvtsvm.cxx */,
+				BE82BE0A18228BD200A447B5 /* dibtools.cxx */,
+				BE82BE0B18228BD200A447B5 /* embeddedfontshelper.cxx */,
+				BE82BE0C18228BD200A447B5 /* extoutdevdata.cxx */,
+				BE82BE0D18228BD200A447B5 /* font.cxx */,
+				BE82BE0E18228BD200A447B5 /* gdimetafiletools.cxx */,
+				BE82BE0F18228BD200A447B5 /* gdimtf.cxx */,
+				BE82BE1018228BD200A447B5 /* gfxlink.cxx */,
+				BE82BE1118228BD200A447B5 /* gradient.cxx */,
+				BE82BE1218228BD200A447B5 /* graph.cxx */,
+				BE82BE1318228BD200A447B5 /* graphictools.cxx */,
+				BE82BE1418228BD200A447B5 /* hatch.cxx */,
+				BE82BE1518228BD200A447B5 /* image.cxx */,
+				BE82BE1618228BD200A447B5 /* imagerepository.cxx */,
+				BE82BE1718228BD200A447B5 /* impanmvw.cxx */,
+				BE82BE1818228BD200A447B5 /* impanmvw.hxx */,
+				BE82BE1918228BD200A447B5 /* impbmp.cxx */,
+				BE82BE1A18228BD200A447B5 /* impgraph.cxx */,
+				BE82BE1B18228BD200A447B5 /* impimage.cxx */,
+				BE82BE1C18228BD200A447B5 /* impimagetree.cxx */,
+				BE82BE1D18228BD200A447B5 /* impvect.cxx */,
+				BE82BE1E18228BD200A447B5 /* impvect.hxx */,
+				BE82BE1F18228BD200A447B5 /* jobset.cxx */,
+				BE82BE2018228BD200A447B5 /* lineinfo.cxx */,
+				BE82BE2118228BD200A447B5 /* mapmod.cxx */,
+				BE82BE2218228BD200A447B5 /* metaact.cxx */,
+				BE82BE2318228BD200A447B5 /* metric.cxx */,
+				BE82BE2418228BD200A447B5 /* octree.cxx */,
+				BE82BE2518228BD200A447B5 /* oldprintadaptor.cxx */,
+				BE82BE2618228BD200A447B5 /* outdev.cxx */,
+				BE82BE2718228BD200A447B5 /* outdev2.cxx */,
+				BE82BE2818228BD200A447B5 /* outdev3.cxx */,
+				BE82BE2918228BD200A447B5 /* outdev4.cxx */,
+				BE82BE2A18228BD200A447B5 /* outdev5.cxx */,
+				BE82BE2B18228BD200A447B5 /* outdev6.cxx */,
+				BE82BE2C18228BD200A447B5 /* outdevnative.cxx */,
+				BE82BE2D18228BD200A447B5 /* outmap.cxx */,
+				BE82BE2E18228BD200A447B5 /* pdfextoutdevdata.cxx */,
+				BE82BE2F18228BD200A447B5 /* pdffontcache.cxx */,
+				BE82BE3018228BD200A447B5 /* pdffontcache.hxx */,
+				BE82BE3118228BD200A447B5 /* pdfwriter_impl.cxx */,
+				BE82BE3218228BD200A447B5 /* pdfwriter_impl.hxx */,
+				BE82BE3318228BD200A447B5 /* pdfwriter_impl2.cxx */,
+				BE82BE3418228BD200A447B5 /* pdfwriter.cxx */,
+				BE82BE3518228BD200A447B5 /* pngread.cxx */,
+				BE82BE3618228BD200A447B5 /* pngwrite.cxx */,
+				BE82BE3718228BD200A447B5 /* print.cxx */,
+				BE82BE3818228BD200A447B5 /* print2.cxx */,
+				BE82BE3918228BD200A447B5 /* print3.cxx */,
+				BE82BE3A18228BD200A447B5 /* regband.cxx */,
+				BE82BE3B18228BD200A447B5 /* region.cxx */,
+				BE82BE3C18228BD200A447B5 /* regionband.cxx */,
+				BE82BE3D18228BD200A447B5 /* salgdilayout.cxx */,
+				BE82BE3E18228BD200A447B5 /* sallayout.cxx */,
+				BE82BE3F18228BD200A447B5 /* salmisc.cxx */,
+				BE82BE4018228BD200A447B5 /* salnativewidgets-none.cxx */,
+				BE82BE4118228BD200A447B5 /* svgdata.cxx */,
+				BE82BE4218228BD200A447B5 /* textlayout.cxx */,
+				BE82BE4318228BD200A447B5 /* virdev.cxx */,
+				BE82BE4418228BD200A447B5 /* wall.cxx */,
 			);
 			name = gdi;
 			sourceTree = "<group>";
 		};
+		BE82BE4618228C6A00A447B5 /* inc */ = {
+			isa = PBXGroup;
+			children = (
+				BE82BE4718228CA600A447B5 /* impbmp.hxx */,
+			);
+			name = inc;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */


More information about the Libreoffice-commits mailing list