File: pljpegenc_8h-source.html

package info (click to toggle)
paintlib 2.6.2-8
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,900 kB
  • ctags: 3,875
  • sloc: cpp: 25,209; sh: 10,600; ansic: 1,891; makefile: 119
file content (138 lines) | stat: -rw-r--r-- 9,651 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>paintlib: pljpegenc.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a></div>
<h1>pljpegenc.h</h1><div class="fragment"><pre>00001 <span class="comment">/*</span>
00002 <span class="comment">/--------------------------------------------------------------------</span>
00003 <span class="comment">|</span>
00004 <span class="comment">|      $Id: pljpegenc_8h-source.html,v 1.4 2004/09/15 15:26:29 uzadow Exp $</span>
00005 <span class="comment">|</span>
00006 <span class="comment">|      Copyright (c) 1996-2002 Ulrich von Zadow</span>
00007 <span class="comment">|</span>
00008 <span class="comment">\--------------------------------------------------------------------</span>
00009 <span class="comment">*/</span>
00010 
00011 <span class="preprocessor">#ifndef INCL_PLJPEGENC</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define INCL_PLJPEGENC</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#ifndef INCL_PLPICENC</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#include "plpicenc.h"</span>
00016 <span class="preprocessor">#endif</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "plexif.h"</span>
00019 
00020 <span class="keyword">struct </span>jpeg_compress_struct;
00021 <span class="keyword">struct </span>jpeg_error_mgr;
00022 <span class="comment"></span>
00023 <span class="comment">//! JPEG file encoder. Uses the independent JPEG group's library</span>
00024 <span class="comment">//! to do the actual conversion.</span>
<a name="l00025"></a><a class="code" href="classPLJPEGEncoder.html">00025</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classPLJPEGEncoder.html">PLJPEGEncoder</a> : <span class="keyword">public</span> <a class="code" href="classPLPicEncoder.html">PLPicEncoder</a>
00026 {
00027 
00028 <span class="keyword">public</span>:<span class="comment"></span>
00029 <span class="comment">  //! Creates an encoder</span>
00030 <span class="comment"></span>  <a class="code" href="classPLJPEGEncoder.html">PLJPEGEncoder</a>
00031     ();
00032 <span class="comment"></span>
00033 <span class="comment">  //! Destroys a encoder</span>
00034 <span class="comment"></span>  ~<a class="code" href="classPLJPEGEncoder.html">PLJPEGEncoder</a>
00035     ();
00036 
00037   <span class="comment">// todo: Notification not yet implemented for encoding.</span>
00038   <span class="comment">/*</span>
00039 <span class="comment">  static void JNotification</span>
00040 <span class="comment">    (j_common_ptr cinfo</span>
00041 <span class="comment">    );</span>
00042 <span class="comment">  */</span>
00043 <span class="comment"></span>
00044 <span class="comment">  //! Set the compression quality on a scale from 0 to 100.</span>
00045 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classPLJPEGEncoder.html#a2">SetQuality</a>(<span class="keywordtype">int</span> iQuality);<span class="comment"></span>
00046 <span class="comment">  //! Enable or disable the generation of optimal Huffmann coding tables.</span>
00047 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classPLJPEGEncoder.html#a3">SetOptimizeCoding</a>(<span class="keywordtype">bool</span> bOptimizeCoding);<span class="comment"></span>
00048 <span class="comment">  //! Set the smoothing factor (&lt;=100). 0 turns it off.</span>
00049 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classPLJPEGEncoder.html#a4">SetSmoothingFactor</a>(<span class="keywordtype">int</span> iSmoothingFactor);<span class="comment"></span>
00050 <span class="comment">  //! Set the resolution information (DPI) for the image.</span>
00051 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classPLJPEGEncoder.html#a5">SetDensity</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uiX, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uiY);
00052 <span class="comment"></span>
00053 <span class="comment">  //! Set Exif (digital camera) Data for the next encode. The encoder only </span>
00054 <span class="comment">  //! holds on to the Exif data until the next encode.</span>
00055 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classPLJPEGEncoder.html#a6">SetExifData</a>(PLExif&amp; ExifData);
00056 
00057 <span class="keyword">protected</span>:
00058   <span class="comment">// Sets up the jpeg library data source and error handler and</span>
00059   <span class="comment">// calls the jpeg encoder.</span>
00060   <span class="keywordtype">void</span> <a class="code" href="classPLJPEGEncoder.html#b0">DoEncode</a>
00061     ( <a class="code" href="classPLBmpBase.html">PLBmpBase</a> * pBmp,
00062       <a class="code" href="classPLDataSink.html">PLDataSink</a> * pDataSink
00063     );
00064 
00065 <span class="keyword">private</span>:
00066   <span class="comment">// Assumes IJPEG decoder is already set up.</span>
00067   <span class="keywordtype">void</span> encodeRGB
00068     ( <a class="code" href="classPLBmpBase.html">PLBmpBase</a> * pBmp,
00069       <span class="keywordtype">int</span> iScanLines
00070     );
00071 
00072   jpeg_compress_struct * m_pcinfo;  <span class="comment">// IJPEG encoder state.</span>
00073   jpeg_error_mgr       * m_pjerr;   <span class="comment">// Custom error manager.</span>
00074 
00075   <span class="keywordtype">int</span> iQuality_;
00076   <span class="keywordtype">bool</span> bOptimizeCoding_;
00077   <span class="keywordtype">int</span> iSmoothingFactor_;
00078   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uiDensityX_;
00079   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uiDensityY_;
00080   PLExif* m_pExifData;
00081 };
00082 
00083 <span class="preprocessor">#endif</span>
00084 <span class="preprocessor"></span>
00085 <span class="comment">/*</span>
00086 <span class="comment">/--------------------------------------------------------------------</span>
00087 <span class="comment">|</span>
00088 <span class="comment">|      $Log: pljpegenc_8h-source.html,v $
00088 <span class="comment">|      Revision 1.4  2004/09/15 15:26:29  uzadow
00088 <span class="comment">|      Linux compatibility changes, doc update.
00088 <span class="comment">|</span>
00089 <span class="comment">|      Revision 1.5  2004/06/19 18:16:33  uzadow</span>
00090 <span class="comment">|      Documentation update</span>
00091 <span class="comment">|</span>
00092 <span class="comment">|      Revision 1.4  2003/04/19 19:03:52  uzadow</span>
00093 <span class="comment">|      Exif save (windows)</span>
00094 <span class="comment">|</span>
00095 <span class="comment">|      Revision 1.3  2002/02/24 13:00:21  uzadow</span>
00096 <span class="comment">|      Documentation update; removed buggy PLFilterRotate.</span>
00097 <span class="comment">|</span>
00098 <span class="comment">|      Revision 1.2  2001/10/06 20:44:45  uzadow</span>
00099 <span class="comment">|      Linux compatibility</span>
00100 <span class="comment">|</span>
00101 <span class="comment">|      Revision 1.1  2001/09/16 19:03:22  uzadow</span>
00102 <span class="comment">|      Added global name prefix PL, changed most filenames.</span>
00103 <span class="comment">|</span>
00104 <span class="comment">|      Revision 1.5  2000/05/22 17:43:25  Ulrich von Zadow</span>
00105 <span class="comment">|      Added SetQuality(), SetDensity(), SetOptimizeCoding() and</span>
00106 <span class="comment">|      SetSmoothingFactor().</span>
00107 <span class="comment">|</span>
00108 <span class="comment">|      Revision 1.4  2000/01/16 20:43:13  anonymous</span>
00109 <span class="comment">|      Removed MFC dependencies</span>
00110 <span class="comment">|</span>
00111 <span class="comment">|      Revision 1.3  1999/12/08 15:39:45  Ulrich von Zadow</span>
00112 <span class="comment">|      Unix compatibility changes</span>
00113 <span class="comment">|</span>
00114 <span class="comment">|      Revision 1.2  1999/11/27 18:45:48  Ulrich von Zadow</span>
00115 <span class="comment">|      Added/Updated doc comments.</span>
00116 <span class="comment">|</span>
00117 <span class="comment">|      Revision 1.1  1999/10/19 21:28:05  Ulrich von Zadow</span>
00118 <span class="comment">|      Added jpeg encoder</span>
00119 <span class="comment">|</span>
00120 <span class="comment">|</span>
00121 <span class="comment">\--------------------------------------------------------------------</span>
00122 <span class="comment">*/</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Sep 13 16:16:40 2004 for paintlib by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.2 </small></address>
</body>
</html>