File: plfilesrc_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 (162 lines) | stat: -rw-r--r-- 9,959 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!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: plfilesrc.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>plfilesrc.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: plfilesrc_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_PLFILESRC</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define INCL_PLFILESRC</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#ifndef INCL_PLDATASRC</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#include "pldatasrc.h"</span>
00016 <span class="preprocessor">#endif</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "config.h"</span>
00019 
00020 
00021 <span class="preprocessor">#ifdef _WINDOWS</span>
00022 <span class="preprocessor"></span>  <span class="keyword">typedef</span> <span class="keywordtype">void</span> *HANDLE;
00023 <span class="preprocessor">#endif</span>
00024 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00026 
00027 <span class="keyword">class </span><a class="code" href="classPLIProgressNotification.html">PLIProgressNotification</a>;
00028 <span class="comment"></span>
00029 <span class="comment">//! This is a class which takes a file as a source of picture data.</span>
<a name="l00030"></a><a class="code" href="classPLFileSource.html">00030</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classPLFileSource.html">PLFileSource</a> : <span class="keyword">public</span> <a class="code" href="classPLDataSource.html">PLDataSource</a>
00031 {
00032 
00033 <span class="keyword">public</span>:<span class="comment"></span>
00034 <span class="comment">  //!</span>
00035 <span class="comment"></span>  <a class="code" href="classPLFileSource.html">PLFileSource</a>
00036     ( <a class="code" href="classPLIProgressNotification.html">PLIProgressNotification</a> * pNotification = NULL
00037     );
00038 <span class="comment"></span>
00039 <span class="comment">  //!</span>
00040 <span class="comment"></span>  <span class="keyword">virtual</span> ~<a class="code" href="classPLFileSource.html">PLFileSource</a>
00041     ();
00042 <span class="comment"></span>
00043 <span class="comment">  //!</span>
00044 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> Open
00045     ( <span class="keyword">const</span> <span class="keywordtype">char</span> * pszFName
00046     );
00047 <span class="preprocessor">#ifdef _WINDOWS</span>
00048 <span class="preprocessor"></span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> OpenW
00049     ( <span class="keyword">const</span> <span class="keywordtype">wchar_t</span> * pszwFName
00050     );
00051 <span class="preprocessor">#endif</span>
00052 <span class="preprocessor"></span><span class="comment"></span>
00053 <span class="comment">  //!</span>
00054 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> Close
00055     ();
00056 
00057   <span class="keyword">virtual</span> PLBYTE * <a class="code" href="classPLFileSource.html#a4">ReadNBytes</a>
00058     ( <span class="keywordtype">int</span> n
00059     );
00060 <span class="comment"></span>
00061 <span class="comment">  //! Read but don't advance file pointer.</span>
00062 <span class="comment"></span>  <span class="keyword">virtual</span> PLBYTE * <a class="code" href="classPLFileSource.html#a5">GetBufferPtr</a>
00063     ( <span class="keywordtype">int</span> MinBytesInBuffer
00064     );
00065 
00066   <span class="keyword">virtual</span> PLBYTE * <a class="code" href="classPLFileSource.html#a6">ReadEverything</a>
00067     ();
00068 <span class="comment"></span>
00069 <span class="comment">  //!</span>
00070 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> Seek
00071     ( <span class="keywordtype">int</span> n
00072     );
00073 
00074 <span class="keyword">private</span>:
00075   <span class="keywordtype">void</span> isBufferOk (<span class="keywordtype">int</span> NumBytes);
00076 <span class="preprocessor">#ifdef _WINDOWS</span>
00077 <span class="preprocessor"></span>  <span class="keywordtype">int</span> mapFileHandle();
00078   <span class="keywordtype">int</span> getLastPLError();
00079   
00080   HANDLE m_hf;    <span class="comment">// File handle.</span>
00081   HANDLE m_hm;    <span class="comment">// Handle to file-mapping object.</span>
00082 <span class="preprocessor">#else</span>
00083 <span class="preprocessor"></span><span class="preprocessor">  #ifdef HAVE_MMAP</span>
00084 <span class="preprocessor"></span>  
00085 <span class="preprocessor">  #else  </span>
00086 <span class="preprocessor"></span>  <span class="keywordtype">bool</span> bytesAvailable
00087     ( <span class="keywordtype">int</span> n
00088     );
00089 
00090   <span class="keywordtype">void</span> fillBuffer
00091     ( <span class="keywordtype">int</span> n = 4096
00092     );
00093 
00094   FILE * m_pFile;
00095   PLBYTE * m_pBuffer;
00096 
00097   PLBYTE * m_pReadPos;
00098   <span class="keywordtype">int</span> m_BytesReadFromFile;
00099 <span class="preprocessor">  #endif</span>
00100 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00101 <span class="preprocessor"></span>  PLBYTE * m_pStartData;
00102   PLBYTE * m_pCurPos;
00103 };
00104 
00105 <span class="preprocessor">#endif</span>
00106 <span class="preprocessor"></span><span class="comment">/*</span>
00107 <span class="comment">/--------------------------------------------------------------------</span>
00108 <span class="comment">|</span>
00109 <span class="comment">|      $Log: plfilesrc_8h-source.html,v $
00109 <span class="comment">|      Revision 1.4  2004/09/15 15:26:29  uzadow
00109 <span class="comment">|      Linux compatibility changes, doc update.
00109 <span class="comment">|</span>
00110 <span class="comment">|      Revision 1.10  2004/09/11 12:41:35  uzadow</span>
00111 <span class="comment">|      removed plstdpch.h</span>
00112 <span class="comment">|</span>
00113 <span class="comment">|      Revision 1.9  2004/08/20 14:39:37  uzadow</span>
00114 <span class="comment">|      Added rle format to sgi decoder. Doesn't work yet, though.</span>
00115 <span class="comment">|</span>
00116 <span class="comment">|      Revision 1.8  2003/11/22 13:11:34  uzadow</span>
00117 <span class="comment">|      Added memory-mapped file support for linux</span>
00118 <span class="comment">|</span>
00119 <span class="comment">|      Revision 1.7  2003/08/03 12:36:56  uzadow</span>
00120 <span class="comment">|      Added unicode support; fixed some header includes.</span>
00121 <span class="comment">|</span>
00122 <span class="comment">|      Revision 1.6  2003/08/03 12:03:20  uzadow</span>
00123 <span class="comment">|      Added unicode support; fixed some header includes.</span>
00124 <span class="comment">|</span>
00125 <span class="comment">|      Revision 1.5  2003/04/20 22:20:49  uzadow</span>
00126 <span class="comment">|      Added check for errors reading memory-mapped files.</span>
00127 <span class="comment">|</span>
00128 <span class="comment">|      Revision 1.4  2002/03/31 13:36:41  uzadow</span>
00129 <span class="comment">|      Updated copyright.</span>
00130 <span class="comment">|</span>
00131 <span class="comment">|      Revision 1.3  2001/10/06 22:37:08  uzadow</span>
00132 <span class="comment">|      Linux compatibility.</span>
00133 <span class="comment">|</span>
00134 <span class="comment">|      Revision 1.2  2001/09/16 20:57:17  uzadow</span>
00135 <span class="comment">|      Linux version name prefix changes</span>
00136 <span class="comment">|</span>
00137 <span class="comment">|      Revision 1.1  2001/09/16 19:03:22  uzadow</span>
00138 <span class="comment">|      Added global name prefix PL, changed most filenames.</span>
00139 <span class="comment">|</span>
00140 <span class="comment">|      Revision 1.4  2001/09/13 20:46:45  uzadow</span>
00141 <span class="comment">|      Removed 4096-byte limit for fillBuffer that was causing PLPNGEncoder</span>
00142 <span class="comment">|      to fail under Linux.</span>
00143 <span class="comment">|</span>
00144 <span class="comment">|</span>
00145 <span class="comment">\--------------------------------------------------------------------</span>
00146 <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>