Crazy Eddie's GUI System 0.8.7
Loading...
Searching...
No Matches
DataContainer.h
1/***********************************************************************
2 created: 10/8/2004
3 author: James '_mental_' O'Sullivan
4
5 purpose: Declares the RawDataContainer
6*************************************************************************/
7/***************************************************************************
8 * Copyright (C) 2004 - 2011 Paul D Turner & The CEGUI Development Team
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files (the
12 * "Software"), to deal in the Software without restriction, including
13 * without limitation the rights to use, copy, modify, merge, publish,
14 * distribute, sublicense, and/or sell copies of the Software, and to
15 * permit persons to whom the Software is furnished to do so, subject to
16 * the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 ***************************************************************************/
29#ifndef _CEGUIDataContainer_h_
30#define _CEGUIDataContainer_h_
31
32#include "CEGUI/Base.h"
33
34// Start of CEGUI namespace section
35namespace CEGUI
36{
37
42class CEGUIEXPORT RawDataContainer :
43 public AllocatedObject<RawDataContainer>
44{
45public:
46 /*************************************************************************
47 Construction and Destruction
48 *************************************************************************/
54 : mData(0),
55 mSize(0)
56 {
57 }
58
64 {
65 release();
66 }
67
68 /*************************************************************************
69 Accessor functions
70 *************************************************************************/
78 void setData(uint8* data) { mData = data; }
79
87 uint8* getDataPtr(void) { return mData; }
88 const uint8* getDataPtr(void) const { return mData; }
89
97 void setSize(size_t size) { mSize = size; }
98
106 size_t getSize(void) const { return mSize; }
107
112 void release(void);
113
114private:
115 /*************************************************************************
116 Implementation Data
117 *************************************************************************/
118 uint8* mData;
119 size_t mSize;
120};
121
122} // End of CEGUI namespace section
123
124#endif // end of guard _CEGUIDataContainer_h_
Definition MemoryAllocatedObject.h:110
Class used as the databuffer for loading files throughout the library.
Definition DataContainer.h:44
size_t getSize(void) const
Get the size of the external data.
Definition DataContainer.h:106
~RawDataContainer(void)
Destructor for RawDataContainer class.
Definition DataContainer.h:63
void setSize(size_t size)
Set the size of the external data.
Definition DataContainer.h:97
void release(void)
Release supplied data.
void setData(uint8 *data)
Set a pointer to the external data.
Definition DataContainer.h:78
uint8 * getDataPtr(void)
Return a pointer to the external data.
Definition DataContainer.h:87
RawDataContainer()
Constructor for RawDataContainer class.
Definition DataContainer.h:53
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1