From 9027629b0e09b3b024a5821bb791308039bb5d8b Mon Sep 17 00:00:00 2001 From: Bryan Quigley Date: Tue, 1 Dec 2015 17:04:14 -0500 Subject: tdf#92925 Remove RAS export RAS was last used on Sun's now defunct SunOS. Import was tested and still works. Change-Id: I9fb9b7965279391922f19ec1f9e4a53134d41f5c Reviewed-on: https://gerrit.libreoffice.org/20342 Tested-by: Jenkins Reviewed-by: Noel Grandin --- filter/Configuration_filter.mk | 3 - filter/Library_gie.mk | 1 - .../config/fragments/filters/draw_ras_Export.xcu | 30 --- .../fragments/filters/impress_ras_Export.xcu | 30 --- .../internalgraphicfilters/ras_Export.xcu | 27 -- filter/source/graphicfilter/eras/eras.cxx | 282 --------------------- svtools/source/filter/exportdialog.cxx | 3 - 7 files changed, 376 deletions(-) delete mode 100644 filter/source/config/fragments/filters/draw_ras_Export.xcu delete mode 100644 filter/source/config/fragments/filters/impress_ras_Export.xcu delete mode 100644 filter/source/config/fragments/internalgraphicfilters/ras_Export.xcu delete mode 100644 filter/source/graphicfilter/eras/eras.cxx diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk index 0f3081e91362..759787f9cec0 100644 --- a/filter/Configuration_filter.mk +++ b/filter/Configuration_filter.mk @@ -780,7 +780,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_drawgraphics_f draw_pgm_Export \ draw_png_Export \ draw_ppm_Export \ - draw_ras_Export \ draw_svg_Export \ draw_svm_Export \ draw_tif_Export \ @@ -826,7 +825,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_impressgraphic impress_pgm_Export \ impress_png_Export \ impress_ppm_Export \ - impress_ras_Export \ impress_svg_Export \ impress_svm_Export \ impress_tif_Export \ @@ -914,7 +912,6 @@ $(eval $(call filter_Configuration_add_internal_filters,fcfg_langpack,fcfg_inter ppm_Export \ ppm_Import \ psd_Import \ - ras_Export \ ras_Import \ sgf_Import \ sgv_Import \ diff --git a/filter/Library_gie.mk b/filter/Library_gie.mk index f68f3f9b6658..8ca4f7ac6055 100644 --- a/filter/Library_gie.mk +++ b/filter/Library_gie.mk @@ -47,7 +47,6 @@ $(eval $(call gb_Library_add_exception_objects,gie,\ filter/source/graphicfilter/eppm/eppm \ filter/source/graphicfilter/eps/eps \ filter/source/graphicfilter/egif/giflzwc \ - filter/source/graphicfilter/eras/eras \ filter/source/graphicfilter/itiff/ccidecom \ filter/source/graphicfilter/itiff/itiff \ filter/source/graphicfilter/itiff/lzwdecom \ diff --git a/filter/source/config/fragments/filters/draw_ras_Export.xcu b/filter/source/config/fragments/filters/draw_ras_Export.xcu deleted file mode 100644 index 2854a68a318d..000000000000 --- a/filter/source/config/fragments/filters/draw_ras_Export.xcu +++ /dev/null @@ -1,30 +0,0 @@ - - - EXPORT ALIEN SUPPORTSSELECTION - - - - - RAS - Sun Raster Image - - 0 - ras_Sun_Rasterfile - - com.sun.star.drawing.DrawingDocument - diff --git a/filter/source/config/fragments/filters/impress_ras_Export.xcu b/filter/source/config/fragments/filters/impress_ras_Export.xcu deleted file mode 100644 index dc116d35c86a..000000000000 --- a/filter/source/config/fragments/filters/impress_ras_Export.xcu +++ /dev/null @@ -1,30 +0,0 @@ - - - EXPORT ALIEN SUPPORTSSELECTION - - - - - RAS - Sun Raster Image - - 0 - ras_Sun_Rasterfile - - com.sun.star.presentation.PresentationDocument - diff --git a/filter/source/config/fragments/internalgraphicfilters/ras_Export.xcu b/filter/source/config/fragments/internalgraphicfilters/ras_Export.xcu deleted file mode 100644 index 5333add1e268..000000000000 --- a/filter/source/config/fragments/internalgraphicfilters/ras_Export.xcu +++ /dev/null @@ -1,27 +0,0 @@ - - - ras_Sun_Rasterfile - era - - com.sun.star.svtools.SvFilterOptionsDialog - - RAS - Sun Raster Image - - EXPORT - diff --git a/filter/source/graphicfilter/eras/eras.cxx b/filter/source/graphicfilter/eras/eras.cxx deleted file mode 100644 index ea4c1448e48d..000000000000 --- a/filter/source/graphicfilter/eras/eras.cxx +++ /dev/null @@ -1,282 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 . - */ - - -#include -#include -#include -#include - -//============================ RASWriter ================================== - -class RASWriter { - -private: - - SvStream & m_rOStm; - - bool mbStatus; - BitmapReadAccess* mpAcc; - - sal_uLong mnWidth, mnHeight; - sal_uInt16 mnColors, mnDepth; - - sal_uLong mnRepCount; - sal_uInt8 mnRepVal; - - css::uno::Reference< css::task::XStatusIndicator > xStatusIndicator; - - void ImplCallback( sal_uLong nCurrentYPos ); - bool ImplWriteHeader(); - void ImplWritePalette(); - void ImplWriteBody(); - void ImplPutByte( sal_uInt8 ); // RLE decoding - -public: - explicit RASWriter(SvStream &rStream); - ~RASWriter(); - - bool WriteRAS( const Graphic& rGraphic, FilterConfigItem* pFilterConfigItem ); -}; - -//=================== Methoden von RASWriter ============================== -RASWriter::RASWriter(SvStream &rStream) - : m_rOStm(rStream) - , mbStatus(true) - , mpAcc(nullptr) - , mnWidth(0) - , mnHeight(0) - , mnColors(0) - , mnDepth(0) - , mnRepCount(0xffffffff) - , mnRepVal(0) -{ -} - -RASWriter::~RASWriter() -{ -} - - - -void RASWriter::ImplCallback( sal_uLong nYPos ) -{ - if ( xStatusIndicator.is() ) - xStatusIndicator->setValue( (sal_uInt16)( ( 100 * nYPos ) / mnHeight ) ); -} - - - -bool RASWriter::WriteRAS( const Graphic& rGraphic, FilterConfigItem* pFilterConfigItem) -{ - Bitmap aBmp; - - if ( pFilterConfigItem ) - { - xStatusIndicator = pFilterConfigItem->GetStatusIndicator(); - if ( xStatusIndicator.is() ) - { - OUString aMsg; - xStatusIndicator->start( aMsg, 100 ); - } - } - - BitmapEx aBmpEx( rGraphic.GetBitmapEx() ); - aBmp = aBmpEx.GetBitmap(); - - if ( aBmp.GetBitCount() == 4 ) - aBmp.Convert( BMP_CONVERSION_8BIT_COLORS ); - - mnDepth = aBmp.GetBitCount(); - - // export code below only handles three discrete cases - mnDepth = mnDepth <= 1 ? 1 : mnDepth <= 8 ? 8 : 24; - - mpAcc = aBmp.AcquireReadAccess(); - if ( mpAcc ) - { - SvStreamEndian nOStmOldModus = m_rOStm.GetEndian(); - m_rOStm.SetEndian( SvStreamEndian::BIG ); - - if ( ImplWriteHeader() ) - { - if ( mnDepth <= 8 ) - ImplWritePalette(); - ImplWriteBody(); - } - - m_rOStm.SetEndian( nOStmOldModus ); - - Bitmap::ReleaseAccess( mpAcc ); - } - else - mbStatus = false; - - if ( xStatusIndicator.is() ) - xStatusIndicator->end(); - - return mbStatus; -} - - - -bool RASWriter::ImplWriteHeader() -{ - mnWidth = mpAcc->Width(); - mnHeight = mpAcc->Height(); - if ( mnDepth <= 8 ) - { - mnColors = mpAcc->GetPaletteEntryCount(); - if (mnColors == 0) - mbStatus = false; - } - if ( mbStatus && mnWidth && mnHeight && mnDepth ) - { - m_rOStm.WriteUInt32( 0x59a66a95 ).WriteUInt32( mnWidth ).WriteUInt32( mnHeight ) - .WriteUInt32( mnDepth ) - .WriteUInt32( ( ( ( ( mnWidth * mnDepth ) + 15 ) >> 4 ) << 1 ) * mnHeight ) - .WriteUInt32( 2 ); - - if ( mnDepth > 8 ) - m_rOStm.WriteUInt32( 0 ).WriteUInt32( 0 ); - else - { - - m_rOStm.WriteUInt32( 1 ).WriteUInt32( mnColors * 3 ); - } - } - else mbStatus = false; - - return mbStatus; -} - - - -void RASWriter::ImplWritePalette() -{ - sal_uInt16 i; - - for ( i = 0; i < mnColors; m_rOStm.WriteUChar( mpAcc->GetPaletteColor( i++ ).GetRed() ) ) ; - for ( i = 0; i < mnColors; m_rOStm.WriteUChar( mpAcc->GetPaletteColor( i++ ).GetGreen() ) ) ; - for ( i = 0; i < mnColors; m_rOStm.WriteUChar( mpAcc->GetPaletteColor( i++ ).GetBlue() ) ) ; -} - - - -void RASWriter::ImplWriteBody() -{ - sal_uLong x, y; - - if ( mnDepth == 24 ) - { - for ( y = 0; y < mnHeight; y++ ) - { - ImplCallback( y ); // processing output - for ( x = 0; x < mnWidth; x++ ) - { - BitmapColor aColor( mpAcc->GetPixel( y, x ) ); - ImplPutByte( aColor.GetBlue() ); // Format ist BGR - ImplPutByte( aColor.GetGreen() ); - ImplPutByte( aColor.GetRed() ); - } - if ( x & 1 ) ImplPutByte( 0 ); // WORD ALIGNMENT ??? - } - } - else if ( mnDepth == 8 ) - { - for ( y = 0; y < mnHeight; y++ ) - { - ImplCallback( y ); // processing output - for ( x = 0; x < mnWidth; x++ ) - { - ImplPutByte ( mpAcc->GetPixelIndex( y, x ) ); - } - if ( x & 1 ) ImplPutByte( 0 ); // WORD ALIGNMENT ??? - } - } - else if ( mnDepth == 1 ) - { - sal_uInt8 nDat = 0; - - for ( y = 0; y < mnHeight; y++ ) - { - ImplCallback( y ); // processing output - for ( x = 0; x < mnWidth; x++ ) - { - nDat = ( ( nDat << 1 ) | ( mpAcc->GetPixelIndex( y, x ) & 1 ) ); - if ( ( x & 7 ) == 7 ) - ImplPutByte( nDat ); - } - if ( x & 7 ) - ImplPutByte( sal::static_int_cast< sal_uInt8 >(nDat << ( ( ( x & 7 ) ^ 7 ) + 1)) );// write remaining bits - if (!( ( x - 1 ) & 0x8 ) ) - ImplPutByte( 0 ); // WORD ALIGNMENT ??? - } - } - ImplPutByte( mnRepVal + 1 ); // end of RLE decoding -} - - - -void RASWriter::ImplPutByte( sal_uInt8 nPutThis ) -{ - if ( mnRepCount == 0xffffffff ) - { - mnRepCount = 0; - mnRepVal = nPutThis; - } - else - { - if ( ( nPutThis == mnRepVal ) && ( mnRepCount != 0xff ) ) - mnRepCount++; - else - { - if ( mnRepCount == 0 ) - { - m_rOStm.WriteUChar( mnRepVal ); - if ( mnRepVal == 0x80 ) - m_rOStm.WriteUChar( 0 ); - } - else - { - m_rOStm.WriteUChar( 0x80 ); - m_rOStm.WriteUChar( mnRepCount ); - m_rOStm.WriteUChar( mnRepVal ); - } - mnRepVal = nPutThis; - mnRepCount = 0; - } - } -} - - - - -// - exported function - - - -extern "C" SAL_DLLPUBLIC_EXPORT bool SAL_CALL -eraGraphicExport( SvStream& rStream, Graphic& rGraphic, FilterConfigItem* pFilterConfigItem ) -{ - RASWriter aRASWriter(rStream); - - return aRASWriter.WriteRAS( rGraphic, pFilterConfigItem ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svtools/source/filter/exportdialog.cxx b/svtools/source/filter/exportdialog.cxx index c48f5090ede4..ae331cce6c5e 100644 --- a/svtools/source/filter/exportdialog.cxx +++ b/svtools/source/filter/exportdialog.cxx @@ -51,7 +51,6 @@ #define FORMAT_PBM 5 #define FORMAT_PGM 6 #define FORMAT_PPM 7 -#define FORMAT_RAS 9 #define FORMAT_TIF 10 #define FORMAT_XPM 11 #define FORMAT_WMF 12 @@ -88,8 +87,6 @@ static sal_Int16 GetFilterFormat(const OUString& rExt) nFormat = FORMAT_PGM; else if ( rExt == "PPM" ) nFormat = FORMAT_PPM; - else if ( rExt == "RAS" ) - nFormat = FORMAT_RAS; else if ( rExt == "TIF" ) nFormat = FORMAT_TIF; else if ( rExt == "XPM" ) -- cgit v1.2.3