[Libreoffice-commits] core.git: Branch 'feature/drawinglayercore2' - vcl/inc vcl/unx

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Thu Aug 26 03:05:34 UTC 2021


 vcl/inc/unx/salgdi.h                |    1 
 vcl/unx/generic/gdi/salgdi.cxx      |    5 ++
 vcl/unx/generic/window/salframe.cxx |   73 +-----------------------------------
 3 files changed, 10 insertions(+), 69 deletions(-)

New commits:
commit da1d655b56ccc7fe5204770e3eb3df208f79947d
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Thu Aug 26 12:04:18 2021 +0900
Commit:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
CommitDate: Thu Aug 26 12:04:36 2021 +0900

    X11SalGraphics using SvpGraphicsBackend
    
    Change-Id: I1370cf5235752adb8082ac8c664e0bf3dccd41b3

diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index 41e0f57598c8..a273a53caa55 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -311,6 +311,7 @@ private:
 
     bool                            bWindow_ : 1;       // is Window
     bool                            bVirDev_ : 1;       // is VirDev
+    bool m_bCairoBackend : 1;
     bool                            m_bSkia  : 1;
 
 private:
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index e809923fb3bd..0d840c0d3584 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -75,6 +75,7 @@ X11SalGraphics::X11SalGraphics():
     hBrush_(None),
     bWindow_(false),
     bVirDev_(false),
+    m_bCairoBackend(false),
     m_bSkia(SkiaHelper::isVCLSkiaEnabled())
 {
 #if HAVE_FEATURE_SKIA
@@ -85,6 +86,10 @@ X11SalGraphics::X11SalGraphics():
     }
     else
 #endif
+    if (m_bCairoBackend)
+    {
+    }
+    else
     {
         mxTextRenderImpl.reset(new X11CairoTextRender(*this));
         mxImpl.reset(new X11SalGraphicsImpl(*this));
diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx
index a47ed1c645fa..626dc66f85e8 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -282,76 +282,11 @@ static void CreateNetWmAppIcon( sal_uInt16 nIcon, NetWmIconData& netwm_icon )
     netwm_icon.resize( pos );
 }
 
-static bool lcl_SelectAppIconPixmap( SalDisplay const *pDisplay, SalX11Screen nXScreen,
-                                         sal_uInt16 nIcon, sal_uInt16 iconSize,
-                                         Pixmap& icon_pixmap, Pixmap& icon_mask, NetWmIconData& netwm_icon)
+static bool lcl_SelectAppIconPixmap( SalDisplay const * /*pDisplay*/, SalX11Screen /*nXScreen*/,
+                                         sal_uInt16 /*nIcon*/, sal_uInt16 /*iconSize*/,
+                                         Pixmap& /*icon_pixmap*/, Pixmap& /*icon_mask*/, NetWmIconData& /*netwm_icon*/)
 {
-    CreateNetWmAppIcon( nIcon, netwm_icon );
-
-    OUString sIcon;
-
-    if( iconSize >= 48 )
-        sIcon = SV_ICON_SIZE48[nIcon];
-    else if( iconSize >= 32 )
-        sIcon = SV_ICON_SIZE32[nIcon];
-    else if( iconSize >= 16 )
-         sIcon = SV_ICON_SIZE16[nIcon];
-    else
-        return false;
-
-    BitmapEx aIcon = vcl::bitmap::loadFromName(sIcon, ImageLoadFlags::IgnoreScalingFactor);
-
-    if( aIcon.IsEmpty() )
-        return false;
-
-    X11SalBitmap *pBitmap = dynamic_cast < X11SalBitmap * >
-        (aIcon.ImplGetBitmapSalBitmap().get());
-    if (!pBitmap) // FIXME: opengl , TODO SKIA
-        return false;
-
-    icon_pixmap = XCreatePixmap( pDisplay->GetDisplay(),
-                                 pDisplay->GetRootWindow( nXScreen ),
-                                 iconSize, iconSize,
-                                 DefaultDepth( pDisplay->GetDisplay(),
-                                               nXScreen.getXScreen() )
-                                 );
-
-    SalTwoRect aRect(0, 0, iconSize, iconSize, 0, 0, iconSize, iconSize);
-
-    pBitmap->ImplDraw( icon_pixmap,
-                       nXScreen,
-                       DefaultDepth( pDisplay->GetDisplay(),
-                                     nXScreen.getXScreen() ),
-                       aRect,
-                       DefaultGC( pDisplay->GetDisplay(),
-                                  nXScreen.getXScreen() ) );
-
-    icon_mask = None;
-
-    if( aIcon.IsAlpha() )
-    {
-        icon_mask = XCreatePixmap( pDisplay->GetDisplay(),
-                                   pDisplay->GetRootWindow( pDisplay->GetDefaultXScreen() ),
-                                   iconSize, iconSize, 1);
-
-        XGCValues aValues;
-        aValues.foreground = 0xffffffff;
-        aValues.background = 0;
-        aValues.function = GXcopy;
-        GC aMonoGC = XCreateGC( pDisplay->GetDisplay(), icon_mask,
-            GCFunction|GCForeground|GCBackground, &aValues );
-
-        Bitmap aMask = aIcon.GetAlpha();
-        aMask.Invert();
-
-        X11SalBitmap *pMask = static_cast < X11SalBitmap * >
-            (aMask.ImplGetSalBitmap().get());
-
-        pMask->ImplDraw(icon_mask, nXScreen, 1, aRect, aMonoGC);
-        XFreeGC( pDisplay->GetDisplay(), aMonoGC );
-    }
-
-    return true;
+    return false;
 }
 
 void X11SalFrame::Init( SalFrameStyleFlags nSalFrameStyle, SalX11Screen nXScreen, SystemParentData const * pParentData, bool bUseGeometry )


More information about the Libreoffice-commits mailing list