00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
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 } }
00084
00085 #endif