The given tiles are horizontally adjacent.
291 {
292 const auto firstTile = static_cast<size_t>(firstTile_);
293 const auto tileStride = static_cast<size_t>(tileWidth / 8);
295
296 const size_t tileCount = tiles.size();
297 auto dataPtr = std::vector<byte*>(tileCount);
298 for(size_t tile = 0; tile < tileCount; tile++)
299 {
300 dataPtr[tile] = tiles[tile]->data.get();
301 }
302
303 for(size_t i = 0; i < static_cast<size_t>(lineCount); i++)
304 {
305
306 for(size_t x = 0; x < width; x++)
307 {
311 const int value = (
c ==
'1') ? 1 : 0;
312
313 const size_t tileIndex = (firstTile + x / static_cast<size_t>(tileWidth));
314 const size_t localTile = tileIndex - firstTile;
315 const size_t bitPos = x % static_cast<size_t>(tileWidth);
317 {
318 dataPtr[localTile][bitPos / 8] |= static_cast<byte>(0x80u >> (bitPos % 8));
319 }
320 }
321
322 for(size_t tile = 0; tile < tileCount; tile++)
323 {
324 dataPtr[tile] += tileStride;
325 }
326 }
327 }
const uint8_t value
Definition blob-tests.cc:114
std::ifstream m_pnm
Definition pnmsource.hh:41
BitmapMetaData m_bmd
Definition pnmsource.hh:42
value_type width() const
Definition rectangle.hh:129
void skipComments(std::istream &s)
Definition pnmsource.cc:27