10d63794cSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 30d63794cSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 40d63794cSAndrew Rist * or more contributor license agreements. See the NOTICE file 50d63794cSAndrew Rist * distributed with this work for additional information 60d63794cSAndrew Rist * regarding copyright ownership. The ASF licenses this file 70d63794cSAndrew Rist * to you under the Apache License, Version 2.0 (the 80d63794cSAndrew Rist * "License"); you may not use this file except in compliance 90d63794cSAndrew Rist * with the License. You may obtain a copy of the License at 100d63794cSAndrew Rist * 110d63794cSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 120d63794cSAndrew Rist * 130d63794cSAndrew Rist * Unless required by applicable law or agreed to in writing, 140d63794cSAndrew Rist * software distributed under the License is distributed on an 150d63794cSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 160d63794cSAndrew Rist * KIND, either express or implied. See the License for the 170d63794cSAndrew Rist * specific language governing permissions and limitations 180d63794cSAndrew Rist * under the License. 190d63794cSAndrew Rist * 200d63794cSAndrew Rist *************************************************************/ 210d63794cSAndrew Rist 220d63794cSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _SV_PNGWRITE_HXX 25cdf0e10cSrcweir #define _SV_PNGWRITE_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <com/sun/star/uno/Sequence.hxx> 28cdf0e10cSrcweir #include <com/sun/star/beans/PropertyValue.hpp> 29cdf0e10cSrcweir #include <vcl/dllapi.h> 30cdf0e10cSrcweir #include <vcl/bitmapex.hxx> 31cdf0e10cSrcweir #include <vector> 32cdf0e10cSrcweir 33cdf0e10cSrcweir // ------------- 34cdf0e10cSrcweir // - PNGWriter - 35cdf0e10cSrcweir // ------------- 36cdf0e10cSrcweir 37cdf0e10cSrcweir namespace vcl 38cdf0e10cSrcweir { 39cdf0e10cSrcweir class PNGWriterImpl; 40cdf0e10cSrcweir 41cdf0e10cSrcweir class VCL_DLLPUBLIC PNGWriter 42cdf0e10cSrcweir { 43cdf0e10cSrcweir PNGWriterImpl* mpImpl; 44cdf0e10cSrcweir 45cdf0e10cSrcweir public: 46cdf0e10cSrcweir 47*45fd3b9aSArmin Le Grand explicit PNGWriter( const BitmapEx&, 48cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >* pFilterData = NULL ); 49cdf0e10cSrcweir ~PNGWriter(); 50cdf0e10cSrcweir 51cdf0e10cSrcweir sal_Bool Write( SvStream& rStm ); 52cdf0e10cSrcweir 53cdf0e10cSrcweir // additional method to be able to modify all chunk before they are stored 54cdf0e10cSrcweir struct ChunkData 55cdf0e10cSrcweir { 56cdf0e10cSrcweir sal_uInt32 nType; 57cdf0e10cSrcweir std::vector< sal_uInt8 > aData; 58cdf0e10cSrcweir }; 59cdf0e10cSrcweir std::vector< vcl::PNGWriter::ChunkData >& GetChunks(); 60cdf0e10cSrcweir }; 61cdf0e10cSrcweir } 62cdf0e10cSrcweir 63cdf0e10cSrcweir #endif // _SV_PNGWRITE_HXX 64