Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

JpegImage.hh

Go to the documentation of this file.
00001 /*
00002     libpdf++: a C++ Free library to generate PDF file
00003     Copyright (C) 2002 Nestal Wan
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Lesser General Public
00007     License as published by the Free Software Foundation; either
00008     version 2.1 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Lesser General Public License for more details.
00014 
00015     You should have received a copy of the GNU Lesser General Public
00016     License along with this library; if not, write to the Free Software
00017     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 */
00026 #ifndef __PDF_GRAPH_JPEG_IMAGE_HEADER_INCLUDED__
00027 #define __PDF_GRAPH_JPEG_IMAGE_HEADER_INCLUDED__
00028 
00029 #ifndef __PDF_GRAPH_IMG_BASE_INCLUDED__
00030 #include "ImgBase.hh"
00031 #endif
00032 
00033 #ifndef __PDF_CORE_STREAM_HEADER_INCLUDED__
00034 #include "core/Stream.hh"
00035 #endif
00036 
00037 #ifndef __IMAGE_HEADER_HEADER_INCLUDED__
00038 #include "image/Header.hh"
00039 #endif
00040 
00041 #include <string>
00042 
00043 namespace pdf { namespace graph {
00044 
00059 class CJpegImage : public CImgBase
00060 {
00061 private :
00062     const std::string   m_filename ;        
00063     image::CHeader      m_header ;          
00064     
00065 public :
00066     CJpegImage( const std::string& filename ) ;
00067     ~CJpegImage( ) ;
00068 
00069     core::CObject* Dup( ) const ;
00070 
00071     const core::CObjRef Write( core::CFile& file ) const ;
00072 
00073     const image::CHeader& Header( ) const ;
00074 
00075 protected :
00076     const CByteVec& GetContent( CByteVec& output ) const ;
00077     void MakeDictionary( core::CDictionary& dict ) const ;
00078 
00079 private :
00080     void ReadHeader( ) ;
00081 } ;
00082 
00083 } } // end of namespace
00084 
00085 #endif

Generated on Sun Feb 2 09:16:05 2003 for libpdf++ by doxygen1.2.16