|
Size: 1423
Comment: update content for consistency - add SDL_GetError() to NULL RVs
|
Size: 1617
Comment: Rewritten
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| ||<tablewidth="100%" style="color: #FF0000;" :> DRAFT|| | |
| Line 6: | Line 5: |
| Use this function to *prepare a constant memory area for use with RWops. * | Use this function to prepare a read-only memory buffer for use with RWops. |
| Line 17: | Line 16: |
| ||'''mem'''||,,a pointer to,, ^a memory location to use for an SDL_RWops structure^|| ||'''size'''||^the size of the memory location^|| <<Color2(green,Is '''mem''' an exception to the 'pointer rule'?)>> |
||'''mem'''||a pointer to a read-only buffer to feed an [[SDL_RWops]] stream|| ||'''size'''||the buffer size, in bytes|| |
| Line 23: | Line 20: |
| *<<BR>>Returns a pointer to a new ^SDL_^RWops structure, or NULL if it fails. <<BR>>*<<BR>>; call [[SDL_GetError]]() for more information.??? | Returns a pointer to a new [[SDL_RWops]] structure, or NULL if it fails; call [[SDL_GetError]]() for more information. |
| Line 26: | Line 23: |
| * | |
| Line 30: | Line 26: |
| } SDL_RWops *rw; SDL_Surface *img; rw = SDL_RWFromConstMem(bitmap, sizeof(bitmap)); img = SDL_LoadBMP_RW(rw, 1); // Automatically frees the RWops struct for us // Do something with img... |
}; SDL_RWops *rw = SDL_RWFromConstMem(bitmap, sizeof(bitmap)); SDL_Surface *img = SDL_LoadBMP_RW(rw, 1); /* Automatically frees the RWops struct for us */ /* Do something with img... */ |
| Line 39: | Line 31: |
| * | |
| Line 42: | Line 33: |
| *<<BR>>[[SDL_RWFromConstMem]]() sets up a^n^ ^SDL_^RWops struct based on a memory area of a certain size. It assumes the memory area is not writable. <<BR>>* | This function sets up an [[SDL_RWops]] struct based on a memory area of a certain size. It assumes the memory area is not writable. Attempting to write to this RWops stream will report an error without writing to the memory buffer. This memory buffer is not copied by the RWops; the pointer you provide must remain valid until you close the stream. Closing the stream will not free the original buffer. If you need to write to a memory buffer, you should use [[SDL_RWFromMem]] with a writable buffer of memory instead. |
| Line 45: | Line 42: |
| .[[SDL_FreeRW]] * .[[SDL_RWFromFile]] ??? .[[SDL_RWFromFP]] ??? |
|
| Line 49: | Line 43: |
| .[[SDL_RWclose]] .[[SDL_RWread]] .[[SDL_RWseek]] .[[SDL_RWtell]] |
SDL_RWFromConstMem
Use this function to prepare a read-only memory buffer for use with RWops.
Contents
Syntax
SDL_RWops* SDL_RWFromConstMem(const void* mem,
int size)
Function Parameters
mem |
a pointer to a read-only buffer to feed an SDL_RWops stream |
size |
the buffer size, in bytes |
Return Value
Returns a pointer to a new SDL_RWops structure, or NULL if it fails; call SDL_GetError() for more information.
Code Examples
char bitmap[] = {
66, 77, 86, 2, 0, 0, 0, 0 ...
};
SDL_RWops *rw = SDL_RWFromConstMem(bitmap, sizeof(bitmap));
SDL_Surface *img = SDL_LoadBMP_RW(rw, 1); /* Automatically frees the RWops struct for us */
/* Do something with img... */
Remarks
This function sets up an SDL_RWops struct based on a memory area of a certain size. It assumes the memory area is not writable.
Attempting to write to this RWops stream will report an error without writing to the memory buffer.
This memory buffer is not copied by the RWops; the pointer you provide must remain valid until you close the stream. Closing the stream will not free the original buffer.
If you need to write to a memory buffer, you should use SDL_RWFromMem with a writable buffer of memory instead.
