return type!=IL_TYPE_UNKNOWN;
}
-void DevilLoader::load(Image::Data &data)
+void DevilLoader::load_headers_(Image::Data &data)
{
ilSetRead(0, 0, eof, get, read, seek, tell);
ilBindImage(id);
data.width = ilGetInteger(IL_IMAGE_WIDTH);
data.height = ilGetInteger(IL_IMAGE_HEIGHT);
data.stride = data.width*ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
+
+ ilBindImage(0);
+ ilResetRead();
+}
+
+void DevilLoader::load_pixels_(Image::Data &data)
+{
+ ilBindImage(id);
+
unsigned data_size = data.stride*data.height;
- data.data = new char[data_size];
ILubyte *il_data = ilGetData();
- copy(il_data, il_data+data_size, data.data);
+ copy(il_data, il_data+data_size, data.pixels);
ilBindImage(0);
- ilResetRead();
}
} // namespace Graphics