LCOV - code coverage report
Current view: top level - sd/source/ui/slidesorter/view - SlsTheme.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 135 172 78.5 %
Date: 2012-08-25 Functions: 11 11 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 102 274 37.2 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : 
      30                 :            : #include "view/SlsTheme.hxx"
      31                 :            : #include "SlsResource.hxx"
      32                 :            : #include "controller/SlsProperties.hxx"
      33                 :            : #include "sdresid.hxx"
      34                 :            : #include <tools/color.hxx>
      35                 :            : #include <vcl/outdev.hxx>
      36                 :            : #include <vcl/image.hxx>
      37                 :            : #include <vcl/svapp.hxx>
      38                 :            : #include <svtools/colorcfg.hxx>
      39                 :            : 
      40                 :            : namespace sd { namespace slidesorter { namespace view {
      41                 :            : 
      42                 :            : const static ColorData Black = 0x000000;
      43                 :            : const static ColorData White = 0xffffff;
      44                 :            : 
      45                 :            : 
      46                 :            : 
      47                 :       3640 : ColorData ChangeLuminance (const ColorData aColorData, const int nValue)
      48                 :            : {
      49                 :       3640 :     Color aColor (aColorData);
      50         [ +  + ]:       3640 :     if (nValue > 0)
      51         [ +  - ]:       1560 :         aColor.IncreaseLuminance(nValue);
      52                 :            :     else
      53         [ +  - ]:       2080 :         aColor.DecreaseLuminance(-nValue);
      54                 :       3640 :     return aColor.GetColor();
      55                 :            : }
      56                 :            : 
      57                 :        520 : ColorData HGBAdapt (
      58                 :            :     const ColorData aColorData,
      59                 :            :     const sal_Int32 nNewSaturation,
      60                 :            :     const sal_Int32 nNewBrightness)
      61                 :            : {
      62                 :        520 :     sal_uInt16 nHue (0);
      63                 :        520 :     sal_uInt16 nSaturation (0);
      64                 :        520 :     sal_uInt16 nBrightness (0);
      65         [ +  - ]:        520 :     Color(aColorData).RGBtoHSB(nHue, nSaturation, nBrightness);
      66                 :            :     return Color::HSBtoRGB(
      67                 :            :         nHue,
      68                 :            :         nNewSaturation>=0 ? nNewSaturation : nSaturation,
      69 [ +  - ][ +  - ]:        520 :         nNewBrightness>=0 ? nNewBrightness : nBrightness);
                 [ +  - ]
      70                 :            : }
      71                 :            : 
      72                 :            : 
      73                 :            : 
      74                 :            : 
      75                 :        130 : Theme::Theme (const ::boost::shared_ptr<controller::Properties>& rpProperties)
      76                 :            :     : mbIsHighContrastMode(false),
      77                 :        130 :       maBackgroundColor(rpProperties->GetBackgroundColor().GetColor()),
      78                 :            :       maPageBackgroundColor(COL_WHITE),
      79                 :            :       maGradients(),
      80                 :            :       maIcons(),
      81 [ +  - ][ +  - ]:        130 :       maColor()
      82                 :            : {
      83                 :            :     {
      84         [ +  - ]:        130 :         LocalResource aResource (RID_SLIDESORTER_ICONS);
      85                 :            : 
      86         [ +  - ]:        130 :         maColor.resize(_ColorType_Size_);
      87         [ +  - ]:        130 :         maColor[Color_Background] = maBackgroundColor;
      88         [ +  - ]:        130 :         maColor[Color_PageNumberDefault] = 0x0808080;
      89         [ +  - ]:        130 :         maColor[Color_PageNumberHover] = 0x4c4c4c;
      90         [ +  - ]:        130 :         maColor[Color_PageNumberHighContrast] = White;
      91         [ +  - ]:        130 :         maColor[Color_PageNumberBrightBackground] = 0x333333;
      92         [ +  - ]:        130 :         maColor[Color_PageNumberDarkBackground] = 0xcccccc;
      93 [ +  - ][ +  - ]:        130 :         maColor[Color_PreviewBorder] = 0x949599;
      94                 :            :     }
      95                 :            : 
      96         [ +  - ]:        130 :     Update(rpProperties);
      97                 :        130 : }
      98                 :            : 
      99                 :            : 
     100                 :            : 
     101                 :            : 
     102                 :        130 : void Theme::Update (const ::boost::shared_ptr<controller::Properties>& rpProperties)
     103                 :            : {
     104                 :        130 :     const bool bSavedHighContrastMode (mbIsHighContrastMode);
     105                 :        130 :     mbIsHighContrastMode = rpProperties->IsHighContrastModeActive();
     106                 :            : 
     107                 :            :     // Set up colors.
     108                 :        130 :     maBackgroundColor = rpProperties->GetBackgroundColor().GetColor();
     109         [ +  - ]:        130 :     maPageBackgroundColor = svtools::ColorConfig().GetColorValue(svtools::DOCCOLOR).nColor;
     110                 :            : 
     111                 :        130 :     maColor[Color_Background] = maBackgroundColor;
     112                 :            : 
     113                 :        130 :     maGradients.resize(_GradientColorType_Size_);
     114                 :            : 
     115                 :        130 :     maColor[Color_Background] = maBackgroundColor;
     116                 :        130 :     const ColorData aSelectionColor (rpProperties->GetSelectionColor().GetColor());
     117                 :        130 :     maColor[Color_Selection] = aSelectionColor;
     118 [ -  + ][ +  - ]:        130 :     if (Color(aSelectionColor).IsBright())
     119                 :          0 :         maColor[Color_PageCountFontColor] = Black;
     120                 :            :     else
     121                 :        130 :         maColor[Color_PageCountFontColor] = White;
     122                 :            : 
     123                 :            :     // Set up gradients.
     124                 :        130 :     SetGradient(Gradient_SelectedPage, aSelectionColor, 50, 50, +100,+100, +50,+25);
     125                 :        130 :     SetGradient(Gradient_MouseOverPage, aSelectionColor, 75, 75, +100,+100, +50,+25);
     126                 :        130 :     SetGradient(Gradient_SelectedAndFocusedPage, aSelectionColor, 50, 50, +100,+100, -50,-75);
     127                 :        130 :     SetGradient(Gradient_MouseOverSelectedAndFocusedPage, aSelectionColor, 75, 75, +100,+100, -50,-75);
     128                 :        130 :     SetGradient(Gradient_FocusedPage, aSelectionColor, -1,-1, 0,0, -50,-75);
     129                 :            : 
     130                 :        130 :     SetGradient(Gradient_ButtonBackground, Black, -1,-1, 0,0, 0,0);
     131                 :        130 :     SetGradient(Gradient_NormalPage, maBackgroundColor, -1,-1, 0,0, 0,0);
     132                 :            : 
     133                 :            :     // The focused gradient needs special handling because its fill color is
     134                 :            :     // like that of the NormalPage gradient.
     135                 :        130 :     GetGradient(Gradient_FocusedPage).maFillColor1 = GetGradient(Gradient_NormalPage).maFillColor1;
     136                 :        130 :     GetGradient(Gradient_FocusedPage).maFillColor2 = GetGradient(Gradient_NormalPage).maFillColor2;
     137                 :            : 
     138                 :            :     // Set up icons.
     139 [ +  - ][ +  - ]:        130 :     if (bSavedHighContrastMode != mbIsHighContrastMode || maIcons.empty())
                 [ +  - ]
     140                 :            :     {
     141         [ +  - ]:        130 :         LocalResource aResource (RID_SLIDESORTER_ICONS);
     142                 :            : 
     143         [ +  - ]:        130 :         maIcons.resize(_IconType_Size_);
     144         [ -  + ]:        130 :         if (mbIsHighContrastMode)
     145                 :            :         {
     146         [ #  # ]:          0 :             InitializeIcon(Icon_RawShadow, IMAGE_SHADOW);
     147         [ #  # ]:          0 :             InitializeIcon(Icon_RawInsertShadow, IMAGE_INSERT_SHADOW);
     148         [ #  # ]:          0 :             InitializeIcon(Icon_HideSlideOverlay, IMAGE_HIDE_SLIDE_OVERLAY);
     149                 :            : 
     150         [ #  # ]:          0 :             InitializeIcon(Icon_ButtonBarLarge, IMAGE_BUTTONBAR_LARGE_HC);
     151         [ #  # ]:          0 :             InitializeIcon(Icon_ButtonBarMedium, IMAGE_BUTTONBAR_MEDIUM_HC);
     152         [ #  # ]:          0 :             InitializeIcon(Icon_ButtonBarSmall, IMAGE_BUTTONBAR_SMALL_HC);
     153                 :            : 
     154         [ #  # ]:          0 :             InitializeIcon(Icon_Command1Large, IMAGE_COMMAND1_LARGE_HC);
     155         [ #  # ]:          0 :             InitializeIcon(Icon_Command1LargeHover, IMAGE_COMMAND1_LARGE_HOVER_HC);
     156         [ #  # ]:          0 :             InitializeIcon(Icon_Command1Medium, IMAGE_COMMAND1_MEDIUM_HC);
     157         [ #  # ]:          0 :             InitializeIcon(Icon_Command1MediumHover, IMAGE_COMMAND1_MEDIUM_HOVER_HC);
     158         [ #  # ]:          0 :             InitializeIcon(Icon_Command1Small, IMAGE_COMMAND1_SMALL_HC);
     159         [ #  # ]:          0 :             InitializeIcon(Icon_Command1SmallHover, IMAGE_COMMAND1_SMALL_HOVER_HC);
     160                 :            : 
     161         [ #  # ]:          0 :             InitializeIcon(Icon_Command2Large, IMAGE_COMMAND2_LARGE_HC);
     162         [ #  # ]:          0 :             InitializeIcon(Icon_Command2LargeHover, IMAGE_COMMAND2_LARGE_HOVER_HC);
     163         [ #  # ]:          0 :             InitializeIcon(Icon_Command2Medium, IMAGE_COMMAND2_MEDIUM_HC);
     164         [ #  # ]:          0 :             InitializeIcon(Icon_Command2MediumHover, IMAGE_COMMAND2_MEDIUM_HOVER_HC);
     165         [ #  # ]:          0 :             InitializeIcon(Icon_Command2Small, IMAGE_COMMAND2_SMALL_HC);
     166         [ #  # ]:          0 :             InitializeIcon(Icon_Command2SmallHover, IMAGE_COMMAND2_SMALL_HOVER_HC);
     167                 :            : 
     168         [ #  # ]:          0 :             InitializeIcon(Icon_Command2BLarge, IMAGE_COMMAND2B_LARGE_HC);
     169         [ #  # ]:          0 :             InitializeIcon(Icon_Command2BLargeHover, IMAGE_COMMAND2B_LARGE_HOVER_HC);
     170         [ #  # ]:          0 :             InitializeIcon(Icon_Command2BMedium, IMAGE_COMMAND2B_MEDIUM_HC);
     171         [ #  # ]:          0 :             InitializeIcon(Icon_Command2BMediumHover, IMAGE_COMMAND2B_MEDIUM_HOVER_HC);
     172         [ #  # ]:          0 :             InitializeIcon(Icon_Command2BSmall, IMAGE_COMMAND2B_SMALL_HC);
     173         [ #  # ]:          0 :             InitializeIcon(Icon_Command2BSmallHover, IMAGE_COMMAND2B_SMALL_HOVER_HC);
     174                 :            : 
     175         [ #  # ]:          0 :             InitializeIcon(Icon_Command3Large, IMAGE_COMMAND3_LARGE_HC);
     176         [ #  # ]:          0 :             InitializeIcon(Icon_Command3LargeHover, IMAGE_COMMAND3_LARGE_HOVER_HC);
     177         [ #  # ]:          0 :             InitializeIcon(Icon_Command3Medium, IMAGE_COMMAND3_SMALL_HC);
     178         [ #  # ]:          0 :             InitializeIcon(Icon_Command3MediumHover, IMAGE_COMMAND3_SMALL_HOVER_HC);
     179         [ #  # ]:          0 :             InitializeIcon(Icon_Command3Small, IMAGE_COMMAND3_SMALL_HC);
     180         [ #  # ]:          0 :             InitializeIcon(Icon_Command3SmallHover, IMAGE_COMMAND3_SMALL_HOVER_HC);
     181                 :            :         }
     182                 :            :         else
     183                 :            :         {
     184         [ +  - ]:        130 :             InitializeIcon(Icon_RawShadow, IMAGE_SHADOW);
     185         [ +  - ]:        130 :             InitializeIcon(Icon_RawInsertShadow, IMAGE_INSERT_SHADOW);
     186         [ +  - ]:        130 :             InitializeIcon(Icon_HideSlideOverlay, IMAGE_HIDE_SLIDE_OVERLAY);
     187                 :            : 
     188         [ +  - ]:        130 :             InitializeIcon(Icon_ButtonBarLarge, IMAGE_BUTTONBAR_LARGE);
     189         [ +  - ]:        130 :             InitializeIcon(Icon_ButtonBarMedium, IMAGE_BUTTONBAR_MEDIUM);
     190         [ +  - ]:        130 :             InitializeIcon(Icon_ButtonBarSmall, IMAGE_BUTTONBAR_SMALL);
     191                 :            : 
     192         [ +  - ]:        130 :             InitializeIcon(Icon_Command1Large, IMAGE_COMMAND1_LARGE);
     193         [ +  - ]:        130 :             InitializeIcon(Icon_Command1LargeHover, IMAGE_COMMAND1_LARGE_HOVER);
     194         [ +  - ]:        130 :             InitializeIcon(Icon_Command1Medium, IMAGE_COMMAND1_MEDIUM);
     195         [ +  - ]:        130 :             InitializeIcon(Icon_Command1MediumHover, IMAGE_COMMAND1_MEDIUM_HOVER);
     196         [ +  - ]:        130 :             InitializeIcon(Icon_Command1Small, IMAGE_COMMAND1_SMALL);
     197         [ +  - ]:        130 :             InitializeIcon(Icon_Command1SmallHover, IMAGE_COMMAND1_SMALL_HOVER);
     198                 :            : 
     199         [ +  - ]:        130 :             InitializeIcon(Icon_Command2Large, IMAGE_COMMAND2_LARGE);
     200         [ +  - ]:        130 :             InitializeIcon(Icon_Command2LargeHover, IMAGE_COMMAND2_LARGE_HOVER);
     201         [ +  - ]:        130 :             InitializeIcon(Icon_Command2Medium, IMAGE_COMMAND2_MEDIUM);
     202         [ +  - ]:        130 :             InitializeIcon(Icon_Command2MediumHover, IMAGE_COMMAND2_MEDIUM_HOVER);
     203         [ +  - ]:        130 :             InitializeIcon(Icon_Command2Small, IMAGE_COMMAND2_SMALL);
     204         [ +  - ]:        130 :             InitializeIcon(Icon_Command2SmallHover, IMAGE_COMMAND2_SMALL_HOVER);
     205                 :            : 
     206         [ +  - ]:        130 :             InitializeIcon(Icon_Command2BLarge, IMAGE_COMMAND2B_LARGE);
     207         [ +  - ]:        130 :             InitializeIcon(Icon_Command2BLargeHover, IMAGE_COMMAND2B_LARGE_HOVER);
     208         [ +  - ]:        130 :             InitializeIcon(Icon_Command2BMedium, IMAGE_COMMAND2B_MEDIUM);
     209         [ +  - ]:        130 :             InitializeIcon(Icon_Command2BMediumHover, IMAGE_COMMAND2B_MEDIUM_HOVER);
     210         [ +  - ]:        130 :             InitializeIcon(Icon_Command2BSmall, IMAGE_COMMAND2B_SMALL);
     211         [ +  - ]:        130 :             InitializeIcon(Icon_Command2BSmallHover, IMAGE_COMMAND2B_SMALL_HOVER);
     212                 :            : 
     213         [ +  - ]:        130 :             InitializeIcon(Icon_Command3Large, IMAGE_COMMAND3_LARGE);
     214         [ +  - ]:        130 :             InitializeIcon(Icon_Command3LargeHover, IMAGE_COMMAND3_LARGE_HOVER);
     215         [ +  - ]:        130 :             InitializeIcon(Icon_Command3Medium, IMAGE_COMMAND3_MEDIUM);
     216         [ +  - ]:        130 :             InitializeIcon(Icon_Command3MediumHover, IMAGE_COMMAND3_MEDIUM_HOVER);
     217         [ +  - ]:        130 :             InitializeIcon(Icon_Command3Small, IMAGE_COMMAND3_SMALL);
     218         [ +  - ]:        130 :             InitializeIcon(Icon_Command3SmallHover, IMAGE_COMMAND3_SMALL_HOVER);
     219                 :            :         }
     220 [ +  - ][ +  - ]:        130 :         InitializeIcon(Icon_FocusBorder, IMAGE_FOCUS_BORDER);
     221                 :            :     }
     222                 :        130 : }
     223                 :            : 
     224                 :            : 
     225                 :            : 
     226                 :            : 
     227                 :        774 : ::boost::shared_ptr<Font> Theme::GetFont (
     228                 :            :     const FontType eType,
     229                 :            :     const OutputDevice& rDevice)
     230                 :            : {
     231                 :        774 :     ::boost::shared_ptr<Font> pFont;
     232                 :            : 
     233      [ +  -  - ]:        774 :     switch (eType)
     234                 :            :     {
     235                 :            :         case Font_PageNumber:
     236 [ +  - ][ +  - ]:        774 :             pFont.reset(new Font(Application::GetSettings().GetStyleSettings().GetAppFont()));
         [ +  - ][ +  - ]
     237         [ +  - ]:        774 :             pFont->SetTransparent(sal_True);
     238         [ +  - ]:        774 :             pFont->SetWeight(WEIGHT_BOLD);
     239                 :        774 :             break;
     240                 :            : 
     241                 :            :         case Font_PageCount:
     242 [ #  # ][ #  # ]:          0 :             pFont.reset(new Font(Application::GetSettings().GetStyleSettings().GetAppFont()));
         [ #  # ][ #  # ]
     243         [ #  # ]:          0 :             pFont->SetTransparent(sal_True);
     244         [ #  # ]:          0 :             pFont->SetWeight(WEIGHT_NORMAL);
     245                 :            :             {
     246         [ #  # ]:          0 :                 const Size aSize (pFont->GetSize());
     247         [ #  # ]:          0 :                 pFont->SetSize(Size(aSize.Width()*5/3, aSize.Height()*5/3));
     248                 :            :             }
     249                 :          0 :             break;
     250                 :            :     }
     251                 :            : 
     252         [ +  - ]:        774 :     if (pFont)
     253                 :            :     {
     254                 :            :         // Transform the point size to pixel size.
     255         [ +  - ]:        774 :         const MapMode aFontMapMode (MAP_POINT);
     256 [ +  - ][ +  - ]:        774 :         const Size aFontSize (rDevice.LogicToPixel(pFont->GetSize(), aFontMapMode));
     257                 :            : 
     258                 :            :         // Transform the font size to the logical coordinates of the device.
     259 [ +  - ][ +  - ]:        774 :         pFont->SetSize(rDevice.PixelToLogic(aFontSize));
                 [ +  - ]
     260                 :            :     }
     261                 :            : 
     262                 :        774 :     return pFont;
     263                 :            : }
     264                 :            : 
     265                 :            : 
     266                 :            : 
     267                 :            : 
     268                 :       1761 : ColorData Theme::GetColor (const ColorType eType)
     269                 :            : {
     270 [ +  - ][ +  - ]:       1761 :     if (eType>=0 && sal_uInt32(eType)<maColor.size())
                 [ +  - ]
     271                 :       1761 :         return maColor[eType];
     272                 :            :     else
     273                 :       1761 :         return 0;
     274                 :            : }
     275                 :            : 
     276                 :            : 
     277                 :            : 
     278                 :            : 
     279                 :        588 : ColorData Theme::GetGradientColor (
     280                 :            :     const GradientColorType eType,
     281                 :            :     const GradientColorClass eClass)
     282                 :            : {
     283                 :        588 :     GradientDescriptor& rDescriptor (GetGradient(eType));
     284                 :            : 
     285   [ +  +  +  +  :        588 :     switch (eClass)
                      - ]
     286                 :            :     {
     287                 :        147 :         case Border1: return rDescriptor.maBorderColor1;
     288                 :        147 :         case Border2: return rDescriptor.maBorderColor2;
     289                 :        147 :         case Fill1: return rDescriptor.maFillColor1;
     290                 :        147 :         case Fill2: return rDescriptor.maFillColor2;
     291                 :            :         default: OSL_ASSERT(false); // fall through
     292                 :        588 :         case Base: return rDescriptor.maBaseColor;
     293                 :            :     }
     294                 :            : }
     295                 :            : 
     296                 :            : 
     297                 :            : 
     298                 :            : 
     299                 :        910 : void Theme::SetGradient (
     300                 :            :     const GradientColorType eType,
     301                 :            :     const ColorData aBaseColor,
     302                 :            :     const sal_Int32 nSaturationOverride,
     303                 :            :     const sal_Int32 nBrightnessOverride,
     304                 :            :     const sal_Int32 nFillStartOffset,
     305                 :            :     const sal_Int32 nFillEndOffset,
     306                 :            :     const sal_Int32 nBorderStartOffset,
     307                 :            :     const sal_Int32 nBorderEndOffset)
     308                 :            : {
     309                 :        910 :     GradientDescriptor& rGradient (GetGradient(eType));
     310                 :            : 
     311                 :        910 :     rGradient.maBaseColor = aBaseColor;
     312                 :            : 
     313                 :        910 :     rGradient.mnSaturationOverride = nSaturationOverride;
     314                 :        910 :     rGradient.mnBrightnessOverride = nBrightnessOverride;
     315                 :            :     const ColorData aColor (nSaturationOverride>=0 || nBrightnessOverride>=0
     316                 :            :         ? HGBAdapt(aBaseColor, nSaturationOverride, nBrightnessOverride)
     317 [ -  + ][ +  + ]:        910 :         : aBaseColor);
     318                 :            : 
     319                 :        910 :     rGradient.maFillColor1 = ChangeLuminance(aColor, nFillStartOffset);
     320                 :        910 :     rGradient.maFillColor2 = ChangeLuminance(aColor, nFillEndOffset);
     321                 :        910 :     rGradient.maBorderColor1 = ChangeLuminance(aColor, nBorderStartOffset);
     322                 :        910 :     rGradient.maBorderColor2 = ChangeLuminance(aColor, nBorderEndOffset);
     323                 :            : 
     324                 :        910 :     rGradient.mnFillOffset1 = nFillStartOffset;
     325                 :        910 :     rGradient.mnFillOffset2 = nFillEndOffset;
     326                 :        910 :     rGradient.mnBorderOffset1 = nBorderStartOffset;
     327                 :        910 :     rGradient.mnBorderOffset2 = nBorderEndOffset;
     328                 :        910 : }
     329                 :            : 
     330                 :            : 
     331                 :            : 
     332                 :            : 
     333                 :       3510 : const BitmapEx& Theme::GetIcon (const IconType eType)
     334                 :            : {
     335 [ +  - ][ +  - ]:       3510 :     if (eType>=0 && size_t(eType)<maIcons.size())
                 [ +  - ]
     336                 :       3510 :         return maIcons[eType];
     337                 :            :     else
     338                 :            :     {
     339                 :            :         OSL_ASSERT(eType>=0 && size_t(eType)<maIcons.size());
     340                 :       3510 :         return maIcons[0];
     341                 :            :     }
     342                 :            : }
     343                 :            : 
     344                 :            : 
     345                 :            : 
     346                 :            : 
     347                 :       2018 : Theme::GradientDescriptor& Theme::GetGradient (const GradientColorType eType)
     348                 :            : {
     349 [ +  - ][ +  - ]:       2018 :     if (eType>=0 && size_t(eType)<maGradients.size())
                 [ +  - ]
     350                 :       2018 :         return maGradients[eType];
     351                 :            :     else
     352                 :            :     {
     353                 :            :         OSL_ASSERT(eType>=0 && size_t(eType)<maGradients.size());
     354                 :       2018 :         return maGradients[0];
     355                 :            :     }
     356                 :            : }
     357                 :            : 
     358                 :            : 
     359                 :            : 
     360                 :            : 
     361                 :       4030 : void Theme::InitializeIcon (const IconType eType, sal_uInt16 nResourceId)
     362                 :            : {
     363 [ +  - ][ +  - ]:       4030 :     if (eType>=0 && size_t(eType)<maIcons.size())
                 [ +  - ]
     364                 :            :     {
     365 [ +  - ][ +  - ]:       4030 :         const BitmapEx aIcon (Image(SdResId(nResourceId)).GetBitmapEx());
         [ +  - ][ +  - ]
     366 [ +  - ][ +  - ]:       4030 :         maIcons[eType] = aIcon;
                 [ +  - ]
     367                 :            :     }
     368                 :            :     else
     369                 :            :     {
     370                 :            :         OSL_ASSERT(eType>=0 && size_t(eType)<maIcons.size());
     371                 :            :     }
     372                 :       4030 : }
     373                 :            : 
     374                 :            : 
     375                 :            : 
     376                 :            : 
     377                 :            : } } } // end of namespace ::sd::slidesorter::view
     378                 :            : 
     379                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10