JpegReader.h
1 /* Copyright (C) 2016 Marc Boris Duerner
2  *
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * As a special exception, you may use this file as part of a free
9  * software library without restriction. Specifically, if other files
10  * instantiate templates or use macros or inline functions from this
11  * file, or you compile this file and link it with other files to
12  * produce an executable, this file does not by itself cause the
13  * resulting executable to be covered by the GNU General Public
14  * License. This exception does not however invalidate any other
15  * reasons why the executable file might be covered by the GNU Library
16  * General Public License.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21  * Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public
24  * License along with this library; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
26  * MA 02110-1301 USA
27  */
28 
29 #ifndef PT_GFX_JEPGREADER_H
30 #define PT_GFX_JEPGREADER_H
31 
32 #include <Pt/Gfx/Api.h>
33 #include <iosfwd>
34 
35 namespace Pt {
36 
37 namespace Gfx {
38 
39 // TODO: ImageIOHandler used by ImageReader and ImageWriter
40 
43 class PT_GFX_API JpegReader
44 {
45  public:
49 
52  JpegReader(std::istream& is, Image& image);
53 
57 
60  void attach(std::istream& is, Image& image);
61 
64  void detach();
65 
68  void reset();
69 
73 
76  Image& get();
77 
78  private:
79  class JpegReaderImpl* _impl;
80 };
81 
82 } // namespace
83 
84 } // namespace
85 
86 #endif
Image * advance()
Reads image data from the target stream.
Core module.
Definition: pt-gfx-images.dox:14
Reader for JPEG images.
Definition: JpegReader.h:44
JpegReader()
Default Constructor.
void attach(std::istream &is, Image &image)
Attach to target stream and image.
JpegReader(std::istream &is, Image &image)
Construct with target stream and image.
~JpegReader()
Destructor.
Image & get()
Reads the whole image from the stream.
Basic image.
Definition: Image.h:52
void detach()
Detach from target stream.
void reset()
Reset to begin new compression/decompression.