| 111 | } |
| 112 | |
| 113 | void Bitmap::WriteDIB(DIB &dib, IOStream *file) { |
| 114 | uint8_t data[DIB::dib_size]; |
| 115 | |
| 116 | std::size_t offset = 0; |
| 117 | |
| 118 | offset += Copy(&data[offset], dib.size); |
| 119 | offset += Copy(&data[offset], dib.width); |
| 120 | offset += Copy(&data[offset], dib.height); |
| 121 | offset += Copy(&data[offset], dib.planes); |
| 122 | offset += Copy(&data[offset], dib.bits_per_pixel); |
| 123 | offset += Copy(&data[offset], dib.compression); |
| 124 | offset += Copy(&data[offset], dib.image_size); |
| 125 | offset += Copy(&data[offset], dib.x_resolution); |
| 126 | offset += Copy(&data[offset], dib.y_resolution); |
| 127 | offset += Copy(&data[offset], dib.nb_colors); |
| 128 | Copy(&data[offset], dib.nb_important_colors); |
| 129 | |
| 130 | file->Write(data, DIB::dib_size, 1); |
| 131 | } |
| 132 | |
| 133 | void Bitmap::WriteData(aiTexture *texture, IOStream *file) { |
| 134 | static const std::size_t padding_offset = 4; |