OFFIS DCMTK  Version 3.6.0
dipipng.h
1 /*
2  *
3  * Copyright (C) 2003-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmimage
15  *
16  * Author: Alexander Haderer
17  *
18  * Purpose: Implements PNG interface for plugable image formats
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:16:29 $
22  * CVS/RCS Revision: $Revision: 1.7 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 
30 #ifndef DIPIPNG_H
31 #define DIPIPNG_H
32 
33 #include "dcmtk/config/osconfig.h"
34 
35 #ifdef WITH_LIBPNG
36 
37 #include "dcmtk/ofstd/ofstring.h"
38 
39 #include "dcmtk/dcmimgle/diplugin.h"
40 
41 
42 /*------------------------*
43  * forward declarations *
44  *------------------------*/
45 
46 class DiImage;
47 
48 
49 /*--------------------*
50  * type definitions *
51  *--------------------*/
52 
57 enum DiPNGInterlace
58 {
60  E_pngInterlaceAdam7,
61 
63  E_pngInterlaceNone
64 };
65 
69 enum DiPNGMetainfo
70 {
72  E_pngNoMetainfo,
73 
75  E_pngFileMetainfo
76 };
77 
78 
79 /*---------------------*
80  * class declaration *
81  *---------------------*/
82 
86  : public DiPluginFormat
87 {
88 
89  public:
90 
93  DiPNGPlugin();
94 
97  virtual ~DiPNGPlugin();
98 
105  virtual int write(DiImage *image,
106  FILE *stream,
107  const unsigned long frame = 0) const;
108 
112  void setInterlaceType(DiPNGInterlace inter);
113 
117  void setMetainfoType(DiPNGMetainfo minfo);
118 
124 
125 
126  private:
127 
129  DiPNGInterlace interlaceType;
130 
132  DiPNGMetainfo metainfoType;
133 };
134 
135 #endif
136 #endif
137 
138 
139 /*
140  * CVS/RCS Log:
141  * $Log: dipipng.h,v $
142  * Revision 1.7 2010-10-14 13:16:29 joergr
143  * Updated copyright header. Added reference to COPYRIGHT file.
144  *
145  * Revision 1.6 2010-03-01 09:08:46 uli
146  * Removed some unnecessary include directives in the headers.
147  *
148  * Revision 1.5 2005-12-08 16:01:42 meichel
149  * Changed include path schema for all DCMTK header files
150  *
151  * Revision 1.4 2004/04/07 12:06:28 joergr
152  * Removed comma at end of enumerator list.
153  *
154  * Revision 1.3 2003/12/23 12:09:24 joergr
155  * Updated documentation to get rid of doxygen warnings.
156  *
157  * Revision 1.2 2003/12/17 18:18:08 joergr
158  * Removed leading underscore characters from preprocessor symbols (reserved
159  * symbols).
160  *
161  * Revision 1.1 2003/02/11 13:18:38 meichel
162  * Added PNG export option to dcm2pnm and dcmj2pnm
163  *
164  *
165  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2