summaryrefslogtreecommitdiff
path: root/svtools/inc/svtools/filter.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/inc/svtools/filter.hxx')
-rw-r--r--svtools/inc/svtools/filter.hxx383
1 files changed, 0 insertions, 383 deletions
diff --git a/svtools/inc/svtools/filter.hxx b/svtools/inc/svtools/filter.hxx
deleted file mode 100644
index 3aae4a4139..0000000000
--- a/svtools/inc/svtools/filter.hxx
+++ /dev/null
@@ -1,383 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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.
- *
- ************************************************************************/
-
-#ifndef _FILTER_HXX
-#define _FILTER_HXX
-
-#include <svtools/fltcall.hxx>
-#include "svtools/svtdllapi.h"
-#include <tools/stream.hxx>
-#include <vcl/graph.hxx>
-#include <tools/gen.hxx>
-#include <tools/urlobj.hxx>
-#include <vcl/field.hxx>
-#include <com/sun/star/uno/Sequence.h>
-#include <com/sun/star/beans/PropertyValue.hpp>
-
-struct WMF_APMFILEHEADER;
-// -----------------------
-// - GraphicFilter-Types -
-// -----------------------
-
-struct ImplDirEntryHelper
-{
- static sal_Bool Exists( const INetURLObject& rObj );
- static void Kill( const String& rStr );
-};
-
-class Window;
-class Graphic;
-
-#define OPT_FILTERSECTION "Graphic"
-
-#define GRFILTER_OK 0
-#define GRFILTER_OPENERROR 1
-#define GRFILTER_IOERROR 2
-#define GRFILTER_FORMATERROR 3
-#define GRFILTER_VERSIONERROR 4
-#define GRFILTER_FILTERERROR 5
-#define GRFILTER_ABORT 6
-#define GRFILTER_TOOBIG 7
-
-#define GRFILTER_OUTHINT_GREY 1
-
-#define GRFILTER_FORMAT_NOTFOUND ((sal_uInt16)0xFFFF)
-#define GRFILTER_FORMAT_DONTKNOW ((sal_uInt16)0xFFFF)
-
-#define GRFILTER_I_FLAGS_SET_LOGSIZE_FOR_JPEG 00000001
-#define GRFILTER_I_FLAGS_DONT_SET_LOGSIZE_FOR_JPEG 00000002
-#define GRFILTER_I_FLAGS_FOR_PREVIEW 00000004
-#define GRFILTER_I_FLAGS_ALLOW_PARTIAL_STREAMREAD 00000010
-
-#define IMP_BMP "SVBMP"
-#define IMP_SVMETAFILE "SVMETAFILE"
-#define IMP_WMF "SVWMF"
-#define IMP_EMF "SVEMF"
-#define IMP_SVSGF "SVSGF"
-#define IMP_SVSGV "SVSGV"
-#define IMP_GIF "SVIGIF"
-#define IMP_PNG "SVIPNG"
-#define IMP_JPEG "SVIJPEG"
-#define IMP_XBM "SVIXBM"
-#define IMP_XPM "SVIXPM"
-#define IMP_SVG "SVISVG"
-#define EXP_BMP "SVBMP"
-#define EXP_SVMETAFILE "SVMETAFILE"
-#define EXP_WMF "SVWMF"
-#define EXP_EMF "SVEMF"
-#define EXP_JPEG "SVEJPEG"
-#define EXP_SVG "SVESVG"
-#define EXP_PNG "SVEPNG"
-
-#define BMP_SHORTNAME "BMP"
-#define GIF_SHORTNAME "GIF"
-#define JPG_SHORTNAME "JPG"
-#define MET_SHORTNAME "MET"
-#define PCT_SHORTNAME "PCT"
-#define PNG_SHORTNAME "PNG"
-#define SVM_SHORTNAME "SVM"
-#define TIF_SHORTNAME "TIF"
-#define WMF_SHORTNAME "WMF"
-#define EMF_SHORTNAME "EMF"
-#define SVG_SHORTNAME "SVG"
-
-// ------------------------------------
-// - Info-Klasse fuer alle von uns
-// unterstuetzten Grafik-Fileformate
-// ------------------------------------
-
-#define GFF_NOT ( (sal_uInt16)0x0000 )
-#define GFF_BMP ( (sal_uInt16)0x0001 )
-#define GFF_GIF ( (sal_uInt16)0x0002 )
-#define GFF_JPG ( (sal_uInt16)0x0003 )
-#define GFF_PCD ( (sal_uInt16)0x0004 )
-#define GFF_PCX ( (sal_uInt16)0x0005 )
-#define GFF_PNG ( (sal_uInt16)0x0006 )
-#define GFF_TIF ( (sal_uInt16)0x0007 )
-#define GFF_XBM ( (sal_uInt16)0x0008 )
-#define GFF_XPM ( (sal_uInt16)0x0009 )
-#define GFF_PBM ( (sal_uInt16)0x000a )
-#define GFF_PGM ( (sal_uInt16)0x000b )
-#define GFF_PPM ( (sal_uInt16)0x000c )
-#define GFF_RAS ( (sal_uInt16)0x000d )
-#define GFF_TGA ( (sal_uInt16)0x000e )
-#define GFF_PSD ( (sal_uInt16)0x000f )
-#define GFF_EPS ( (sal_uInt16)0x0010 )
-#define GFF_DXF ( (sal_uInt16)0x00f1 )
-#define GFF_MET ( (sal_uInt16)0x00f2 )
-#define GFF_PCT ( (sal_uInt16)0x00f3 )
-#define GFF_SGF ( (sal_uInt16)0x00f4 )
-#define GFF_SVM ( (sal_uInt16)0x00f5 )
-#define GFF_WMF ( (sal_uInt16)0x00f6 )
-#define GFF_SGV ( (sal_uInt16)0x00f7 )
-#define GFF_EMF ( (sal_uInt16)0x00f8 )
-#define GFF_SVG ( (sal_uInt16)0x00f9 )
-#define GFF_XXX ( (sal_uInt16)0xffff )
-
-// ---------------------
-// - GraphicDescriptor -
-// ---------------------
-
-class SVT_DLLPUBLIC GraphicDescriptor
-{
- SvStream* pFileStm;
-
- String aPathExt;
- Size aPixSize;
- Size aLogSize;
- sal_uInt16 nBitsPerPixel;
- sal_uInt16 nPlanes;
- sal_uInt16 nFormat;
- sal_Bool bCompressed;
- sal_Bool bOwnStream;
-
- void ImpConstruct();
-
- sal_Bool ImpDetectBMP( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectGIF( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectJPG( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPCD( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPCX( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPNG( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectTIF( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectXBM( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectXPM( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPBM( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPGM( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPPM( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectRAS( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectTGA( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPSD( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectEPS( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectDXF( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectMET( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectPCT( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectSGF( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectSVM( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectWMF( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectSGV( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectEMF( SvStream& rStm, sal_Bool bExtendedInfo );
- sal_Bool ImpDetectSVG( SvStream& rStm, sal_Bool bExtendedInfo );
- GraphicDescriptor( const GraphicDescriptor& );
- GraphicDescriptor& operator=( const GraphicDescriptor& );
-
-public:
-
- // Ctor, um einen Filenamen zu setzen. Es muss ::Detect() gerufen werden,
- // um das File zu identifizieren;
- // wenn das File keinen eindeutigen Header besitzt ( Mtf's ) wird das
- // Format anhand der Extension bestimmt
- GraphicDescriptor( const INetURLObject& rPath );
-
- // Ctor, um einen Stream zu setzen. Es muss ::Detect() gerufen werden,
- // um das File zu identifizieren;
- // da einige Formate ( Mtf's ) keinen eindeutigen Header besitzen,
- // ist es sinnvoll den Filenamen (inkl. Ext. ) mitanzugeben,
- // da so das Format ueber die Extension ermittelt werden kann
- GraphicDescriptor( SvStream& rInStream, const String* pPath = NULL );
-
- // Dtor
- virtual ~GraphicDescriptor();
-
- // Startet die Detektion;
- // bei bExtendedInfo == sal_True werden soweit wie moeglich
- // Daten aus dem jeweiligen FileHeader ermittelt
- // ( Groesse, Farbtiefe usw. )
- virtual sal_Bool Detect( sal_Bool bExtendedInfo = sal_False );
-
- // liefert das Fileformat nach erfolgreicher Detektion zurueck;
- // wenn kein Format erkannt wurde, ist das Formart GFF_NOT
- sal_uInt16 GetFileFormat() const { return nFormat; }
-
- // liefert die Pixel-Bildgroesse oder 0-Size zurueck
- const Size& GetSizePixel() const { return (Size&) aPixSize; }
-
- // liefert die logische Bildgroesse in 1/100mm oder 0-Size zurueck
- const Size& GetSize_100TH_MM() const { return (Size&) aLogSize; }
-
- // liefert die Bits/Pixel oder 0 zurueck
- sal_uInt16 GetBitsPerPixel() const { return nBitsPerPixel; }
-
- // liefert die Anzahl der Planes oder 0 zurueck
- sal_uInt16 GetPlanes() const { return nPlanes; }
-
- // zeigt an, ob das Bild evtl. komprimiert (wie auch immer) ist
- sal_Bool IsCompressed() const { return bCompressed; }
-
- // gibt die Filternummer des Filters zurueck,
- // der im GraphicFilter zum Lesen dieses Formats
- // benoetigt wird
- static String GetImportFormatShortName( sal_uInt16 nFormat );
-};
-
-// -----------------
-// - GraphicFilter -
-// -----------------
-
-struct FilterErrorEx
-{
- sal_uLong nFilterError;
- sal_uLong nStreamError;
- long nDummy1;
- long nDummy2;
- long nDummy3;
- long nDummy4;
-
- FilterErrorEx() : nFilterError( 0UL ), nStreamError( 0UL ) {}
-};
-
-// -----------------------------------------------------------------------------
-
-struct ConvertData;
-class FilterConfigCache;
-class SVT_DLLPUBLIC GraphicFilter
-{
- friend class SvFilterOptionsDialog;
-
-private:
-
- void ImplInit();
- sal_uLong ImplSetError( sal_uLong nError, const SvStream* pStm = NULL );
- sal_uInt16 ImpTestOrFindFormat( const String& rPath, SvStream& rStream, sal_uInt16& rFormat );
-
- DECL_LINK( FilterCallback, ConvertData* pData );
-
-protected:
-
- String aFilterPath;
- FilterConfigCache* pConfig;
- FilterErrorEx* pErrorEx;
- sal_Bool bAbort;
- sal_Bool bUseConfig;
- sal_Bool bDummy1;
- sal_Bool bDummy2;
- sal_Bool bDummy3;
- sal_Bool bDummy4;
- long nExpGraphHint;
- long nDummy2;
- void* pDummy1;
- void* pDummy2;
-
-public:
-
- GraphicFilter( sal_Bool bUseConfig = sal_True );
- ~GraphicFilter();
-
- void SetFilterPath( const String& rFilterPath ) { aFilterPath = rFilterPath; };
-
- sal_uInt16 GetImportFormatCount();
- sal_uInt16 GetImportFormatNumber( const String& rFormatName );
- sal_uInt16 GetImportFormatNumberForMediaType( const String& rMediaType );
- sal_uInt16 GetImportFormatNumberForShortName( const String& rShortName );
- sal_uInt16 GetImportFormatNumberForTypeName( const String& rType );
- String GetImportFormatName( sal_uInt16 nFormat );
- String GetImportFormatTypeName( sal_uInt16 nFormat );
- String GetImportFormatMediaType( sal_uInt16 nFormat );
- String GetImportFormatShortName( sal_uInt16 nFormat );
- String GetImportOSFileType( sal_uInt16 nFormat );
- String GetImportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry = 0 );
- sal_Bool IsImportPixelFormat( sal_uInt16 nFormat );
-
- sal_uInt16 GetExportFormatCount();
- sal_uInt16 GetExportFormatNumber( const String& rFormatName );
- sal_uInt16 GetExportFormatNumberForMediaType( const String& rShortName );
- sal_uInt16 GetExportFormatNumberForShortName( const String& rShortName );
- sal_uInt16 GetExportFormatNumberForTypeName( const String& rType );
- String GetExportFormatName( sal_uInt16 nFormat );
- String GetExportFormatTypeName( sal_uInt16 nFormat );
- String GetExportFormatMediaType( sal_uInt16 nFormat );
- String GetExportFormatShortName( sal_uInt16 nFormat );
- String GetExportOSFileType( sal_uInt16 nFormat );
- String GetExportWildcard( sal_uInt16 nFormat, sal_Int32 nEntry = 0 );
- sal_Bool IsExportPixelFormat( sal_uInt16 nFormat );
-
- sal_Bool HasImportDialog( sal_uInt16 nFormat );
- sal_Bool DoImportDialog( Window* pWindow, sal_uInt16 nFormat );
-
- sal_Bool HasExportDialog( sal_uInt16 nFormat );
- sal_Bool DoExportDialog( Window* pWindow, sal_uInt16 nFormat );
- sal_Bool DoExportDialog( Window* pWindow, sal_uInt16 nFormat, FieldUnit eFieldUnit );
-
- sal_uInt16 ExportGraphic( const Graphic& rGraphic, const INetURLObject& rPath,
- sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW,
- const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData = NULL );
- sal_uInt16 ExportGraphic( const Graphic& rGraphic, const String& rPath,
- SvStream& rOStm, sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW,
- const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData = NULL );
- long GetExportGraphicHint() const { return nExpGraphHint; }
-
- sal_uInt16 CanImportGraphic( const INetURLObject& rPath,
- sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW,
- sal_uInt16 * pDeterminedFormat = NULL);
-
- sal_uInt16 ImportGraphic( Graphic& rGraphic, const INetURLObject& rPath,
- sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW,
- sal_uInt16 * pDeterminedFormat = NULL, sal_uInt32 nImportFlags = 0 );
-
- sal_uInt16 CanImportGraphic( const String& rPath, SvStream& rStream,
- sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW,
- sal_uInt16 * pDeterminedFormat = NULL);
-
- sal_uInt16 ImportGraphic( Graphic& rGraphic, const String& rPath,
- SvStream& rStream,
- sal_uInt16 nFormat = GRFILTER_FORMAT_DONTKNOW,
- sal_uInt16 * pDeterminedFormat = NULL, sal_uInt32 nImportFlags = 0,
- WMF_APMFILEHEADER *pAPMHeader = NULL );
-
- sal_uInt16 ImportGraphic( Graphic& rGraphic, const String& rPath,
- SvStream& rStream,
- sal_uInt16 nFormat,
- sal_uInt16 * pDeterminedFormat, sal_uInt32 nImportFlags,
- com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData,
- WMF_APMFILEHEADER *pAPMHeader = NULL );
-
- sal_Bool Setup( sal_uInt16 nFormat );
-
- void Abort() { bAbort = sal_True; }
-
- const FilterErrorEx& GetLastError() const;
- void ResetLastError();
-
- const Link GetFilterCallback() const;
- static GraphicFilter& GetGraphicFilter();
- static int LoadGraphic( const String& rPath, const String& rFilter,
- Graphic& rGraphic,
- GraphicFilter* pFilter = NULL,
- sal_uInt16* pDeterminedFormat = NULL );
-};
-
-// ------------------------------------
-// - Windows Metafile Lesen/Schreiben -
-// ------------------------------------
-
-SVT_DLLPUBLIC sal_Bool ReadWindowMetafile( SvStream& rStream, GDIMetaFile& rMTF, FilterConfigItem* pConfigItem );
-SVT_DLLPUBLIC sal_Bool WriteWindowMetafileBits( SvStream& rStream, const GDIMetaFile& rMTF );
-
-#endif //_FILTER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */