summaryrefslogtreecommitdiff
path: root/goodies/source/filter.vcl/epbm/epbm.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'goodies/source/filter.vcl/epbm/epbm.cxx')
-rw-r--r--goodies/source/filter.vcl/epbm/epbm.cxx275
1 files changed, 0 insertions, 275 deletions
diff --git a/goodies/source/filter.vcl/epbm/epbm.cxx b/goodies/source/filter.vcl/epbm/epbm.cxx
deleted file mode 100644
index a624e7f45cfb..000000000000
--- a/goodies/source/filter.vcl/epbm/epbm.cxx
+++ /dev/null
@@ -1,275 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: epbm.cxx,v $
- * $Revision: 1.12 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_goodies.hxx"
-
-#include <vcl/svapp.hxx>
-#include <vcl/graph.hxx>
-#include <vcl/bmpacc.hxx>
-#include <vcl/msgbox.hxx>
-#include <svl/solar.hrc>
-#include <svtools/fltcall.hxx>
-#include <svtools/FilterConfigItem.hxx>
-#include "strings.hrc"
-#include "dlgepbm.hrc"
-#include "dlgepbm.hxx"
-
-//============================ PBMWriter ==================================
-
-class PBMWriter {
-
-private:
-
- SvStream* mpOStm; // Die auszugebende PBM-Datei
- USHORT mpOStmOldModus;
-
- BOOL mbStatus;
- sal_Int32 mnMode; // 0 -> raw, 1-> ascii
- BitmapReadAccess* mpAcc;
- ULONG mnWidth, mnHeight; // Bildausmass in Pixeln
-
- BOOL ImplWriteHeader();
- void ImplWriteBody();
- void ImplWriteNumber( sal_Int32 );
-
- com::sun::star::uno::Reference< com::sun::star::task::XStatusIndicator > xStatusIndicator;
-
-public:
- PBMWriter();
- ~PBMWriter();
-
- BOOL WritePBM( const Graphic& rGraphic, SvStream& rPBM, FilterConfigItem* pFilterConfigItem );
-};
-
-//=================== Methoden von PBMWriter ==============================
-
-PBMWriter::PBMWriter() :
- mbStatus ( TRUE ),
- mpAcc ( NULL )
-{
-}
-
-// ------------------------------------------------------------------------
-
-PBMWriter::~PBMWriter()
-{
-}
-
-// ------------------------------------------------------------------------
-
-BOOL PBMWriter::WritePBM( const Graphic& rGraphic, SvStream& rPBM, FilterConfigItem* pFilterConfigItem )
-{
-
- mpOStm = &rPBM;
-
- if ( pFilterConfigItem )
- {
- mnMode = pFilterConfigItem->ReadInt32( String( RTL_CONSTASCII_USTRINGPARAM( "FileFormat" ) ), 0 );
-
- xStatusIndicator = pFilterConfigItem->GetStatusIndicator();
- if ( xStatusIndicator.is() )
- {
- rtl::OUString aMsg;
- xStatusIndicator->start( aMsg, 100 );
- }
- }
-
- BitmapEx aBmpEx( rGraphic.GetBitmapEx() );
- Bitmap aBmp = aBmpEx.GetBitmap();
- aBmp.Convert( BMP_CONVERSION_1BIT_THRESHOLD );
-
- mpOStmOldModus = mpOStm->GetNumberFormatInt();
- mpOStm->SetNumberFormatInt( NUMBERFORMAT_INT_BIGENDIAN );
-
- mpAcc = aBmp.AcquireReadAccess();
- if( mpAcc )
- {
- if ( ImplWriteHeader() )
- ImplWriteBody();
-
- aBmp.ReleaseAccess( mpAcc );
- }
- else
- mbStatus = FALSE;
-
- mpOStm->SetNumberFormatInt( mpOStmOldModus );
-
- if ( xStatusIndicator.is() )
- xStatusIndicator->end();
-
- return mbStatus;
-}
-
-// ------------------------------------------------------------------------
-
-BOOL PBMWriter::ImplWriteHeader()
-{
- mnWidth = mpAcc->Width();
- mnHeight = mpAcc->Height();
- if ( mnWidth && mnHeight )
- {
- if ( mnMode == 0 )
- *mpOStm << "P4\x0a";
- else
- *mpOStm << "P1\x0a";
-
- ImplWriteNumber( mnWidth );
- *mpOStm << (BYTE)32;
- ImplWriteNumber( mnHeight );
- *mpOStm << (BYTE)10;
- }
- else mbStatus = FALSE;
- return mbStatus;
-}
-
-// ------------------------------------------------------------------------
-
-void PBMWriter::ImplWriteBody()
-{
- if ( mnMode == 0 )
- {
- BYTE nBYTE = 0;
- for ( ULONG y = 0; y < mnHeight; y++ )
- {
- ULONG x;
- for ( x = 0; x < mnWidth; x++ )
- {
- nBYTE <<= 1;
- if (!(mpAcc->GetPixel( y, x ) & 1 ) )
- nBYTE++;
- if ( ( x & 7 ) == 7 )
- *mpOStm << nBYTE;
- }
- if ( ( x & 7 ) != 0 )
- *mpOStm << (BYTE)( nBYTE << ( ( x ^ 7 ) + 1 ) );
- }
- }
- else
- {
- int nxCount;
- for ( ULONG y = 0; y < mnHeight; y++ )
- {
- nxCount = 70;
- for ( ULONG x = 0; x < mnWidth; x++ )
- {
- if (!( --nxCount ) )
- {
- nxCount = 69;
- *mpOStm << (BYTE)10;
- }
- *mpOStm << (BYTE)( ( mpAcc->GetPixel( y, x ) ^ 1 ) + '0' ) ;
- }
- *mpOStm << (BYTE)10;
- }
- }
-}
-
-// ------------------------------------------------------------------------
-// eine Dezimalzahl im ASCII format wird in den Stream geschrieben
-
-void PBMWriter::ImplWriteNumber( sal_Int32 nNumber )
-{
- const ByteString aNum( ByteString::CreateFromInt32( nNumber ) );
-
- for( sal_Int16 n = 0, nLen = aNum.Len(); n < nLen; n++ )
- *mpOStm << aNum.GetChar( n );
-
-}
-
-// ------------------------------------------------------------------------
-
-// ---------------------
-// - exported function -
-// ---------------------
-
-extern "C" BOOL __LOADONCALLAPI GraphicExport( SvStream& rStream, Graphic& rGraphic, FilterConfigItem* pFilterConfigItem, BOOL )
-{
- PBMWriter aPBMWriter;
-
- return aPBMWriter.WritePBM( rGraphic, rStream, pFilterConfigItem );
-}
-
-// ------------------------------------------------------------------------
-
-extern "C" BOOL __LOADONCALLAPI DoExportDialog( FltCallDialogParameter& rPara )
-{
- BOOL bRet = FALSE;
-
- if ( rPara.pWindow )
- {
- ByteString aResMgrName( "epb" );
- ResMgr* pResMgr;
-
- pResMgr = ResMgr::CreateResMgr( aResMgrName.GetBuffer(), Application::GetSettings().GetUILocale() );
-
- if( pResMgr )
- {
- rPara.pResMgr = pResMgr;
- bRet = ( DlgExportEPBM( rPara ).Execute() == RET_OK );
- delete pResMgr;
- }
- else
- bRet = TRUE;
- }
-
- return bRet;
-}
-
-// ------------------------------------------------------------------------
-#ifndef GCC
-#endif
-
-// ---------------
-// - Win16 trash -
-// ---------------
-
-#ifdef WIN
-
-static HINSTANCE hDLLInst = 0;
-
-extern "C" int CALLBACK LibMain( HINSTANCE hDLL, WORD, WORD nHeap, LPSTR )
-{
- if ( nHeap )
- UnlockData( 0 );
-
- hDLLInst = hDLL;
-
- return TRUE;
-}
-
-// ------------------------------------------------------------------------
-
-extern "C" int CALLBACK WEP( int )
-{
- return 1;
-}
-
-#endif