examples/Multimedia/ICL/ICLCodec/PNGConvert.h

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__

Generated by  doxygen 1.6.2