| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        mstream.h
 
- // Purpose:     interface of wxMemoryOutputStream, wxMemoryInputStream
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     @class wxMemoryOutputStream
 
-     This class allows to use all methods taking a wxOutputStream reference to write
 
-     to in-memory data.
 
-     Example:
 
-     @code
 
-         wxMemoryOutputStream stream;
 
-         if (!my_wxImage.SaveFile(stream))
 
-             return;
 
-         // now we can access the saved image bytes:
 
-         wxStreamBuffer* theBuffer = stream.GetOutputStreamBuffer();
 
-         unsigned char byte;
 
-         if (theBuffer->Read(byte, 1) != 1)
 
-             return;
 
-         // ... do something with 'byte'...
 
-         // remember that ~wxMemoryOutputStream will destroy the internal
 
-         // buffer since we didn't provide our own when constructing it
 
-     @endcode
 
-     @library{wxbase}
 
-     @category{streams}
 
-     @see wxStreamBuffer
 
- */
 
- class wxMemoryOutputStream : public wxOutputStream
 
- {
 
- public:
 
-     /**
 
-         If @a data is @NULL, then it will initialize a new empty buffer which will
 
-         grow if required.
 
-         @warning
 
-         If the buffer is created by wxMemoryOutputStream, it will be destroyed
 
-         at the destruction of the stream.
 
-     */
 
-     wxMemoryOutputStream(void* data = NULL, size_t length = 0);
 
-     /**
 
-         Destructor.
 
-         If the buffer wasn't provided by the user, it will be deleted here.
 
-     */
 
-     virtual ~wxMemoryOutputStream();
 
-     /**
 
-         Allows you to transfer data from the internal buffer of wxMemoryOutputStream
 
-         to an external buffer. @a len specifies the size of the buffer.
 
-     */
 
-     size_t CopyTo(void* buffer, size_t len) const;
 
-     /**
 
-         Returns the pointer to the stream object used as an internal buffer
 
-         for this stream.
 
-     */
 
-     wxStreamBuffer* GetOutputStreamBuffer() const;
 
- };
 
- /**
 
-     @class wxMemoryInputStream
 
-     This class allows to use all methods taking a wxInputStream reference to read
 
-     in-memory data.
 
-     Example:
 
-     @code
 
-         // we've got a block of memory containing a BMP image and we want
 
-         // to use wxImage to load it:
 
-         wxMemoryInputStream stream(my_memory_block, size);
 
-         wxImage theBitmap;
 
-         if (!theBitmap.LoadFile(stream, wxBITMAP_TYPE_BMP))
 
-             return;
 
-         // we can now safely delete the original memory buffer as the data
 
-         // has been decoded by wxImage:
 
-         delete [] my_memory_block;
 
-     @endcode
 
-     @library{wxbase}
 
-     @category{streams}
 
-     @see wxStreamBuffer, wxMemoryOutputStream
 
- */
 
- class wxMemoryInputStream : public wxInputStream
 
- {
 
- public:
 
-     /**
 
-         Initializes a new read-only memory stream which will use the specified
 
-         buffer data of length len. The stream does not take ownership of the buffer,
 
-         i.e. the buffer will not be deleted in its destructor.
 
-     */
 
-     wxMemoryInputStream(const void* data, size_t len);
 
-     /**
 
-         Creates a new read-only memory stream, initializing it with the data from
 
-         the given output stream @a stream.
 
-     */
 
-     wxMemoryInputStream(const wxMemoryOutputStream& stream);
 
-     /**
 
-         Creates a new read-only memory stream, initializing it with the
 
-         data from the given input stream @a stream.
 
-         The @a len argument specifies the amount of data to read from the
 
-         @a stream. Setting it to ::wxInvalidOffset means that the @a stream
 
-         is to be read entirely (i.e. till the EOF is reached).
 
-     */
 
-     wxMemoryInputStream(wxInputStream& stream,
 
-                         wxFileOffset len = wxInvalidOffset);
 
-     /**
 
-         Destructor. Does NOT free the buffer provided in the ctor.
 
-     */
 
-     virtual ~wxMemoryInputStream();
 
-     /**
 
-         Returns the pointer to the stream object used as an internal buffer
 
-         for that stream.
 
-     */
 
-     wxStreamBuffer* GetInputStreamBuffer() const;
 
- };
 
 
  |