LCOV - code coverage report
Current view: top level - cui/source/dialogs - cuigrfflt.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 0 282 0.0 %
Date: 2015-06-13 12:38:46 Functions: 0 50 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <vcl/builderfactory.hxx>
      21             : #include <vcl/msgbox.hxx>
      22             : #include <sfx2/viewfrm.hxx>
      23             : #include <sfx2/viewsh.hxx>
      24             : #include <sfx2/objsh.hxx>
      25             : #include <sfx2/request.hxx>
      26             : #include <dialmgr.hxx>
      27             : #include "cuigrfflt.hxx"
      28             : #include <cuires.hrc>
      29             : #include <svx/dialogs.hrc>
      30             : 
      31           0 : GraphicPreviewWindow::GraphicPreviewWindow(vcl::Window* pParent,
      32             :     const WinBits nStyle)
      33             :     : Control(pParent, nStyle)
      34             :     , mpOrigGraphic(NULL)
      35             :     , mfScaleX(0.0)
      36           0 :     , mfScaleY(0.0)
      37             : {
      38           0 : }
      39             : 
      40           0 : VCL_BUILDER_DECL_FACTORY(GraphicPreviewWindow)
      41             : {
      42           0 :     WinBits nWinBits = WB_TABSTOP;
      43             : 
      44           0 :     OString sBorder = VclBuilder::extractCustomProperty(rMap);
      45           0 :     if (!sBorder.isEmpty())
      46           0 :        nWinBits |= WB_BORDER;
      47             : 
      48           0 :     rRet = VclPtr<GraphicPreviewWindow>::Create(pParent, nWinBits);
      49           0 : }
      50             : 
      51           0 : Size GraphicPreviewWindow::GetOptimalSize() const
      52             : {
      53           0 :     return LogicToPixel(Size(81, 73), MAP_APPFONT);
      54             : }
      55             : 
      56           0 : void GraphicPreviewWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect)
      57             : {
      58           0 :     Control::Paint(rRenderContext, rRect);
      59             : 
      60           0 :     const Size  aOutputSize(rRenderContext.GetOutputSizePixel());
      61             : 
      62           0 :     if (maPreview.IsAnimated())
      63             :     {
      64           0 :         const Size aGraphicSize(rRenderContext.LogicToPixel(maPreview.GetPrefSize(), maPreview.GetPrefMapMode()));
      65           0 :         const Point aGraphicPosition((aOutputSize.Width()  - aGraphicSize.Width()  ) >> 1,
      66           0 :                                      (aOutputSize.Height() - aGraphicSize.Height() ) >> 1);
      67           0 :         maPreview.StartAnimation(&rRenderContext, aGraphicPosition, aGraphicSize);
      68             :     }
      69             :     else
      70             :     {
      71           0 :         const Size  aGraphicSize(maPreview.GetSizePixel());
      72           0 :         const Point aGraphicPosition((aOutputSize.Width()  - aGraphicSize.Width())  >> 1,
      73           0 :                                      (aOutputSize.Height() - aGraphicSize.Height()) >> 1);
      74           0 :         maPreview.Draw(&rRenderContext, aGraphicPosition, aGraphicSize);
      75             :     }
      76           0 : }
      77             : 
      78           0 : void GraphicPreviewWindow::SetPreview(const Graphic& rGraphic)
      79             : {
      80           0 :     maPreview = rGraphic;
      81           0 :     Invalidate();
      82           0 : }
      83             : 
      84           0 : void GraphicPreviewWindow::ScaleImageToFit()
      85             : {
      86           0 :     if (!mpOrigGraphic)
      87           0 :         return;
      88             : 
      89           0 :     maScaledOrig = *mpOrigGraphic;
      90             : 
      91           0 :     const Size  aPreviewSize( GetOutputSizePixel() );
      92           0 :     Size aSizePixel(LogicToPixel(mpOrigGraphic->GetPrefSize(),
      93           0 :         mpOrigGraphic->GetPrefMapMode()));
      94           0 :     Size aGrfSize(aSizePixel);
      95             : 
      96           0 :     if( mpOrigGraphic->GetType() == GRAPHIC_BITMAP &&
      97           0 :         aPreviewSize.Width() && aPreviewSize.Height() &&
      98           0 :         aGrfSize.Width() && aGrfSize.Height() )
      99             :     {
     100           0 :         const double fGrfWH = (double) aGrfSize.Width() / aGrfSize.Height();
     101           0 :         const double fPreWH = (double) aPreviewSize.Width() / aPreviewSize.Height();
     102             : 
     103           0 :         if( fGrfWH < fPreWH )
     104             :         {
     105           0 :             aGrfSize.Width()  = (long) ( aPreviewSize.Height() * fGrfWH );
     106           0 :             aGrfSize.Height() = aPreviewSize.Height();
     107             :         }
     108             :         else
     109             :         {
     110           0 :             aGrfSize.Width()  = aPreviewSize.Width();
     111           0 :             aGrfSize.Height() = (long) ( aPreviewSize.Width() / fGrfWH );
     112             :         }
     113             : 
     114           0 :         mfScaleX = (double) aGrfSize.Width() / aSizePixel.Width();
     115           0 :         mfScaleY = (double) aGrfSize.Height() / aSizePixel.Height();
     116             : 
     117           0 :         if( !mpOrigGraphic->IsAnimated() )
     118             :         {
     119           0 :             BitmapEx aBmpEx( mpOrigGraphic->GetBitmapEx() );
     120             : 
     121           0 :             if( aBmpEx.Scale( aGrfSize, BmpScaleFlag::Default ) )
     122           0 :                 maScaledOrig = aBmpEx;
     123             :         }
     124             :     }
     125             : 
     126           0 :     maModifyHdl.Call(this);
     127             : }
     128             : 
     129           0 : void GraphicPreviewWindow::Resize()
     130             : {
     131           0 :     Control::Resize();
     132           0 :     ScaleImageToFit();
     133           0 : }
     134             : 
     135           0 : GraphicFilterDialog::GraphicFilterDialog(vcl::Window* pParent,
     136             :     const OUString& rID, const OUString& rUIXMLDescription,
     137             :     const Graphic& rGraphic)
     138             :     : ModalDialog(pParent, rID, rUIXMLDescription)
     139             :     , maModifyHdl(LINK( this, GraphicFilterDialog, ImplModifyHdl))
     140             :     , maSizePixel(LogicToPixel(rGraphic.GetPrefSize(),
     141           0 :         rGraphic.GetPrefMapMode()))
     142             : {
     143           0 :     bIsBitmap = rGraphic.GetType() == GRAPHIC_BITMAP;
     144             : 
     145           0 :     maTimer.SetTimeoutHdl( LINK( this, GraphicFilterDialog, ImplPreviewTimeoutHdl ) );
     146           0 :     maTimer.SetTimeout( 5 );
     147             : 
     148           0 :     get(mpPreview, "preview");
     149           0 :     mpPreview->init(&rGraphic, maModifyHdl);
     150           0 : }
     151             : 
     152           0 : GraphicFilterDialog::~GraphicFilterDialog()
     153             : {
     154           0 :     disposeOnce();
     155           0 : }
     156             : 
     157           0 : void GraphicFilterDialog::dispose()
     158             : {
     159           0 :     mpPreview.clear();
     160           0 :     ModalDialog::dispose();
     161           0 : }
     162             : 
     163             : 
     164           0 : IMPL_LINK_NOARG_TYPED(GraphicFilterDialog, ImplPreviewTimeoutHdl, Timer *, void)
     165             : {
     166           0 :     maTimer.Stop();
     167           0 :     mpPreview->SetPreview(GetFilteredGraphic(mpPreview->GetScaledOriginal(),
     168           0 :         mpPreview->GetScaleX(), mpPreview->GetScaleY()));
     169           0 : }
     170             : 
     171             : 
     172             : 
     173           0 : IMPL_LINK_NOARG(GraphicFilterDialog, ImplModifyHdl)
     174             : {
     175           0 :     if (bIsBitmap)
     176             :     {
     177           0 :         maTimer.Stop();
     178           0 :         maTimer.Start();
     179             :     }
     180             : 
     181           0 :     return 0;
     182             : }
     183             : 
     184             : 
     185             : // - FilterMosaic -
     186             : 
     187             : 
     188           0 : GraphicFilterMosaic::GraphicFilterMosaic( vcl::Window* pParent, const Graphic& rGraphic,
     189             :                                           sal_uInt16 nTileWidth, sal_uInt16 nTileHeight, bool bEnhanceEdges )
     190             :     : GraphicFilterDialog(pParent, "MosaicDialog",
     191           0 :         "cui/ui/mosaicdialog.ui", rGraphic)
     192             : {
     193           0 :     get(mpMtrWidth, "width");
     194           0 :     get(mpMtrHeight, "height");
     195           0 :     get(mpCbxEdges, "edges");
     196             : 
     197           0 :     mpMtrWidth->SetValue( nTileWidth );
     198           0 :     mpMtrWidth->SetLast( GetGraphicSizePixel().Width() );
     199           0 :     mpMtrWidth->SetModifyHdl( GetModifyHdl() );
     200             : 
     201           0 :     mpMtrHeight->SetValue( nTileHeight );
     202           0 :     mpMtrHeight->SetLast( GetGraphicSizePixel().Height() );
     203           0 :     mpMtrHeight->SetModifyHdl( GetModifyHdl() );
     204             : 
     205           0 :     mpCbxEdges->Check( bEnhanceEdges );
     206           0 :     mpCbxEdges->SetToggleHdl( GetModifyHdl() );
     207             : 
     208           0 :     mpMtrWidth->GrabFocus();
     209           0 : }
     210             : 
     211           0 : GraphicFilterMosaic::~GraphicFilterMosaic()
     212             : {
     213           0 :     disposeOnce();
     214           0 : }
     215             : 
     216           0 : void GraphicFilterMosaic::dispose()
     217             : {
     218           0 :     mpMtrWidth.clear();
     219           0 :     mpMtrHeight.clear();
     220           0 :     mpCbxEdges.clear();
     221           0 :     GraphicFilterDialog::dispose();
     222           0 : }
     223             : 
     224           0 : Graphic GraphicFilterMosaic::GetFilteredGraphic( const Graphic& rGraphic,
     225             :                                                  double fScaleX, double fScaleY )
     226             : {
     227           0 :     Graphic         aRet;
     228           0 :     const Size      aSize( std::max( FRound( GetTileWidth() * fScaleX ), 1L ),
     229           0 :                            std::max( FRound( GetTileHeight() * fScaleY ), 1L ) );
     230           0 :     BmpFilterParam  aParam( aSize );
     231             : 
     232           0 :     if( rGraphic.IsAnimated() )
     233             :     {
     234           0 :         Animation aAnim( rGraphic.GetAnimation() );
     235             : 
     236           0 :         if( aAnim.Filter( BMP_FILTER_MOSAIC, &aParam ) )
     237             :         {
     238           0 :             if( IsEnhanceEdges() )
     239           0 :                 aAnim.Filter( BMP_FILTER_SHARPEN );
     240             : 
     241           0 :             aRet = aAnim;
     242           0 :         }
     243             :     }
     244             :     else
     245             :     {
     246           0 :         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
     247             : 
     248           0 :         if( aBmpEx.Filter( BMP_FILTER_MOSAIC, &aParam ) )
     249             :         {
     250           0 :             if( IsEnhanceEdges() )
     251           0 :                 (void)aBmpEx.Filter( BMP_FILTER_SHARPEN );
     252             : 
     253           0 :             aRet = aBmpEx;
     254           0 :         }
     255             :     }
     256             : 
     257           0 :     return aRet;
     258             : }
     259             : 
     260             : 
     261             : // - GraphicFilterSmooth -
     262             : 
     263             : 
     264           0 : GraphicFilterSmooth::GraphicFilterSmooth( vcl::Window* pParent, const Graphic& rGraphic, double nRadius)
     265             :     : GraphicFilterDialog(pParent, "SmoothDialog",
     266           0 :         "cui/ui/smoothdialog.ui", rGraphic)
     267             : {
     268           0 :     get(mpMtrRadius, "radius");
     269             : 
     270           0 :     mpMtrRadius->SetValue( nRadius* 10  );
     271           0 :     mpMtrRadius->SetModifyHdl( GetModifyHdl() );
     272           0 :     mpMtrRadius->GrabFocus();
     273           0 : }
     274             : 
     275           0 : GraphicFilterSmooth::~GraphicFilterSmooth()
     276             : {
     277           0 :     disposeOnce();
     278           0 : }
     279             : 
     280           0 : void GraphicFilterSmooth::dispose()
     281             : {
     282           0 :     mpMtrRadius.clear();
     283           0 :     GraphicFilterDialog::dispose();
     284           0 : }
     285             : 
     286             : 
     287           0 : Graphic GraphicFilterSmooth::GetFilteredGraphic( const Graphic& rGraphic, double /*fScaleX*/, double /*fScaleY*/ )
     288             : {
     289           0 :     Graphic         aRet;
     290           0 :     BmpFilterParam  aParam( GetRadius() );
     291             : 
     292           0 :     if( rGraphic.IsAnimated() )
     293             :     {
     294           0 :         Animation aAnim( rGraphic.GetAnimation() );
     295             : 
     296           0 :         if( aAnim.Filter( BMP_FILTER_SMOOTH, &aParam ) )
     297             :         {
     298           0 :             aRet = aAnim;
     299           0 :         }
     300             :     }
     301             :     else
     302             :     {
     303           0 :         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
     304             : 
     305           0 :         if( aBmpEx.Filter( BMP_FILTER_SMOOTH, &aParam ) )
     306             :         {
     307           0 :             aRet = aBmpEx;
     308           0 :         }
     309             :     }
     310             : 
     311           0 :     return aRet;
     312             : }
     313             : 
     314             : 
     315             : // - GraphicFilterSolarize -
     316             : 
     317             : 
     318           0 : GraphicFilterSolarize::GraphicFilterSolarize( vcl::Window* pParent, const Graphic& rGraphic,
     319             :                                               sal_uInt8 cGreyThreshold, bool bInvert )
     320             :     : GraphicFilterDialog(pParent, "SolarizeDialog",
     321           0 :         "cui/ui/solarizedialog.ui", rGraphic)
     322             : {
     323           0 :     get(mpMtrThreshold, "value");
     324           0 :     get(mpCbxInvert, "invert");
     325             : 
     326           0 :     mpMtrThreshold->SetValue( FRound( cGreyThreshold / 2.55 ) );
     327           0 :     mpMtrThreshold->SetModifyHdl( GetModifyHdl() );
     328             : 
     329           0 :     mpCbxInvert->Check( bInvert );
     330           0 :     mpCbxInvert->SetToggleHdl( GetModifyHdl() );
     331           0 : }
     332             : 
     333           0 : GraphicFilterSolarize::~GraphicFilterSolarize()
     334             : {
     335           0 :     disposeOnce();
     336           0 : }
     337             : 
     338           0 : void GraphicFilterSolarize::dispose()
     339             : {
     340           0 :     mpMtrThreshold.clear();
     341           0 :     mpCbxInvert.clear();
     342           0 :     GraphicFilterDialog::dispose();
     343           0 : }
     344             : 
     345             : 
     346           0 : Graphic GraphicFilterSolarize::GetFilteredGraphic( const Graphic& rGraphic,
     347             :                                                    double /*fScaleX*/, double /*fScaleY*/ )
     348             : {
     349           0 :     Graphic         aRet;
     350           0 :     BmpFilterParam  aParam( GetGreyThreshold() );
     351             : 
     352           0 :     if( rGraphic.IsAnimated() )
     353             :     {
     354           0 :         Animation aAnim( rGraphic.GetAnimation() );
     355             : 
     356           0 :         if( aAnim.Filter( BMP_FILTER_SOLARIZE, &aParam ) )
     357             :         {
     358           0 :             if( IsInvert() )
     359           0 :                 aAnim.Invert();
     360             : 
     361           0 :             aRet = aAnim;
     362           0 :         }
     363             :     }
     364             :     else
     365             :     {
     366           0 :         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
     367             : 
     368           0 :         if( aBmpEx.Filter( BMP_FILTER_SOLARIZE, &aParam ) )
     369             :         {
     370           0 :             if( IsInvert() )
     371           0 :                 aBmpEx.Invert();
     372             : 
     373           0 :             aRet = aBmpEx;
     374           0 :         }
     375             :     }
     376             : 
     377           0 :     return aRet;
     378             : }
     379             : 
     380             : 
     381             : // - GraphicFilterSepia -
     382             : 
     383             : 
     384           0 : GraphicFilterSepia::GraphicFilterSepia( vcl::Window* pParent, const Graphic& rGraphic,
     385             :                                         sal_uInt16 nSepiaPercent )
     386             :     : GraphicFilterDialog(pParent, "AgingDialog",
     387           0 :         "cui/ui/agingdialog.ui", rGraphic)
     388             : {
     389           0 :     get(mpMtrSepia, "value");
     390             : 
     391           0 :     mpMtrSepia->SetValue( nSepiaPercent );
     392           0 :     mpMtrSepia->SetModifyHdl( GetModifyHdl() );
     393           0 : }
     394             : 
     395           0 : GraphicFilterSepia::~GraphicFilterSepia()
     396             : {
     397           0 :     disposeOnce();
     398           0 : }
     399             : 
     400           0 : void GraphicFilterSepia::dispose()
     401             : {
     402           0 :     mpMtrSepia.clear();
     403           0 :     GraphicFilterDialog::dispose();
     404           0 : }
     405             : 
     406             : 
     407           0 : Graphic GraphicFilterSepia::GetFilteredGraphic( const Graphic& rGraphic,
     408             :                                                 double /*fScaleX*/, double /*fScaleY*/ )
     409             : {
     410           0 :     Graphic         aRet;
     411           0 :     BmpFilterParam  aParam( GetSepiaPercent() );
     412             : 
     413           0 :     if( rGraphic.IsAnimated() )
     414             :     {
     415           0 :         Animation aAnim( rGraphic.GetAnimation() );
     416             : 
     417           0 :         if( aAnim.Filter( BMP_FILTER_SEPIA, &aParam ) )
     418           0 :             aRet = aAnim;
     419             :     }
     420             :     else
     421             :     {
     422           0 :         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
     423             : 
     424           0 :         if( aBmpEx.Filter( BMP_FILTER_SEPIA, &aParam ) )
     425           0 :             aRet = aBmpEx;
     426             :     }
     427             : 
     428           0 :     return aRet;
     429             : }
     430             : 
     431             : 
     432             : // - GraphicFilterPoster -
     433             : 
     434             : 
     435           0 : GraphicFilterPoster::GraphicFilterPoster(vcl::Window* pParent, const Graphic& rGraphic,
     436             :                                           sal_uInt16 nPosterCount)
     437             :     : GraphicFilterDialog(pParent, "PosterDialog",
     438           0 :         "cui/ui/posterdialog.ui", rGraphic)
     439             : {
     440           0 :     get(mpNumPoster, "value");
     441             : 
     442           0 :     mpNumPoster->SetFirst( 2 );
     443           0 :     mpNumPoster->SetLast( rGraphic.GetBitmapEx().GetBitCount() );
     444           0 :     mpNumPoster->SetValue( nPosterCount );
     445           0 :     mpNumPoster->SetModifyHdl( GetModifyHdl() );
     446           0 : }
     447             : 
     448           0 : GraphicFilterPoster::~GraphicFilterPoster()
     449             : {
     450           0 :     disposeOnce();
     451           0 : }
     452             : 
     453           0 : void GraphicFilterPoster::dispose()
     454             : {
     455           0 :     mpNumPoster.clear();
     456           0 :     GraphicFilterDialog::dispose();
     457           0 : }
     458             : 
     459             : 
     460           0 : Graphic GraphicFilterPoster::GetFilteredGraphic( const Graphic& rGraphic,
     461             :                                                  double /*fScaleX*/, double /*fScaleY*/ )
     462             : {
     463           0 :     Graphic         aRet;
     464           0 :     const sal_uInt16    nPosterCount = GetPosterColorCount();
     465             : 
     466           0 :     if( rGraphic.IsAnimated() )
     467             :     {
     468           0 :         Animation aAnim( rGraphic.GetAnimation() );
     469             : 
     470           0 :         if( aAnim.ReduceColors( nPosterCount, BMP_REDUCE_POPULAR ) )
     471           0 :             aRet = aAnim;
     472             :     }
     473             :     else
     474             :     {
     475           0 :         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
     476             : 
     477           0 :         if( aBmpEx.ReduceColors( nPosterCount, BMP_REDUCE_POPULAR ) )
     478           0 :             aRet = aBmpEx;
     479             :     }
     480             : 
     481           0 :     return aRet;
     482             : }
     483             : 
     484             : 
     485             : // - GraphicFilterEmboss -
     486             : 
     487             : 
     488           0 : void EmbossControl::MouseButtonDown( const MouseEvent& rEvt )
     489             : {
     490           0 :     const RECT_POINT eOldRP = GetActualRP();
     491             : 
     492           0 :     SvxRectCtl::MouseButtonDown( rEvt );
     493             : 
     494           0 :     if( GetActualRP() != eOldRP )
     495           0 :         maModifyHdl.Call( this );
     496           0 : }
     497             : 
     498           0 : Size EmbossControl::GetOptimalSize() const
     499             : {
     500           0 :     return LogicToPixel(Size(77, 60), MAP_APPFONT);
     501             : }
     502             : 
     503           0 : VCL_BUILDER_FACTORY(EmbossControl)
     504             : 
     505           0 : GraphicFilterEmboss::GraphicFilterEmboss(vcl::Window* pParent,
     506             :     const Graphic& rGraphic, RECT_POINT eLightSource)
     507             :     : GraphicFilterDialog (pParent, "EmbossDialog",
     508           0 :         "cui/ui/embossdialog.ui", rGraphic)
     509             : {
     510           0 :     get(mpCtlLight, "lightsource");
     511           0 :     mpCtlLight->SetActualRP(eLightSource);
     512           0 :     mpCtlLight->SetModifyHdl( GetModifyHdl() );
     513           0 :     mpCtlLight->GrabFocus();
     514           0 : }
     515             : 
     516           0 : GraphicFilterEmboss::~GraphicFilterEmboss()
     517             : {
     518           0 :     disposeOnce();
     519           0 : }
     520             : 
     521           0 : void GraphicFilterEmboss::dispose()
     522             : {
     523           0 :     mpCtlLight.clear();
     524           0 :     GraphicFilterDialog::dispose();
     525           0 : }
     526             : 
     527             : 
     528           0 : Graphic GraphicFilterEmboss::GetFilteredGraphic( const Graphic& rGraphic,
     529             :                                                  double /*fScaleX*/, double /*fScaleY*/ )
     530             : {
     531           0 :     Graphic aRet;
     532             :     sal_uInt16  nAzim, nElev;
     533             : 
     534           0 :     switch( mpCtlLight->GetActualRP() )
     535             :     {
     536             :         default:       OSL_FAIL("svx::GraphicFilterEmboss::GetFilteredGraphic(), unknown Reference Point!" );
     537             :                        /* Fall through */
     538           0 :         case( RP_LT ): nAzim = 4500,    nElev = 4500; break;
     539           0 :         case( RP_MT ): nAzim = 9000,    nElev = 4500; break;
     540           0 :         case( RP_RT ): nAzim = 13500,   nElev = 4500; break;
     541           0 :         case( RP_LM ): nAzim = 0,       nElev = 4500; break;
     542           0 :         case( RP_MM ): nAzim = 0,       nElev = 9000; break;
     543           0 :         case( RP_RM ): nAzim = 18000,   nElev = 4500; break;
     544           0 :         case( RP_LB ): nAzim = 31500,   nElev = 4500; break;
     545           0 :         case( RP_MB ): nAzim = 27000,   nElev = 4500; break;
     546           0 :         case( RP_RB ): nAzim = 22500,   nElev = 4500; break;
     547             :     }
     548             : 
     549           0 :     BmpFilterParam aParam( nAzim, nElev );
     550             : 
     551           0 :     if( rGraphic.IsAnimated() )
     552             :     {
     553           0 :         Animation aAnim( rGraphic.GetAnimation() );
     554             : 
     555           0 :         if( aAnim.Filter( BMP_FILTER_EMBOSS_GREY, &aParam ) )
     556           0 :             aRet = aAnim;
     557             :     }
     558             :     else
     559             :     {
     560           0 :         BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
     561             : 
     562           0 :         if( aBmpEx.Filter( BMP_FILTER_EMBOSS_GREY, &aParam ) )
     563           0 :             aRet = aBmpEx;
     564             :     }
     565             : 
     566           0 :     return aRet;
     567           0 : }
     568             : 
     569             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11