⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memfile.h

📁 手机游戏绘图类
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////
//
// PocketFrog - The Game Library for Pocket PC Devices
// Copyright 2002  Thierry Tremblay
//
// Permission to use, copy, modify, distribute and sell this software
// and its documentation for any purpose is hereby granted without fee,
// provided that the above copyright notice appear in all copies and
// that both that copyright notice and this permission notice appear
// in supporting documentation.  Thierry Tremblay makes no representations
// about the suitability of this software for any purpose.
// It is provided "as is" without express or implied warranty.
//
//////////////////////////////////////////////////////////////////////////////

#ifndef POCKETFROG_MEMFILE_H
#define POCKETFROG_MEMFILE_H

#include "../defs.h"

namespace Frog {
namespace Internal {



//////////////////////////////////////////////////////////////////////////////
//
// MemoryFile - Memory mapping of files
//
//////////////////////////////////////////////////////////////////////////////

class MemoryFile
{
public:
    
    // Create a memory file object without opening any file
    MemoryFile() : m_hFile(INVALID_HANDLE_VALUE) {}
    
    // Attempt to map the specified file in memory
    MemoryFile( const TCHAR* filename ) : m_hFile(INVALID_HANDLE_VALUE) { Open( filename ); }
    
    // Close any opened file
    ~MemoryFile() { if (IsOpen()) Close(); }
    
    // Return true if a file is opened
    bool IsOpen() const { return m_hFile != INVALID_HANDLE_VALUE; }
    
    // Open the specified file, closing any file already opened
    bool Open( const TCHAR* filename );
    
    // Close the currently opened file
    void Close();
    
    // Container access
    const uint8_t* begin() const { return m_pBegin; }
    const uint8_t* end() const   { return m_pEnd; }
    size_t         size() const  { return m_pEnd - m_pBegin; }
    
    
private:
    
    HANDLE         m_hFile;
    HANDLE         m_hMapping;
    const uint8_t* m_pBegin;
    const uint8_t* m_pEnd;
};



} // end of namespace Internal
} // end of namespace Frog



#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -