[Libreoffice-commits] core.git: include/vcl

Caolán McNamara caolanm at redhat.com
Wed Sep 16 13:09:36 PDT 2015


 include/vcl/salbtype.hxx |   67 ++++++++++++++++++++++-------------------------
 1 file changed, 32 insertions(+), 35 deletions(-)

New commits:
commit bb6031fbe14b1f4b2e2ca98f97e93efe3519baa7
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Sep 15 21:23:28 2015 +0100

    move CalcMaskShift to ColorMaskElement
    
    Change-Id: I6ed7e9bfea8b4500724866214fabd179fba20f20
    Reviewed-on: https://gerrit.libreoffice.org/18636
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/vcl/salbtype.hxx b/include/vcl/salbtype.hxx
index 547d9a2..4e0b4cd 100644
--- a/include/vcl/salbtype.hxx
+++ b/include/vcl/salbtype.hxx
@@ -194,6 +194,35 @@ struct VCL_DLLPUBLIC ColorMaskElement
         , mnOr(0)
     {
     }
+    bool CalcMaskShift(ColorMaskElement &rElem) const
+    {
+        if (rElem.mnMask == 0)
+            return true;
+
+        // from which bit starts the mask?
+        int nShift = 31;
+
+        while( nShift >= 0 && !( rElem.mnMask & ( 1 << nShift ) ) )
+            --nShift;
+
+        rElem.mnShift = nShift - 7;
+        int nLen = 0;
+
+        // XXX determine number of bits set => walk right until null
+        while( nShift >= 0 && ( rElem.mnMask & ( 1 << nShift ) ) )
+        {
+            nShift--;
+            nLen++;
+        }
+
+        if (nLen > 8) // mask length must be 8 bits or less
+            return false;
+
+        rElem.mnOrShift = 8 - nLen;
+        rElem.mnOr = static_cast<sal_uInt8>( ( 0xFF >> nLen ) << rElem.mnOrShift );
+
+        return true;
+    }
 };
 
 // - ColorMask -
@@ -204,8 +233,6 @@ class VCL_DLLPUBLIC ColorMask
     ColorMaskElement        maB;
     sal_uInt32              mnAlphaChannel;
 
-    SAL_DLLPRIVATE inline bool ImplCalcMaskShift(ColorMaskElement &rOut) const;
-
 public:
 
     inline              ColorMask( sal_uInt32 nRedMask = 0,
@@ -581,39 +608,9 @@ inline ColorMask::ColorMask( sal_uInt32 nRedMask,
     , maB(nBlueMask)
     , mnAlphaChannel(nAlphaChannel)
 {
-    ImplCalcMaskShift(maR);
-    ImplCalcMaskShift(maG);
-    ImplCalcMaskShift(maB);
-}
-
-inline bool ColorMask::ImplCalcMaskShift(ColorMaskElement &rElem) const
-{
-    if (rElem.mnMask == 0)
-        return true;
-
-    // from which bit starts the mask?
-    int nShift = 31;
-
-    while( nShift >= 0 && !( rElem.mnMask & ( 1 << nShift ) ) )
-        --nShift;
-
-    rElem.mnShift = nShift - 7;
-    int nLen = 0;
-
-    // XXX determine number of bits set => walk right until null
-    while( nShift >= 0 && ( rElem.mnMask & ( 1 << nShift ) ) )
-    {
-        nShift--;
-        nLen++;
-    }
-
-    if (nLen > 8) // mask length must be 8 bits or less
-        return false;
-
-    rElem.mnOrShift = 8 - nLen;
-    rElem.mnOr = static_cast<sal_uInt8>( ( 0xFF >> nLen ) << rElem.mnOrShift );
-
-    return true;
+    maR.CalcMaskShift(maR);
+    maG.CalcMaskShift(maG);
+    maB.CalcMaskShift(maB);
 }
 
 inline sal_uInt32 ColorMask::GetRedMask() const


More information about the Libreoffice-commits mailing list