00001 // This is core/vil/file_formats/vil_jpeg_destination_mgr.h 00002 #ifndef vil_jpeg_destination_mgr_h_ 00003 #define vil_jpeg_destination_mgr_h_ 00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE 00005 #pragma interface 00006 #endif 00007 //: 00008 // \file 00009 // \author fsm 00010 // \verbatim 00011 // Modifications 00012 // 11 Oct 2002 Ian Scott - converted to vil 00013 //\endverbatim 00014 00015 #include <vil/file_formats/vil_jpeglib.h> 00016 class vil_stream; 00017 00018 //: this is the data source structure which allows JPEG to write to a vil_stream. 00019 struct vil_jpeg_stream_destination_mgr 00020 { 00021 struct jpeg_destination_mgr base; 00022 00023 vil_stream *stream; /* target stream */ 00024 JOCTET * buffer; /* start of buffer */ 00025 }; 00026 00027 void 00028 vil_jpeg_init_destination (j_compress_ptr cinfo); 00029 00030 jpeg_boolean 00031 vil_jpeg_empty_output_buffer (j_compress_ptr cinfo); 00032 00033 void 00034 vil_jpeg_term_destination (j_compress_ptr cinfo); 00035 00036 void 00037 vil_jpeg_stream_dst_set (j_compress_ptr cinfo, vil_stream *vs); 00038 00039 void 00040 vil_jpeg_stream_dst_rewind(j_compress_ptr cinfo, vil_stream *vs); 00041 00042 #endif // vil_jpeg_destination_mgr_h_