00001 // PngConvert.H 00002 // 00003 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 00004 // All rights reserved. 00005 // This component and the accompanying materials are made available 00006 // under the terms of "Eclipse Public License v1.0" 00007 // which accompanies this distribution, and is available 00008 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00009 // 00010 // Initial Contributors: 00011 // Nokia Corporation - initial contribution. 00012 // 00013 // Contributors: 00014 // 00015 // Description: 00016 // 00017 // 00018 00019 #ifndef __PNGCONVERT_H__ 00020 #define __PNGCONVERT_H__ 00021 00022 #include <icl/imageplugin.h> 00023 00024 #include "PNGCodec.h" 00025 00026 // 00027 // PNG decoder class 00028 // 00029 class CPngDecoder : public CImageDecoderPlugin 00030 { 00031 public: 00032 // Construction 00033 static CPngDecoder* NewL(); 00034 ~CPngDecoder(); 00035 00036 private: 00037 // from CImageDecoderPlugin 00038 00039 // Gets the image type and sub-type for a given frame of the image that 00040 // has just been decoded. 00041 virtual void ImageType(TInt aFrameNumber, TUid& aImageType, TUid& aImageSubType) const; 00042 // Gets text descriptions of image properties 00043 CFrameInfoStrings* FrameInfoStringsL(RFs& aFs, TInt aFrameNumber); 00044 // Scans the image header. 00045 void ScanDataL(); 00046 00047 private: 00048 CPngDecoder(); 00049 void ReadFormatL(); 00050 }; 00051 00052 // 00053 // PNG encoder class 00054 // 00055 class CPngEncoder : public CImageEncoderPlugin 00056 { 00057 public: 00058 // Construction 00059 static CPngEncoder* NewL(); 00060 ~CPngEncoder(); 00061 00062 private: 00063 // from CImageEncoderPlugin 00064 00065 // Sets up the codec to encode the frame 00066 void PrepareEncoderL(const CFrameImageData* aFrameImageData); 00067 // Update header (not used) 00068 void UpdateHeaderL() {}; 00069 00070 private: 00071 CPngEncoder(); 00072 }; 00073 00074 #endif // __PNGCONVERT_H__
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.