Crazy Eddie's GUI System
0.8.7
MemoryFile.h
1
/***********************************************************************
2
created: Sun Feb 19 2006
3
author: Paul D Turner <paul@cegui.org.uk>
4
*************************************************************************/
5
/***************************************************************************
6
* Copyright (C) 2004 - 2009 Paul D Turner & The CEGUI Development Team
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining
9
* a copy of this software and associated documentation files (the
10
* "Software"), to deal in the Software without restriction, including
11
* without limitation the rights to use, copy, modify, merge, publish,
12
* distribute, sublicense, and/or sell copies of the Software, and to
13
* permit persons to whom the Software is furnished to do so, subject to
14
* the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be
17
* included in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
* OTHER DEALINGS IN THE SOFTWARE.
26
***************************************************************************/
27
#ifndef _CEGUIIrrlichtMemoryFile_h_
28
#define _CEGUIIrrlichtMemoryFile_h_
29
30
#ifdef HAVE_CONFIG_H
31
# include "config.h"
32
#endif
33
34
#include "../../Base.h"
35
#include "../../String.h"
36
#include <irrlicht.h>
37
38
// Start of CEGUI namespace section
39
namespace
CEGUI
40
{
47
class
IrrlichtMemoryFile
:
public
irr::io::IReadFile
48
{
49
public
:
50
IrrlichtMemoryFile
(
const
String
& filename,
const
unsigned
char
* memory,
51
uint32 size);
52
virtual
~
IrrlichtMemoryFile
() {};
53
54
// implement required interface from IReadFile
55
irr::s32 read(
void
* buffer, irr::u32 sizeToRead);
56
long
getSize()
const
;
57
long
getPos()
const
;
58
bool
seek(
long
finalPos,
bool
relativeMovement =
false
);
59
#if CEGUI_IRR_SDK_VERSION >= 16
60
const
irr::io::path& getFileName()
const
;
61
#else
62
const
irr::c8* getFileName()
const
;
63
#endif
64
65
protected
:
66
#if CEGUI_IRR_SDK_VERSION >= 16
67
irr::io::path d_filename;
68
#else
69
String
d_filename;
70
#endif
71
const
unsigned
char
* d_buffer;
72
uint32 d_size;
73
uint32 d_position;
74
};
75
76
}
// End of CEGUI namespace section
77
78
#endif // end of guard _CEGUIIrrlichtMemoryFile_h_
CEGUI
Main namespace for Crazy Eddie's GUI Library.
Definition:
arch_overview.dox:1
CEGUI::IrrlichtMemoryFile
Class to wrap a file access interface around a memory buffer to enable us to pass data that has been ...
Definition:
MemoryFile.h:48
CEGUI::String
String class used within the GUI system.
Definition:
String.h:64
cegui
include
CEGUI
RendererModules
Irrlicht
MemoryFile.h
Generated by
1.8.20