Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5131 clevermous 1
2
>
3
>
4
>SDL_LockSurface
5
>
6
NAME="GENERATOR"
7
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8
">
9
REL="HOME"
10
TITLE="SDL Library Documentation"
11
HREF="index.html">
12
REL="UP"
13
TITLE="Video"
14
HREF="video.html">
15
REL="PREVIOUS"
16
TITLE="SDL_FreeSurface"
17
HREF="sdlfreesurface.html">
18
REL="NEXT"
19
TITLE="SDL_UnlockSurface"
20
HREF="sdlunlocksurface.html">
21
>
22
CLASS="REFENTRY"
23
BGCOLOR="#FFF8DC"
24
TEXT="#000000"
25
LINK="#0000ee"
26
VLINK="#551a8b"
27
ALINK="#ff0000"
28
>
29
CLASS="NAVHEADER"
30
>
31
WIDTH="100%"
32
BORDER="0"
33
CELLPADDING="0"
34
CELLSPACING="0"
35
>
36
>
37
COLSPAN="3"
38
ALIGN="center"
39
>SDL Library Documentation
40
>
41
>
42
>
43
WIDTH="10%"
44
ALIGN="left"
45
VALIGN="bottom"
46
>
47
HREF="sdlfreesurface.html"
48
>Prev
49
>
50
>
51
WIDTH="80%"
52
ALIGN="center"
53
VALIGN="bottom"
54
>
55
>
56
WIDTH="10%"
57
ALIGN="right"
58
VALIGN="bottom"
59
>
60
HREF="sdlunlocksurface.html"
61
>Next
62
>
63
>
64
>
65
>
66
ALIGN="LEFT"
67
WIDTH="100%">
68
>
69
>
70
NAME="SDLLOCKSURFACE"
71
>SDL_LockSurface
72
>
73
>
74
CLASS="REFNAMEDIV"
75
>
76
NAME="AEN1504"
77
>
78
>
79
>Name
80
>SDL_LockSurface -- Lock a surface for directly access.
81
>
82
CLASS="REFSYNOPSISDIV"
83
>
84
NAME="AEN1507"
85
>
86
>
87
>Synopsis
88
>
89
CLASS="FUNCSYNOPSIS"
90
>
91
NAME="AEN1508"
92
>
93
>
94
>
95
>
96
CLASS="FUNCSYNOPSISINFO"
97
>#include "SDL.h"
98
>
99
>
100
>
101
CLASS="FUNCDEF"
102
>int 
103
CLASS="FSFUNC"
104
>SDL_LockSurface
105
>
106
>(SDL_Surface *surface);
107
>
108
>
109
>
110
>
111
>
112
>
113
CLASS="REFSECT1"
114
>
115
NAME="AEN1514"
116
>
117
>
118
>Description
119
>
120
>
121
CLASS="FUNCTION"
122
>SDL_LockSurface
123
> sets up a surface for directly
124
accessing the pixels.  Between calls to 
125
CLASS="FUNCTION"
126
>SDL_LockSurface
127
>
128
and 
129
CLASS="FUNCTION"
130
>SDL_UnlockSurface
131
>, you can write to and read from
132
133
CLASS="PARAMETER"
134
>
135
>surface->
136
CLASS="STRUCTFIELD"
137
>
138
>pixels
139
>
140
>
141
>
142
>, using the pixel format stored in
143
144
CLASS="PARAMETER"
145
>
146
>surface->
147
CLASS="STRUCTFIELD"
148
>
149
>format
150
>
151
>
152
>
153
>.  Once you are done accessing the
154
surface, you should use 
155
CLASS="FUNCTION"
156
>SDL_UnlockSurface
157
> to release it.
158
>
159
>Not all surfaces require locking.
160
If 
161
CLASS="LITERAL"
162
>SDL_MUSTLOCK
163
>(
164
CLASS="PARAMETER"
165
>
166
>surface
167
>
168
>)
169
evaluates to 
170
CLASS="RETURNVALUE"
171
>0
172
>, then you can read and write to the
173
surface at any time, and the pixel format of the surface will not change. 
174
>
175
>No operating system or library calls should be made between lock/unlock
176
pairs, as critical system locks may be held during this time.
177
>
178
>It should be noted, that since SDL 1.1.8 surface locks are recursive. This means that you can lock a surface multiple times, but each lock must have a match unlock.
179
180
CLASS="PROGRAMLISTING"
181
>    .
182
    .
183
    SDL_LockSurface( surface );
184
    .
185
    /* Surface is locked */
186
    /* Direct pixel access on surface here */
187
    .
188
    SDL_LockSurface( surface );
189
    .
190
    /* More direct pixel access on surface */
191
    .
192
    SDL_UnlockSurface( surface );
193
    /* Surface is still locked */
194
    /* Note: Is versions < 1.1.8, the surface would have been */
195
    /* no longer locked at this stage                         */
196
    .
197
    SDL_UnlockSurface( surface );
198
    /* Surface is now unlocked */
199
    .
200
    .
201
>
202
 
203
>
204
>
205
CLASS="REFSECT1"
206
>
207
NAME="AEN1532"
208
>
209
>
210
>Return Value
211
>
212
>
213
CLASS="FUNCTION"
214
>SDL_LockSurface
215
> returns 
216
CLASS="RETURNVALUE"
217
>0
218
>,
219
or 
220
CLASS="RETURNVALUE"
221
>-1
222
> if the surface couldn't be locked.
223
>
224
>
225
CLASS="REFSECT1"
226
>
227
NAME="AEN1538"
228
>
229
>
230
>See Also
231
>
232
>
233
HREF="sdlunlocksurface.html"
234
>
235
CLASS="FUNCTION"
236
>SDL_UnlockSurface
237
>
238
>
239
>
240
>
241
CLASS="NAVFOOTER"
242
>
243
ALIGN="LEFT"
244
WIDTH="100%">
245
WIDTH="100%"
246
BORDER="0"
247
CELLPADDING="0"
248
CELLSPACING="0"
249
>
250
>
251
WIDTH="33%"
252
ALIGN="left"
253
VALIGN="top"
254
>
255
HREF="sdlfreesurface.html"
256
>Prev
257
>
258
>
259
WIDTH="34%"
260
ALIGN="center"
261
VALIGN="top"
262
>
263
HREF="index.html"
264
>Home
265
>
266
>
267
WIDTH="33%"
268
ALIGN="right"
269
VALIGN="top"
270
>
271
HREF="sdlunlocksurface.html"
272
>Next
273
>
274
>
275
>
276
>
277
WIDTH="33%"
278
ALIGN="left"
279
VALIGN="top"
280
>SDL_FreeSurface
281
>
282
WIDTH="34%"
283
ALIGN="center"
284
VALIGN="top"
285
>
286
HREF="video.html"
287
>Up
288
>
289
>
290
WIDTH="33%"
291
ALIGN="right"
292
VALIGN="top"
293
>SDL_UnlockSurface
294
>
295
>
296
>
297
>
298
>
299
>