Ejemplo n.º 1
0
template<class FileBase> inline
bytevector FileRead(FileBase& ifile, size_t chunk, const string& filename)
{
    bytevector data(chunk);
    ifile.read(data.data(), chunk);
    size_t nread = ifile.gcount();
    if ( nread < data.size() )
        data.resize(nread);

    if ( data.empty() )
        throw Source::ReadEOF(filename);
    return data;
}
Ejemplo n.º 2
0
TFW_BEGIN_NS

////////////////////////////////////////////////////////////////////////////
// 静的関数

#if SUPPORT_EXTLIB_LPNG

/*---------------------------------------------------------------------*//**
	ファイル読み込みコールバック関数
**//*---------------------------------------------------------------------*/
static void cbFileRead(png_structp png, png_bytep data, png_size_t length)
{
	FileBase* file = (FileBase*)png_get_io_ptr(png);
	file->read(data, (u32)length);
}