mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 00:59:44 -06:00
Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
83
Externals/wxWidgets3/include/wx/private/fileback.h
vendored
Normal file
83
Externals/wxWidgets3/include/wx/private/fileback.h
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/private/fileback.h
|
||||
// Purpose: Back an input stream with memory or a file
|
||||
// Author: Mike Wetherell
|
||||
// RCS-ID: $Id: fileback.h 64943 2010-07-13 13:29:58Z VZ $
|
||||
// Copyright: (c) 2006 Mike Wetherell
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_FILEBACK_H__
|
||||
#define _WX_FILEBACK_H__
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_FILESYSTEM
|
||||
|
||||
#include "wx/stream.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Backs an input stream with memory or a file to make it seekable.
|
||||
//
|
||||
// One or more wxBackedInputStreams can be used to read it's data. The data is
|
||||
// reference counted, so stays alive until the last wxBackingFile or
|
||||
// wxBackedInputStream using it is destroyed.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_BASE wxBackingFile
|
||||
{
|
||||
public:
|
||||
enum { DefaultBufSize = 16384 };
|
||||
|
||||
// Takes ownership of stream. If the stream is smaller than bufsize, the
|
||||
// backing file is never created and the backing is done with memory.
|
||||
wxBackingFile(wxInputStream *stream,
|
||||
size_t bufsize = DefaultBufSize,
|
||||
const wxString& prefix = wxT("wxbf"));
|
||||
|
||||
wxBackingFile() : m_impl(NULL) { }
|
||||
~wxBackingFile();
|
||||
|
||||
wxBackingFile(const wxBackingFile& backer);
|
||||
wxBackingFile& operator=(const wxBackingFile& backer);
|
||||
|
||||
operator bool() const { return m_impl != NULL; }
|
||||
|
||||
private:
|
||||
class wxBackingFileImpl *m_impl;
|
||||
friend class wxBackedInputStream;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// An input stream to read from a wxBackingFile.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_BASE wxBackedInputStream : public wxInputStream
|
||||
{
|
||||
public:
|
||||
wxBackedInputStream(const wxBackingFile& backer);
|
||||
|
||||
// If the length of the backer's parent stream is unknown then GetLength()
|
||||
// returns wxInvalidOffset until the parent has been read to the end.
|
||||
wxFileOffset GetLength() const;
|
||||
|
||||
// Returns the length, reading the parent stream to the end if necessary.
|
||||
wxFileOffset FindLength() const;
|
||||
|
||||
bool IsSeekable() const { return true; }
|
||||
|
||||
protected:
|
||||
size_t OnSysRead(void *buffer, size_t size);
|
||||
wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode);
|
||||
wxFileOffset OnSysTell() const;
|
||||
|
||||
private:
|
||||
wxBackingFile m_backer;
|
||||
wxFileOffset m_pos;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxBackedInputStream);
|
||||
};
|
||||
|
||||
#endif // wxUSE_FILESYSTEM
|
||||
|
||||
#endif // _WX_FILEBACK_H__
|
Reference in New Issue
Block a user