diff options
author | Kai Ahrens <ka@openoffice.org> | 2000-11-16 15:29:58 +0000 |
---|---|---|
committer | Kai Ahrens <ka@openoffice.org> | 2000-11-16 15:29:58 +0000 |
commit | bbe2cd64b7125152b10cc41468537fd904bd2f0f (patch) | |
tree | 968e474425a899e4c8d7e131adc757286d413b09 | |
parent | 3bcaa435b25be534e57d841e29cf50d7c240345f (diff) |
initial rev.
-rw-r--r-- | svx/source/dialog/grfflt.cxx | 778 | ||||
-rw-r--r-- | svx/source/dialog/grfflt.hrc | 115 | ||||
-rw-r--r-- | svx/source/dialog/grfflt.src | 949 |
3 files changed, 1842 insertions, 0 deletions
diff --git a/svx/source/dialog/grfflt.cxx b/svx/source/dialog/grfflt.cxx new file mode 100644 index 000000000000..666de4e81f87 --- /dev/null +++ b/svx/source/dialog/grfflt.cxx @@ -0,0 +1,778 @@ +/************************************************************************* + * + * $RCSfile: grfflt.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: ka $ $Date: 2000-11-16 16:29:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SHL_HXX +#include <tools/shl.hxx> +#endif +#ifndef _SV_MSGBOX_HXX +#include <vcl/msgbox.hxx> +#endif +#ifndef _SFXVIEWFRM_HXX +#include <sfx2/viewfrm.hxx> +#endif +#ifndef _SFXVIEWSH_HXX +#include <sfx2/viewsh.hxx> +#endif +#ifndef _SFXOBJSH_HXX +#include <sfx2/objsh.hxx> +#endif +#ifndef _SFXREQUEST_HXX +#include <sfx2/request.hxx> +#endif + +#include "dialmgr.hxx" +#include "grfflt.hxx" +#include "grfflt.hrc" +#include "dialogs.hrc" + +// -------------------- +// - SvxGraphicFilter - +// -------------------- + +ULONG SvxGraphicFilter::ExecuteGrfFilterSlot( SfxRequest& rReq, GraphicObject& rFilterObject ) +{ + const Graphic& rGraphic = rFilterObject.GetGraphic(); + ULONG nRet; + + if( rGraphic.GetType() == GRAPHIC_BITMAP ) + { + SfxViewFrame* pViewFrame = SfxViewFrame::Current(); + SfxObjectShell* pShell = pViewFrame ? pViewFrame->GetObjectShell() : NULL; + Window* pWindow = ( pViewFrame && pViewFrame->GetViewShell() ) ? pViewFrame->GetViewShell()->GetWindow() : NULL; + Graphic aGraphic; + + switch( rReq.GetSlot() ) + { + case( SID_GRFFILTER_INVERT ): + { + if( pShell ) + pShell->SetWaitCursor( TRUE ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnimation( rGraphic.GetAnimation() ); + + if( aAnimation.Invert() ) + aGraphic = aAnimation; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Invert() ) + aGraphic = aBmpEx; + } + + if( pShell ) + pShell->SetWaitCursor( FALSE ); + } + break; + + case( SID_GRFFILTER_SMOOTH ): + { + if( pShell ) + pShell->SetWaitCursor( TRUE ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnimation( rGraphic.GetAnimation() ); + + if( aAnimation.Filter( BMP_FILTER_SMOOTH ) ) + aGraphic = aAnimation; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_SMOOTH ) ) + aGraphic = aBmpEx; + } + + if( pShell ) + pShell->SetWaitCursor( FALSE ); + } + break; + + case( SID_GRFFILTER_SHARPEN ): + { + if( pShell ) + pShell->SetWaitCursor( TRUE ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnimation( rGraphic.GetAnimation() ); + + if( aAnimation.Filter( BMP_FILTER_SHARPEN ) ) + aGraphic = aAnimation; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_SHARPEN ) ) + aGraphic = aBmpEx; + } + + if( pShell ) + pShell->SetWaitCursor( FALSE ); + } + break; + + case( SID_GRFFILTER_REMOVENOISE ): + { + if( pShell ) + pShell->SetWaitCursor( TRUE ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnimation( rGraphic.GetAnimation() ); + + if( aAnimation.Filter( BMP_FILTER_REMOVENOISE ) ) + aGraphic = aAnimation; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_REMOVENOISE ) ) + aGraphic = aBmpEx; + } + + if( pShell ) + pShell->SetWaitCursor( FALSE ); + } + break; + + case( SID_GRFFILTER_SOBEL ): + { + if( pShell ) + pShell->SetWaitCursor( TRUE ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnimation( rGraphic.GetAnimation() ); + + if( aAnimation.Filter( BMP_FILTER_SOBEL_GREY ) ) + aGraphic = aAnimation; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_SOBEL_GREY ) ) + aGraphic = aBmpEx; + } + + if( pShell ) + pShell->SetWaitCursor( FALSE ); + } + break; + + case( SID_GRFFILTER_MOSAIC ): + { + GraphicFilterMosaic aDlg( pWindow, rGraphic, 4, 4, FALSE ); + + if( aDlg.Execute() == RET_OK ) + aGraphic = aDlg.GetFilteredGraphic( rGraphic, 1.0, 1.0 ); + } + break; + + case( SID_GRFFILTER_EMBOSS ): + { + GraphicFilterEmboss aDlg( pWindow, rGraphic, RP_MM ); + + if( aDlg.Execute() == RET_OK ) + aGraphic = aDlg.GetFilteredGraphic( rGraphic, 1.0, 1.0 ); + } + break; + + case( SID_GRFFILTER_POSTER ): + { + GraphicFilterPoster aDlg( pWindow, rGraphic, 16 ); + + if( aDlg.Execute() == RET_OK ) + aGraphic = aDlg.GetFilteredGraphic( rGraphic, 1.0, 1.0 ); + } + break; + + case( SID_GRFFILTER_POPART ): + { + DBG_ERROR( "SvxGraphicFilter: PopArt filter not yet implemented" ); + nRet = SVX_GRAPHICFILTER_UNSUPPORTED_SLOT; + } + break; + + case( SID_GRFFILTER_SEPIA ): + { + GraphicFilterSepia aDlg( pWindow, rGraphic, 10 ); + + if( aDlg.Execute() == RET_OK ) + aGraphic = aDlg.GetFilteredGraphic( rGraphic, 1.0, 1.0 ); + } + break; + + case( SID_GRFFILTER_SOLARIZE ): + { + GraphicFilterSolarize aDlg( pWindow, rGraphic, 128, FALSE ); + + if( aDlg.Execute() == RET_OK ) + aGraphic = aDlg.GetFilteredGraphic( rGraphic, 1.0, 1.0 ); + } + break; + + default: + { + DBG_ERROR( "SvxGraphicFilter: selected filter slot not yet implemented" ); + nRet = SVX_GRAPHICFILTER_UNSUPPORTED_SLOT; + } + break; + } + + if( aGraphic.GetType() != GRAPHIC_NONE ) + { + rFilterObject.SetGraphic( aGraphic ); + nRet = SVX_GRAPHICFILTER_ERRCODE_NONE; + } + } + else + nRet = SVX_GRAPHICFILTER_UNSUPPORTED_GRAPHICTYPE; + + return nRet; +} + +// ----------------------------------------------------------------------------- + +void SvxGraphicFilter::DisableGraphicFilterSlots( SfxItemSet& rSet ) +{ + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_INVERT ) ) + rSet.DisableItem( SID_GRFFILTER_INVERT ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_SMOOTH ) ) + rSet.DisableItem( SID_GRFFILTER_SMOOTH ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_SHARPEN ) ) + rSet.DisableItem( SID_GRFFILTER_SHARPEN ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_REMOVENOISE ) ) + rSet.DisableItem( SID_GRFFILTER_REMOVENOISE ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_SOBEL ) ) + rSet.DisableItem( SID_GRFFILTER_SOBEL ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_MOSAIC ) ) + rSet.DisableItem( SID_GRFFILTER_MOSAIC ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_EMBOSS ) ) + rSet.DisableItem( SID_GRFFILTER_EMBOSS ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_POSTER ) ) + rSet.DisableItem( SID_GRFFILTER_POSTER ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_POPART ) ) + rSet.DisableItem( SID_GRFFILTER_POPART ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_SEPIA ) ) + rSet.DisableItem( SID_GRFFILTER_SEPIA ); + + if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( SID_GRFFILTER_SOLARIZE ) ) + rSet.DisableItem( SID_GRFFILTER_SOLARIZE ); +}; + +// -------------------------------------- +// - GraphicFilterDialog::PreviewWindow - +// -------------------------------------- + +GraphicFilterDialog::PreviewWindow::PreviewWindow( Window* pParent, const ResId& rResId ) : + Control( pParent, rResId ) +{ +} + +// ----------------------------------------------------------------------------- + +GraphicFilterDialog::PreviewWindow::~PreviewWindow() +{ +} + +// ----------------------------------------------------------------------------- + +void GraphicFilterDialog::PreviewWindow::Paint( const Rectangle& rRect ) +{ + Control::Paint( rRect ); + + const Size aGrfSize( LogicToPixel( maGraphic.GetPrefSize(), maGraphic.GetPrefMapMode() ) ); + const Size aOutSize( GetOutputSizePixel() ); + const Point aGrfPos( ( aOutSize.Width() - aGrfSize.Width() ) >> 1, + ( aOutSize.Height() - aGrfSize.Height() ) >> 1 ); + + if( maGraphic.IsAnimated() ) + maGraphic.StartAnimation( this , aGrfPos, aGrfSize ); + else + maGraphic.Draw( this, aGrfPos, aGrfSize ); +} + +// ----------------------------------------------------------------------------- + +void GraphicFilterDialog::PreviewWindow::SetGraphic( const Graphic& rGraphic ) +{ + maGraphic = rGraphic; + + if( maGraphic.IsAnimated() || maGraphic.IsTransparent() ) + Invalidate(); + else + Paint( Rectangle( Point(), GetOutputSizePixel() ) ); +} + +// ----------------------- +// - GraphicFilterDialog - +// ----------------------- + +GraphicFilterDialog::GraphicFilterDialog( Window* pParent, const ResId& rResId, const Graphic& rGraphic ) : + ModalDialog ( pParent, rResId ), + mfScaleX ( 0.0 ), + mfScaleY ( 0.0 ), + maSizePixel ( LogicToPixel( rGraphic.GetPrefSize(), rGraphic.GetPrefMapMode() ) ), + maModifyHdl ( LINK( this, GraphicFilterDialog, ImplModifyHdl ) ), + maGrpPreview ( this, SVX_RES( GRP_PREVIEW ) ), + maPreview ( this, SVX_RES( CTL_PREVIEW ) ), + maGrpParameter ( this, SVX_RES( GRP_PARAMETER ) ), + maBtnOK ( this, SVX_RES( BTN_OK ) ), + maBtnCancel ( this, SVX_RES( BTN_CANCEL ) ), + maBtnHelp ( this, SVX_RES( BTN_HELP ) ) +{ + const Size aPreviewSize( maPreview.GetOutputSizePixel() ); + Size aGrfSize( maSizePixel ); + + if( rGraphic.GetType() == GRAPHIC_BITMAP && + aPreviewSize.Width() && aPreviewSize.Height() && + aGrfSize.Width() && aGrfSize.Height() ) + { + const double fGrfWH = (double) aGrfSize.Width() / aGrfSize.Height(); + const double fPreWH = (double) aPreviewSize.Width() / aPreviewSize.Height(); + + if( fGrfWH < fPreWH ) + { + aGrfSize.Width() = (long) ( aPreviewSize.Height() * fGrfWH ); + aGrfSize.Height()= aPreviewSize.Height(); + } + else + { + aGrfSize.Width() = aPreviewSize.Width(); + aGrfSize.Height()= (long) ( aPreviewSize.Width() / fGrfWH); + } + + mfScaleX = (double) aGrfSize.Width() / maSizePixel.Width(); + mfScaleY = (double) aGrfSize.Height() / maSizePixel.Height(); + + if( !rGraphic.IsAnimated() ) + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Scale( aGrfSize, BMP_SCALE_INTERPOLATE ) ) + maGraphic = aBmpEx; + } + } + + maTimer.SetTimeoutHdl( LINK( this, GraphicFilterDialog, ImplPreviewTimeoutHdl ) ); + maTimer.SetTimeout( 100 ); + ImplModifyHdl( NULL ); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterDialog::~GraphicFilterDialog() +{ +} + +// ----------------------------------------------------------------------------- + +IMPL_LINK( GraphicFilterDialog, ImplPreviewTimeoutHdl, Timer*, pTimer ) +{ + maTimer.Stop(); + maPreview.SetGraphic( GetFilteredGraphic( maGraphic, mfScaleX, mfScaleY ) ); + + return 0; +} + +// ----------------------------------------------------------------------------- + +IMPL_LINK( GraphicFilterDialog, ImplModifyHdl, void*, p ) +{ + if( maGraphic.GetType() == GRAPHIC_BITMAP ) + { + maTimer.Stop(); + maTimer.Start(); + } + + return 0; +} + +// ---------------- +// - FilterMosaic - +// ---------------- + +GraphicFilterMosaic::GraphicFilterMosaic( Window* pParent, const Graphic& rGraphic, + USHORT nTileWidth, USHORT nTileHeight, BOOL bEnhanceEdges ) : + GraphicFilterDialog( pParent, SVX_RES( RID_SVX_GRFFILTER_DLG_MOSAIC ), rGraphic ), + maFtWidth ( this, SVX_RES( DLG_FILTERMOSAIC_FT_WIDTH ) ), + maMtrWidth ( this, SVX_RES( DLG_FILTERMOSAIC_MTR_WIDTH ) ), + maFtHeight ( this, SVX_RES( DLG_FILTERMOSAIC_FT_HEIGHT ) ), + maMtrHeight ( this, SVX_RES( DLG_FILTERMOSAIC_MTR_HEIGHT ) ), + maCbxEdges ( this, SVX_RES( DLG_FILTERMOSAIC_CBX_EDGES ) ) +{ + FreeResource(); + + maMtrWidth.SetValue( nTileWidth ); + maMtrWidth.SetLast( GetGraphicSizePixel().Width() ); + maMtrWidth.SetModifyHdl( GetModifyHdl() ); + + maMtrHeight.SetValue( nTileHeight ); + maMtrHeight.SetLast( GetGraphicSizePixel().Height() ); + maMtrHeight.SetModifyHdl( GetModifyHdl() ); + + maCbxEdges.Check( bEnhanceEdges ); + maCbxEdges.SetToggleHdl( GetModifyHdl() ); + + maMtrWidth.GrabFocus(); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterMosaic::~GraphicFilterMosaic() +{ +} + +// ----------------------------------------------------------------------------- + +Graphic GraphicFilterMosaic::GetFilteredGraphic( const Graphic& rGraphic, + double fScaleX, double fScaleY ) +{ + Graphic aRet; + const Size aSize( Max( FRound( GetTileWidth() * fScaleX ), 1L ), + Max( FRound( GetTileHeight() * fScaleY ), 1L ) ); + BmpFilterParam aParam( aSize ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnim( rGraphic.GetAnimation() ); + + if( aAnim.Filter( BMP_FILTER_MOSAIC, &aParam ) ) + { + if( IsEnhanceEdges() ) + aAnim.Filter( BMP_FILTER_SHARPEN ); + + aRet = aAnim; + } + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_MOSAIC, &aParam ) ) + { + if( IsEnhanceEdges() ) + aBmpEx.Filter( BMP_FILTER_SHARPEN ); + + aRet = aBmpEx; + } + } + + return aRet; +} + +// ------------------ +// - GraphicFilterSolarize - +// ------------------ + +GraphicFilterSolarize::GraphicFilterSolarize( Window* pParent, const Graphic& rGraphic, + BYTE cGreyThreshold, BOOL bInvert ) : + GraphicFilterDialog ( pParent, SVX_RES( RID_SVX_GRFFILTER_DLG_SOLARIZE ), rGraphic ), + maFtThreshold ( this, SVX_RES( DLG_FILTERSOLARIZE_FT_THRESHOLD ) ), + maMtrThreshold ( this, SVX_RES( DLG_FILTERSOLARIZE_MTR_THRESHOLD ) ), + maCbxInvert ( this, SVX_RES( DLG_FILTERSOLARIZE_CBX_INVERT ) ) +{ + FreeResource(); + + maMtrThreshold.SetValue( FRound( cGreyThreshold / 2.55 ) ); + maMtrThreshold.SetModifyHdl( GetModifyHdl() ); + + maCbxInvert.Check( bInvert ); + maCbxInvert.SetToggleHdl( GetModifyHdl() ); + + maMtrThreshold.GrabFocus(); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterSolarize::~GraphicFilterSolarize() +{ +} + +// ----------------------------------------------------------------------------- + +Graphic GraphicFilterSolarize::GetFilteredGraphic( const Graphic& rGraphic, + double fScaleX, double fScaleY ) +{ + Graphic aRet; + BmpFilterParam aParam( GetGreyThreshold() ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnim( rGraphic.GetAnimation() ); + + if( aAnim.Filter( BMP_FILTER_SOLARIZE, &aParam ) ) + { + if( IsInvert() ) + aAnim.Invert(); + + aRet = aAnim; + } + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_SOLARIZE, &aParam ) ) + { + if( IsInvert() ) + aBmpEx.Invert(); + + aRet = aBmpEx; + } + } + + return aRet; +} + +// ---------------------- +// - GraphicFilterSepia - +// ---------------------- + +GraphicFilterSepia::GraphicFilterSepia( Window* pParent, const Graphic& rGraphic, + USHORT nSepiaPercent ) : + GraphicFilterDialog ( pParent, SVX_RES( RID_SVX_GRFFILTER_DLG_SEPIA ), rGraphic ), + maFtSepia ( this, SVX_RES( DLG_FILTERSEPIA_FT_SEPIA ) ), + maMtrSepia ( this, SVX_RES( DLG_FILTERSEPIA_MTR_SEPIA ) ) +{ + FreeResource(); + + maMtrSepia.SetValue( nSepiaPercent ); + maMtrSepia.SetModifyHdl( GetModifyHdl() ); + + maMtrSepia.GrabFocus(); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterSepia::~GraphicFilterSepia() +{ +} + +// ----------------------------------------------------------------------------- + +Graphic GraphicFilterSepia::GetFilteredGraphic( const Graphic& rGraphic, + double fScaleX, double fScaleY ) +{ + Graphic aRet; + BmpFilterParam aParam( GetSepiaPercent() ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnim( rGraphic.GetAnimation() ); + + if( aAnim.Filter( BMP_FILTER_SEPIA, &aParam ) ) + aRet = aAnim; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_SEPIA, &aParam ) ) + aRet = aBmpEx; + } + + return aRet; +} + +// ----------------------- +// - GraphicFilterPoster - +// ----------------------- + +GraphicFilterPoster::GraphicFilterPoster( Window* pParent, const Graphic& rGraphic, + USHORT nPosterCount ) : + GraphicFilterDialog ( pParent, SVX_RES( RID_SVX_GRFFILTER_DLG_POSTER ), rGraphic ), + maFtPoster ( this, SVX_RES( DLG_FILTERPOSTER_FT_POSTER ) ), + maNumPoster ( this, SVX_RES( DLG_FILTERPOSTER_NUM_POSTER ) ) +{ + FreeResource(); + + maNumPoster.SetFirst( 2 ); + maNumPoster.SetLast( rGraphic.GetBitmapEx().GetBitCount() ); + maNumPoster.SetValue( nPosterCount ); + maNumPoster.SetModifyHdl( GetModifyHdl() ); + maNumPoster.GrabFocus(); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterPoster::~GraphicFilterPoster() +{ +} + +// ----------------------------------------------------------------------------- + +Graphic GraphicFilterPoster::GetFilteredGraphic( const Graphic& rGraphic, + double fScaleX, double fScaleY ) +{ + Graphic aRet; + const USHORT nPosterCount = GetPosterColorCount(); + + if( rGraphic.IsAnimated() ) + { + Animation aAnim( rGraphic.GetAnimation() ); + + if( aAnim.ReduceColors( nPosterCount, BMP_REDUCE_POPULAR ) ) + aRet = aAnim; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.ReduceColors( nPosterCount, BMP_REDUCE_POPULAR ) ) + aRet = aBmpEx; + } + + return aRet; +} + +// ----------------------- +// - GraphicFilterEmboss - +// ----------------------- + +void GraphicFilterEmboss::EmbossControl::MouseButtonDown( const MouseEvent& rEvt ) +{ + const RECT_POINT eOldRP = GetActualRP(); + + SvxRectCtl::MouseButtonDown( rEvt ); + + if( GetActualRP() != eOldRP ) + maModifyHdl.Call( this ); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterEmboss::GraphicFilterEmboss( Window* pParent, const Graphic& rGraphic, + RECT_POINT eLightSource ) : + GraphicFilterDialog ( pParent, SVX_RES( RID_SVX_GRFFILTER_DLG_EMBOSS ), rGraphic ), + maFtLight ( this, SVX_RES( DLG_FILTEREMBOSS_FT_LIGHT ) ), + maCtlLight ( this, SVX_RES( DLG_FILTEREMBOSS_CTL_LIGHT ), eLightSource ) +{ + FreeResource(); + + maCtlLight.SetModifyHdl( GetModifyHdl() ); + maCtlLight.GrabFocus(); +} + +// ----------------------------------------------------------------------------- + +GraphicFilterEmboss::~GraphicFilterEmboss() +{ +} + +// ----------------------------------------------------------------------------- + +Graphic GraphicFilterEmboss::GetFilteredGraphic( const Graphic& rGraphic, + double fScaleX, double fScaleY ) +{ + Graphic aRet; + USHORT nAzim, nElev; + + switch( maCtlLight.GetActualRP() ) + { + case( RP_LT ): nAzim = 4500, nElev = 4500; break; + case( RP_MT ): nAzim = 9000, nElev = 4500; break; + case( RP_RT ): nAzim = 13500, nElev = 4500; break; + case( RP_LM ): nAzim = 0, nElev = 4500; break; + case( RP_MM ): nAzim = 0, nElev = 9000; break; + case( RP_RM ): nAzim = 18000, nElev = 4500; break; + case( RP_LB ): nAzim = 31500, nElev = 4500; break; + case( RP_MB ): nAzim = 27000, nElev = 4500; break; + case( RP_RB ): nAzim = 22500, nElev = 4500; break; + } + + BmpFilterParam aParam( nAzim, nElev ); + + if( rGraphic.IsAnimated() ) + { + Animation aAnim( rGraphic.GetAnimation() ); + + if( aAnim.Filter( BMP_FILTER_EMBOSS_GREY, &aParam ) ) + aRet = aAnim; + } + else + { + BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); + + if( aBmpEx.Filter( BMP_FILTER_EMBOSS_GREY, &aParam ) ) + aRet = aBmpEx; + } + + return aRet; +} diff --git a/svx/source/dialog/grfflt.hrc b/svx/source/dialog/grfflt.hrc new file mode 100644 index 000000000000..35a74477d04c --- /dev/null +++ b/svx/source/dialog/grfflt.hrc @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: grfflt.hrc,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: ka $ $Date: 2000-11-16 16:29:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SVX_DLGFLT_HRC +#define _SVX_DLGFLT_HRC + +// ---------- +// - Common - +// ---------- + +#define BTN_OK 101 +#define BTN_CANCEL 102 +#define BTN_HELP 103 +#define GRP_PREVIEW 104 +#define CTL_PREVIEW 105 +#define GRP_PARAMETER 106 + +// -------------------- +// - DLG_FILTERMOSAIC - +// -------------------- + +#define DLG_FILTERMOSAIC_FT_WIDTH 1 +#define DLG_FILTERMOSAIC_MTR_WIDTH 2 +#define DLG_FILTERMOSAIC_FT_HEIGHT 3 +#define DLG_FILTERMOSAIC_MTR_HEIGHT 4 +#define DLG_FILTERMOSAIC_CBX_EDGES 5 + +// ---------------------- +// - DLG_FILTERSOLARIZE - +// ---------------------- + +#define DLG_FILTERSOLARIZE_FT_THRESHOLD 1 +#define DLG_FILTERSOLARIZE_MTR_THRESHOLD 2 +#define DLG_FILTERSOLARIZE_CBX_INVERT 3 + +// ------------------- +// - DLG_FILTERSEPIA - +// ------------------- + +#define DLG_FILTERSEPIA_FT_SEPIA 1 +#define DLG_FILTERSEPIA_MTR_SEPIA 2 + +// -------------------- +// - DLG_FILTERPOSTER - +// -------------------- + +#define DLG_FILTERPOSTER_FT_POSTER 1 +#define DLG_FILTERPOSTER_NUM_POSTER 2 + +// -------------------- +// - DLG_FILTEREMBOSS - +// -------------------- + +#define DLG_FILTEREMBOSS_FT_LIGHT 1 +#define DLG_FILTEREMBOSS_CTL_LIGHT 2 + +#endif diff --git a/svx/source/dialog/grfflt.src b/svx/source/dialog/grfflt.src new file mode 100644 index 000000000000..e4ba9cc03a49 --- /dev/null +++ b/svx/source/dialog/grfflt.src @@ -0,0 +1,949 @@ +/************************************************************************* + * + * $RCSfile: grfflt.src,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: ka $ $Date: 2000-11-16 16:29:58 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "dialogs.hrc" +#include "grfflt.hrc" + +// -------------------- +// - DLG_FILTERMOSAIC - +// -------------------- + +ModalDialog RID_SVX_GRFFILTER_DLG_MOSAIC +{ + HelpID = SID_GRFFILTER_MOSAIC; + OutputSize = TRUE ; + Moveable = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT ( 250, 100 ) ; + + Text = "Mosaik" ; + Text[ ENGLISH ] = "Mosaic" ; + Text[ norwegian ] = "Mosaic" ; + Text[ italian ] = "Mosaico" ; + Text[ portuguese_brazilian ] = "Mosaico" ; + Text[ portuguese ] = "Mosaico" ; + Text[ finnish ] = "Mosaiikki" ; + Text[ danish ] = "Mosaik" ; + Text[ french ] = "Mosaque" ; + Text[ swedish ] = "Mosaik" ; + Text[ dutch ] = "Mozaek" ; + Text[ spanish ] = "Mosaico" ; + Text[ english_us ] = "Mosaic" ; + Text[ chinese_simplified ] = "Ƕ"; + Text[ russian ] = ""; + Text[ polish ] = "Mozaika"; + Text[ japanese ] = "ӻ"; + Text[ chinese_simplified ] = "Ƕ"; + Text[ russian ] = ""; + Text[ polish ] = "Mozaika"; + Text[ japanese ] = "ӻ"; + Text[ chinese_traditional ] = "^O"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = "ũ"; + Text[ turkish ] = "Mozaik"; + Text[ language_user1 ] = " "; + + GroupBox GRP_PREVIEW + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 93, 91 ) ; + + Text = "Vorschau" ; + Text[ ENGLISH ] = "Preview" ; + Text[ english_us ] = "Preview" ; + Text[ portuguese ] = "Preview"; + Text[ russian ] = ". "; + Text[ greek ] = ""; + Text[ dutch ] = "Voorbeeld"; + Text[ french ] = "Aperu"; + Text[ spanish ] = "Previsualizacin"; + Text[ italian ] = "Preview"; + Text[ danish ] = "Eksempel"; + Text[ swedish ] = "Frhandsvisning"; + Text[ polish ] = "Podgld"; + Text[ portuguese_brazilian ] = "Preview"; + Text[ japanese ] = "ޭ"; + Text[ korean ] = "Preview"; + Text[ chinese_simplified ] = "Ԥ"; + Text[ chinese_traditional ] = "w"; + Text[ turkish ] = "Preview"; + Text[ arabic ] = ""; + }; + Control CTL_PREVIEW + { + Pos = MAP_APPFONT ( 12 , 15 ) ; + Size = MAP_APPFONT ( 81, 73 ) ; + }; + GroupBox GRP_PARAMETER + { + Pos = MAP_APPFONT ( 102, 3 ); + Size = MAP_APPFONT ( 89, 91 ); + Text = "Parameter"; + Text[ ENGLISH ] = "Parameter"; + Text[ english_us ] = "Parameters"; + Text[ portuguese ] = "Parmetros"; + Text[ russian ] = ""; + Text[ greek ] = ""; + Text[ dutch ] = "Parameter"; + Text[ french ] = "Paramtres"; + Text[ spanish ] = "Parmetros"; + Text[ italian ] = "Parameter"; + Text[ danish ] = "Parametre"; + Text[ swedish ] = "Parametrar"; + Text[ polish ] = "Parametry"; + Text[ portuguese_brazilian ] = "Parameter"; + Text[ japanese ] = "Ұ"; + Text[ korean ] = "Parameter"; + Text[ chinese_simplified ] = ""; + Text[ chinese_traditional ] = "Ѽ"; + Text[ turkish ] = "Parameter"; + Text[ arabic ] = ""; + }; + FixedText DLG_FILTERMOSAIC_FT_WIDTH + { + Pos = MAP_APPFONT ( 108, 15 ) ; + Size = MAP_APPFONT ( 77, 10 ) ; + Text = "~Breite" ; + Text[ ENGLISH ] = "~Width" ; + Text[ norwegian ] = "~Bredde" ; + Text[ italian ] = "~Largh." ; + Text[ portuguese_brazilian ] = "~Largura" ; + Text[ portuguese ] = "~Largura" ; + Text[ finnish ] = "~Leveys" ; + Text[ danish ] = "Bredde" ; + Text[ french ] = "~Largeur" ; + Text[ swedish ] = "~Bredd" ; + Text[ dutch ] = "~Breedte" ; + Text[ spanish ] = "A~ncho" ; + Text[ english_us ] = "~Width" ; + Text[ chinese_simplified ] = "(~W)"; + Text[ russian ] = "~"; + Text[ polish ] = "Szer."; + Text[ japanese ] = "(~W)"; + Text[ chinese_traditional ] = "e(~W)"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = "ʺ(~W)"; + Text[ turkish ] = "Genilik"; + Text[ language_user1 ] = " "; + }; + MetricField DLG_FILTERMOSAIC_MTR_WIDTH + { + Border = TRUE ; + Pos = MAP_APPFONT ( 120 , 28 ) ; + Size = MAP_APPFONT ( 65 , 12 ) ; + TabStop = TRUE ; + Repeat = TRUE ; + Spin = TRUE ; + Minimum = 1 ; + Maximum = 999 ; + StrictFormat = TRUE ; + Unit = FUNIT_CUSTOM ; + CustomUnitText = " Pixel" ; + First = 1 ; + Last = 999 ; + SpinSize = 1 ; + }; + FixedText DLG_FILTERMOSAIC_FT_HEIGHT + { + Pos = MAP_APPFONT ( 108, 43 ) ; + Size = MAP_APPFONT ( 77, 10 ) ; + Text = "~Hhe" ; + Text[ ENGLISH ] = "~Height" ; + Text[ norwegian ] = "~Hyde" ; + Text[ italian ] = "~Altezza" ; + Text[ portuguese_brazilian ] = "~Altura" ; + Text[ portuguese ] = "~Altura" ; + Text[ finnish ] = "Ko~rkeus" ; + Text[ danish ] = "Hjde" ; + Text[ french ] = "~Hauteur" ; + Text[ swedish ] = "~Hjd" ; + Text[ dutch ] = "~Hoogte" ; + Text[ spanish ] = "A~ltura" ; + Text[ english_us ] = "~Height" ; + Text[ chinese_simplified ] = "(~H)"; + Text[ russian ] = "~"; + Text[ polish ] = "Wys."; + Text[ japanese ] = "(~H)"; + Text[ chinese_traditional ] = "(~H)"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = "(~H)"; + Text[ turkish ] = "Yksek."; + Text[ language_user1 ] = " "; + }; + MetricField DLG_FILTERMOSAIC_MTR_HEIGHT + { + Border = TRUE ; + Pos = MAP_APPFONT ( 120, 56 ) ; + Size = MAP_APPFONT ( 65, 12 ) ; + TabStop = TRUE ; + Repeat = TRUE ; + Spin = TRUE ; + Minimum = 1 ; + Maximum = 999 ; + StrictFormat = TRUE ; + Unit = FUNIT_CUSTOM ; + CustomUnitText = " Pixel" ; + First = 1 ; + Last = 999 ; + SpinSize = 1 ; + }; + CheckBox DLG_FILTERMOSAIC_CBX_EDGES + { + Pos = MAP_APPFONT ( 108, 74 ) ; + Size = MAP_APPFONT ( 77, 12 ) ; + TabStop = TRUE ; + Text = "~Kanten hervorheben" ; + Text[ ENGLISH ] = "~Enhance edges" ; + Text[ english_us ] = "~Enhance edges" ; + Text[ portuguese ] = "~Enhance edges"; + Text[ russian ] = "~ "; + Text[ greek ] = " ~"; + Text[ dutch ] = "~Kanten accentueren"; + Text[ french ] = "Mise en vidence des ~artes"; + Text[ spanish ] = "~Resaltar aristas"; + Text[ italian ] = "~Enhance edges"; + Text[ danish ] = "Fremhv kanter"; + Text[ swedish ] = "Framhv ~kanter"; + Text[ polish ] = "Wyrnij krawdzie"; + Text[ portuguese_brazilian ] = "~Enhance edges"; + Text[ japanese ] = "p(~E)"; + Text[ korean ] = "~Enhance edges"; + Text[ chinese_simplified ] = "ͻʾ߽(~E)"; + Text[ chinese_traditional ] = "X䨤(~E)"; + Text[ turkish ] = "~Enhance edges"; + Text[ arabic ] = " "; + }; + OKButton BTN_OK + { + Pos = MAP_APPFONT ( 194, 6 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BTN_CANCEL + { + Pos = MAP_APPFONT ( 194, 23 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; + HelpButton BTN_HELP + { + Pos = MAP_APPFONT ( 194, 43 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; +}; + +// ---------------------- +// - DLG_FILTERSOLARIZE - +// ---------------------- + +ModalDialog RID_SVX_GRFFILTER_DLG_SOLARIZE +{ + HelpID = SID_GRFFILTER_SOLARIZE; + OutputSize = TRUE ; + Moveable = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT ( 250, 100 ) ; + + Text = "Solarisation" ; + Text[ ENGLISH ] = "Solarization" ; + Text[ norwegian ] = "Solarization" ; + Text[ italian ] = "Solarizzazione" ; + Text[ portuguese_brazilian ] = "Solarizao" ; + Text[ portuguese ] = "Solarizao" ; + Text[ finnish ] = "Solarisaatio" ; + Text[ danish ] = "Solarisering" ; + Text[ french ] = "Solarisation" ; + Text[ swedish ] = "Solarisering" ; + Text[ dutch ] = "Solarisatie" ; + Text[ spanish ] = "Solarizacin" ; + Text[ english_us ] = "Solarization" ; + Text[ chinese_simplified ] = "ع"; + Text[ russian ] = ""; + Text[ polish ] = "Solaryzacja"; + Text[ japanese ] = "ؾް"; + Text[ chinese_traditional ] = "n"; + Text[ arabic ] = ""; + Text[ greek ] = " "; + Text[ korean ] = "¾ȿ"; + Text[ turkish ] = "Yksek pozlama"; + Text[ language_user1 ] = " "; + + GroupBox GRP_PREVIEW + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 93, 91 ) ; + + Text = "Vorschau" ; + Text[ ENGLISH ] = "Preview" ; + Text[ english_us ] = "Preview" ; + Text[ portuguese ] = "Preview"; + Text[ russian ] = ". "; + Text[ greek ] = ""; + Text[ dutch ] = "Voorbeeld"; + Text[ french ] = "Aperu"; + Text[ spanish ] = "Previsualizacin"; + Text[ italian ] = "Preview"; + Text[ danish ] = "Eksempel"; + Text[ swedish ] = "Frhandsvisning"; + Text[ polish ] = "Podgld"; + Text[ portuguese_brazilian ] = "Preview"; + Text[ japanese ] = "ޭ"; + Text[ korean ] = "Preview"; + Text[ chinese_simplified ] = "Ԥ"; + Text[ chinese_traditional ] = "w"; + Text[ turkish ] = "Preview"; + Text[ arabic ] = ""; + }; + Control CTL_PREVIEW + { + Pos = MAP_APPFONT ( 12 , 15 ) ; + Size = MAP_APPFONT ( 81, 73 ) ; + }; + GroupBox GRP_PARAMETER + { + Pos = MAP_APPFONT ( 102, 3 ); + Size = MAP_APPFONT ( 89, 91 ); + Text = "Parameter"; + Text[ ENGLISH ] = "Parameter"; + Text[ english_us ] = "Parameters"; + Text[ portuguese ] = "Parmetros"; + Text[ russian ] = ""; + Text[ greek ] = ""; + Text[ dutch ] = "Parameter"; + Text[ french ] = "Paramtres"; + Text[ spanish ] = "Parmetros"; + Text[ italian ] = "Parameter"; + Text[ danish ] = "Parametre"; + Text[ swedish ] = "Parametrar"; + Text[ polish ] = "Parametry"; + Text[ portuguese_brazilian ] = "Parameter"; + Text[ japanese ] = "Ұ"; + Text[ korean ] = "Parameter"; + Text[ chinese_simplified ] = ""; + Text[ chinese_traditional ] = "Ѽ"; + Text[ turkish ] = "Parameter"; + Text[ arabic ] = ""; + }; + FixedText DLG_FILTERSOLARIZE_FT_THRESHOLD + { + Pos = MAP_APPFONT ( 108 , 15 ) ; + Size = MAP_APPFONT ( 77 , 10 ) ; + Text = "~Schwellenwert" ; + Text[ ENGLISH ] = "Threshold" ; + Text[ norwegian ] = "Threshold" ; + Text[ italian ] = "Soglia" ; + Text[ portuguese_brazilian ] = "Limite" ; + Text[ portuguese ] = "~Valor limite" ; + Text[ finnish ] = "Raja" ; + Text[ danish ] = "Trskelvrdi" ; + Text[ french ] = "~Valeur de seuil" ; + Text[ swedish ] = "~Trskelvrde" ; + Text[ dutch ] = "~Drempelwaarde" ; + Text[ spanish ] = "Valor ~umbral" ; + Text[ english_us ] = "Threshold ~value" ; + Text[ chinese_simplified ] = "ʼֵ(~V)"; + Text[ russian ] = " "; + Text[ polish ] = "Warto progowa"; + Text[ japanese ] = "l(~V)"; + Text[ chinese_traditional ] = "l(~V)"; + Text[ arabic ] = " "; + Text[ greek ] = " "; + Text[ korean ] = "Ӱ谪(~V)"; + Text[ turkish ] = "Eik deer"; + Text[ language_user1 ] = " "; + }; + MetricField DLG_FILTERSOLARIZE_MTR_THRESHOLD + { + Border = TRUE ; + Pos = MAP_APPFONT ( 120 , 28 ) ; + Size = MAP_APPFONT ( 65 , 12 ) ; + TabStop = TRUE ; + Repeat = TRUE ; + Spin = TRUE ; + Maximum = 100 ; + StrictFormat = TRUE ; + Unit = FUNIT_CUSTOM ; + CustomUnitText = " %" ; + Last = 100 ; + SpinSize = 1 ; + }; + CheckBox DLG_FILTERSOLARIZE_CBX_INVERT + { + Pos = MAP_APPFONT ( 108, 46 ) ; + Size = MAP_APPFONT ( 77, 12 ) ; + TabStop = TRUE ; + Text = "~Invertieren" ; + Text[ ENGLISH ] = "Invert" ; + Text[ norwegian ] = "Invert" ; + Text[ italian ] = "Inverti" ; + Text[ portuguese_brazilian ] = "Inverter" ; + Text[ portuguese ] = "~Inverter" ; + Text[ finnish ] = "Knteinen" ; + Text[ danish ] = "Inverter" ; + Text[ french ] = "~Invertir" ; + Text[ swedish ] = "~Invertera" ; + Text[ dutch ] = "~Invers" ; + Text[ spanish ] = "I~nvertir" ; + Text[ english_us ] = "~Invert" ; + Text[ chinese_simplified ] = "ɫת(~I)"; + Text[ russian ] = ""; + Text[ polish ] = "Odwr"; + Text[ japanese ] = "t](~I)"; + Text[ chinese_traditional ] = "ɦഫ(~I)"; + Text[ arabic ] = ""; + Text[ greek ] = "~"; + Text[ korean ] = "(~I)"; + Text[ turkish ] = "Tersine evir"; + Text[ language_user1 ] = " "; + }; + OKButton BTN_OK + { + Pos = MAP_APPFONT ( 194, 6 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BTN_CANCEL + { + Pos = MAP_APPFONT ( 194, 23 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; + HelpButton BTN_HELP + { + Pos = MAP_APPFONT ( 194, 43 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; +}; + +// ---------------------- +// - DLG_FILTERSOLARIZE - +// ---------------------- + +ModalDialog RID_SVX_GRFFILTER_DLG_SEPIA +{ + HelpID = SID_GRFFILTER_SEPIA; + OutputSize = TRUE ; + Moveable = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT ( 250, 100 ) ; + + Text = "Alterung" ; + Text[ ENGLISH ] = "Age" ; + Text[ norwegian ] = "Age" ; + Text[ italian ] = "Invecchiamento" ; + Text[ portuguese_brazilian ] = "Idade" ; + Text[ portuguese ] = "Envelhecimento" ; + Text[ finnish ] = "Vanhenna" ; + Text[ danish ] = "ldning" ; + Text[ french ] = "Vieillissement" ; + Text[ swedish ] = "ldrande" ; + Text[ dutch ] = "Veroudering" ; + Text[ spanish ] = "Envejecimiento" ; + Text[ english_us ] = "Aging" ; + Text[ chinese_simplified ] = "ʱЧ"; + Text[ russian ] = ""; + Text[ polish ] = "Efekt starzenia"; + Text[ japanese ] = "ݸ"; + Text[ chinese_traditional ] = "ɮ"; + Text[ arabic ] = ""; + Text[ dutch ] = "Veroudering"; + Text[ chinese_simplified ] = "ʱЧ"; + Text[ greek ] = ""; + Text[ korean ] = "ȿ"; + Text[ turkish ] = "Eskitme"; + + GroupBox GRP_PREVIEW + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 93, 91 ) ; + + Text = "Vorschau" ; + Text[ ENGLISH ] = "Preview" ; + Text[ english_us ] = "Preview" ; + Text[ portuguese ] = "Preview"; + Text[ russian ] = ". "; + Text[ greek ] = ""; + Text[ dutch ] = "Voorbeeld"; + Text[ french ] = "Aperu"; + Text[ spanish ] = "Previsualizacin"; + Text[ italian ] = "Preview"; + Text[ danish ] = "Eksempel"; + Text[ swedish ] = "Frhandsvisning"; + Text[ polish ] = "Podgld"; + Text[ portuguese_brazilian ] = "Preview"; + Text[ japanese ] = "ޭ"; + Text[ korean ] = "Preview"; + Text[ chinese_simplified ] = "Ԥ"; + Text[ chinese_traditional ] = "w"; + Text[ turkish ] = "Preview"; + Text[ arabic ] = ""; + }; + Control CTL_PREVIEW + { + Pos = MAP_APPFONT ( 12 , 15 ) ; + Size = MAP_APPFONT ( 81, 73 ) ; + }; + GroupBox GRP_PARAMETER + { + Pos = MAP_APPFONT ( 102, 3 ); + Size = MAP_APPFONT ( 89, 91 ); + Text = "Parameter"; + Text[ ENGLISH ] = "Parameter"; + Text[ english_us ] = "Parameters"; + Text[ portuguese ] = "Parmetro"; + Text[ russian ] = ""; + Text[ greek ] = ""; + Text[ dutch ] = "Parameter"; + Text[ french ] = "Paramtre"; + Text[ spanish ] = "Parmetros"; + Text[ italian ] = "Parameter"; + Text[ danish ] = "Parametre"; + Text[ swedish ] = "Parameter"; + Text[ polish ] = "Parametry"; + Text[ portuguese_brazilian ] = "Parameter"; + Text[ japanese ] = "Ұ"; + Text[ korean ] = "Parameter"; + Text[ chinese_simplified ] = ""; + Text[ chinese_traditional ] = "Ѽ"; + Text[ turkish ] = "Parameter"; + Text[ arabic ] = ""; + }; + FixedText DLG_FILTERSEPIA_FT_SEPIA + { + Pos = MAP_APPFONT ( 108 , 15 ) ; + Size = MAP_APPFONT ( 77 , 10 ) ; + Text = "Alterungsgrad" ; + Text[ ENGLISH ] = "Age value" ; + Text[ norwegian ] = "Age value" ; + Text[ italian ] = "Grado di invecchiamento" ; + Text[ portuguese_brazilian ] = "Valor de envelhecimento" ; + Text[ portuguese ] = "Grau de envelhecimento" ; + Text[ finnish ] = "Ikarvo" ; + Text[ danish ] = "ldningsgrad" ; + Text[ french ] = "Degr de vieillissement" ; + Text[ swedish ] = "ldringsgrad" ; + Text[ dutch ] = "Mate van veroudering" ; + Text[ spanish ] = "Grado de envejecim." ; + Text[ english_us ] = "Aging degree" ; + Text[ chinese_simplified ] = "ʱЧ"; + Text[ russian ] = " "; + Text[ polish ] = "Stopie starzenia"; + Text[ japanese ] = "ݸޓx"; + Text[ chinese_traditional ] = "ɮī"; + Text[ arabic ] = " "; + Text[ dutch ] = "Mate van veroudering"; + Text[ chinese_simplified ] = "ʱЧ"; + Text[ greek ] = " "; + Text[ korean ] = " ȿ "; + Text[ turkish ] = "Eskitme derecesi"; + }; + MetricField DLG_FILTERSEPIA_MTR_SEPIA + { + Border = TRUE ; + Pos = MAP_APPFONT ( 120 , 28 ) ; + Size = MAP_APPFONT ( 65 , 12 ) ; + TabStop = TRUE ; + Right = TRUE ; + Repeat = TRUE ; + Spin = TRUE ; + Minimum = 1 ; + Maximum = 100 ; + StrictFormat = TRUE ; + Unit = FUNIT_CUSTOM ; + CustomUnitText = " %" ; + First = 1 ; + Last = 100 ; + SpinSize = 1 ; + }; + OKButton BTN_OK + { + Pos = MAP_APPFONT ( 194, 6 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BTN_CANCEL + { + Pos = MAP_APPFONT ( 194, 23 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; + HelpButton BTN_HELP + { + Pos = MAP_APPFONT ( 194, 43 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; +}; + +// -------------------- +// - DLG_FILTERPOSTER - +// -------------------- + +ModalDialog RID_SVX_GRFFILTER_DLG_POSTER +{ + HelpID = SID_GRFFILTER_POSTER; + OutputSize = TRUE ; + Moveable = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT ( 250, 100 ) ; + + Text = "Poster" ; + Text[ ENGLISH ] = "Posterize" ; + Text[ norwegian ] = "Posterize" ; + Text[ italian ] = "Posterizzazione" ; + Text[ portuguese_brazilian ] = "Transformar em poster" ; + Text[ portuguese ] = "Poster" ; + Text[ finnish ] = "Juliste" ; + Text[ danish ] = "Plakat" ; + Text[ french ] = "Poster" ; + Text[ swedish ] = "Poster" ; + Text[ dutch ] = "Poster" ; + Text[ spanish ] = "Pster" ; + Text[ english_us ] = "Posterize" ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Plakat"; + Text[ japanese ] = "߽"; + Text[ chinese_traditional ] = "۶Ke"; + Text[ arabic ] = ""; + Text[ greek ] = ""; + Text[ korean ] = " ȿ"; + Text[ turkish ] = "Afi"; + + GroupBox GRP_PREVIEW + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 93, 91 ) ; + + Text = "Vorschau" ; + Text[ ENGLISH ] = "Preview" ; + Text[ english_us ] = "Preview" ; + Text[ portuguese ] = "Preview"; + Text[ russian ] = ". "; + Text[ greek ] = ""; + Text[ dutch ] = "Voorbeeld"; + Text[ french ] = "Aperu"; + Text[ spanish ] = "Previsualizacin"; + Text[ italian ] = "Preview"; + Text[ danish ] = "Eksempel"; + Text[ swedish ] = "Frhandsvisning"; + Text[ polish ] = "Podgld"; + Text[ portuguese_brazilian ] = "Preview"; + Text[ japanese ] = "ޭ"; + Text[ korean ] = "Preview"; + Text[ chinese_simplified ] = "Ԥ"; + Text[ chinese_traditional ] = "w"; + Text[ turkish ] = "Preview"; + Text[ arabic ] = ""; + }; + Control CTL_PREVIEW + { + Pos = MAP_APPFONT ( 12 , 15 ) ; + Size = MAP_APPFONT ( 81, 73 ) ; + }; + GroupBox GRP_PARAMETER + { + Pos = MAP_APPFONT ( 102, 3 ); + Size = MAP_APPFONT ( 89, 91 ); + Text = "Parameter"; + Text[ ENGLISH ] = "Parameter"; + Text[ english_us ] = "Parameters"; + Text[ portuguese ] = "Parmetro"; + Text[ russian ] = ""; + Text[ greek ] = ""; + Text[ dutch ] = "Parameter"; + Text[ french ] = "Paramtre"; + Text[ spanish ] = "Parmetros"; + Text[ italian ] = "Parameter"; + Text[ danish ] = "Parametre"; + Text[ swedish ] = "Parameter"; + Text[ polish ] = "Parametr"; + Text[ portuguese_brazilian ] = "Parameter"; + Text[ japanese ] = "Ұ"; + Text[ korean ] = "Parameter"; + Text[ chinese_simplified ] = ""; + Text[ chinese_traditional ] = "Ѽ"; + Text[ turkish ] = "Parameter"; + Text[ arabic ] = ""; + }; + FixedText DLG_FILTERPOSTER_FT_POSTER + { + Pos = MAP_APPFONT ( 108 , 15 ) ; + Size = MAP_APPFONT ( 77 , 10 ) ; + Text = "Posterfarben" ; + Text[ ENGLISH ] = "Poster colors" ; + Text[ norwegian ] = "Poster colors" ; + Text[ italian ] = "Colori posterizz." ; + Text[ portuguese_brazilian ] = "Cores do poster" ; + Text[ portuguese ] = "Cores do poster" ; + Text[ finnish ] = "Julistevrit" ; + Text[ danish ] = "Plakatfarver" ; + Text[ french ] = "Couleurs du poster" ; + Text[ swedish ] = "Posterfrger" ; + Text[ dutch ] = "Posterkleuren" ; + Text[ spanish ] = "Colores del pster" ; + Text[ english_us ] = "Poster colors" ; + Text[ chinese_simplified ] = "ɫ"; + Text[ russian ] = " "; + Text[ polish ] = "Kolory plakatu"; + Text[ japanese ] = "߽װ"; + Text[ chinese_traditional ] = "۶KeC"; + Text[ arabic ] = " "; + Text[ greek ] = " "; + Text[ korean ] = " "; + Text[ turkish ] = "Afi renkleri"; + }; + NumericField DLG_FILTERPOSTER_NUM_POSTER + { + Border = TRUE ; + Pos = MAP_APPFONT ( 120 , 28 ) ; + Size = MAP_APPFONT ( 65 , 12 ) ; + TabStop = TRUE ; + Repeat = TRUE ; + Spin = TRUE ; + Minimum = 2 ; + Maximum = 64 ; + StrictFormat = TRUE ; + First = 2 ; + Last = 64 ; + SpinSize = 1 ; + }; + OKButton BTN_OK + { + Pos = MAP_APPFONT ( 194, 6 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BTN_CANCEL + { + Pos = MAP_APPFONT ( 194, 23 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; + HelpButton BTN_HELP + { + Pos = MAP_APPFONT ( 194, 43 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; +}; + +// -------------------- +// - DLG_FILTEREMBOSS - +// -------------------- + +TabPage RID_SVX_GRFFILTER_DLG_EMBOSS_TAB +{ + Pos = MAP_APPFONT ( 0, 0 ) ; + Size = MAP_APPFONT ( 0, 0 ) ; +}; + +ModalDialog RID_SVX_GRFFILTER_DLG_EMBOSS +{ + HelpID = SID_GRFFILTER_EMBOSS; + OutputSize = TRUE ; + Moveable = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT ( 250, 100 ) ; + + Text = "Relief" ; + Text[ ENGLISH ] = "Emboss" ; + Text[ norwegian ] = "Emboss" ; + Text[ italian ] = "Rilievo" ; + Text[ portuguese_brazilian ] = "Realar" ; + Text[ portuguese ] = "Relevo" ; + Text[ finnish ] = "Kohopainatus" ; + Text[ danish ] = "Relief" ; + Text[ french ] = "Relief" ; + Text[ swedish ] = "Relief" ; + Text[ dutch ] = "Relif" ; + Text[ spanish ] = "Relieve" ; + Text[ english_us ] = "Relief" ; + Text[ chinese_simplified ] = ""; + Text[ russian ] = ""; + Text[ polish ] = "Uwypuklenie"; + Text[ japanese ] = "ذ"; + Text[ chinese_traditional ] = "BJ"; + Text[ arabic ] = ""; + Text[ greek ] = "A"; + Text[ korean ] = "`"; + Text[ turkish ] = "Rlyef"; + Text[ language_user1 ] = " "; + + GroupBox GRP_PREVIEW + { + Pos = MAP_APPFONT ( 6 , 3 ) ; + Size = MAP_APPFONT ( 93, 91 ) ; + + Text = "Vorschau" ; + Text[ ENGLISH ] = "Preview" ; + Text[ english_us ] = "Preview" ; + Text[ portuguese ] = "Preview"; + Text[ russian ] = ". "; + Text[ greek ] = ""; + Text[ dutch ] = "Voorbeeld"; + Text[ french ] = "Aperu"; + Text[ spanish ] = "Previsualizacin"; + Text[ italian ] = "Preview"; + Text[ danish ] = "Eksempel"; + Text[ swedish ] = "Frhandsvisning"; + Text[ polish ] = "Podgld"; + Text[ portuguese_brazilian ] = "Preview"; + Text[ japanese ] = "ޭ"; + Text[ korean ] = "Preview"; + Text[ chinese_simplified ] = "Ԥ"; + Text[ chinese_traditional ] = "w"; + Text[ turkish ] = "Preview"; + Text[ arabic ] = ""; + }; + Control CTL_PREVIEW + { + Pos = MAP_APPFONT ( 12 , 15 ) ; + Size = MAP_APPFONT ( 81, 73 ) ; + }; + GroupBox GRP_PARAMETER + { + Pos = MAP_APPFONT ( 102, 3 ); + Size = MAP_APPFONT ( 89, 91 ); + Text = "Parameter"; + Text[ ENGLISH ] = "Parameter"; + Text[ english_us ] = "Parameters"; + Text[ portuguese ] = "Parmetro"; + Text[ russian ] = ""; + Text[ greek ] = ""; + Text[ dutch ] = "Parameter"; + Text[ french ] = "Paramtre"; + Text[ spanish ] = "Parmetros"; + Text[ italian ] = "Parameter"; + Text[ danish ] = "Parametre"; + Text[ swedish ] = "Parameter"; + Text[ polish ] = "Parametr"; + Text[ portuguese_brazilian ] = "Parameter"; + Text[ japanese ] = "Ұ"; + Text[ korean ] = "Parameter"; + Text[ chinese_simplified ] = ""; + Text[ chinese_traditional ] = "Ѽ"; + Text[ turkish ] = "Parameter"; + Text[ arabic ] = ""; + }; + FixedText DLG_FILTEREMBOSS_FT_LIGHT + { + Pos = MAP_APPFONT ( 108 , 15 ) ; + Size = MAP_APPFONT ( 77 , 10 ) ; + Text = "Lichtquelle" ; + Text[ ENGLISH ] = "Source of light" ; + Text[ norwegian ] = "Source of light" ; + Text[ italian ] = "Sorgente di luce" ; + Text[ portuguese_brazilian ] = "Source of light" ; + Text[ portuguese ] = "Fonte de luz" ; + Text[ finnish ] = "Source of light" ; + Text[ danish ] = "Lyskilde" ; + Text[ french ] = "Source de lumire" ; + Text[ swedish ] = "Ljusklla" ; + Text[ dutch ] = "Lichtbron" ; + Text[ spanish ] = "Fuente de luz" ; + Text[ english_us ] = "Light source" ; + Text[ chinese_simplified ] = "Դ"; + Text[ russian ] = " "; + Text[ polish ] = "rdo wiata"; + Text[ japanese ] = ""; + Text[ chinese_traditional ] = ""; + Text[ arabic ] = " "; + Text[ greek ] = " "; + Text[ korean ] = ""; + Text[ turkish ] = "Ik kayna"; + }; + Control DLG_FILTEREMBOSS_CTL_LIGHT + { + Border = TRUE ; + Pos = MAP_APPFONT ( 108 , 28 ) ; + Size = MAP_APPFONT ( 77 , 60 ) ; + TabStop = TRUE ; + }; + OKButton BTN_OK + { + Pos = MAP_APPFONT ( 194, 6 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + DefButton = TRUE ; + }; + CancelButton BTN_CANCEL + { + Pos = MAP_APPFONT ( 194, 23 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; + HelpButton BTN_HELP + { + Pos = MAP_APPFONT ( 194, 43 ) ; + Size = MAP_APPFONT ( 50, 14 ) ; + TabStop = TRUE ; + }; +}; |