OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::png::ReadBufStream Struct Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/PNGReadWrite.hpp>

Inheritance diagram for Slic3r::png::ReadBufStream:
Collaboration diagram for Slic3r::png::ReadBufStream:

Public Member Functions

 ReadBufStream (const ReadBuf &buf)
size_t read (std::uint8_t *outp, size_t amount) override
bool is_ok () const override

Public Attributes

const ReadBuf & rbuf_ref
size_t pos = 0

Detailed Description

Constructor & Destructor Documentation

◆ ReadBufStream()

Slic3r::png::ReadBufStream::ReadBufStream ( const ReadBuf & buf)
inlineexplicit
60: rbuf_ref{buf} {}
const ReadBuf & rbuf_ref
Definition PNGReadWrite.hpp:57

References rbuf_ref.

Member Function Documentation

◆ is_ok()

bool Slic3r::png::ReadBufStream::is_ok ( ) const
inlineoverridevirtual

Implements Slic3r::png::IStream.

73{ return pos < rbuf_ref.sz; }
size_t pos
Definition PNGReadWrite.hpp:58

References pos, and rbuf_ref.

◆ read()

size_t Slic3r::png::ReadBufStream::read ( std::uint8_t * outp,
size_t amount )
inlineoverridevirtual

Implements Slic3r::png::IStream.

63 {
64 if (amount > rbuf_ref.sz - pos) return 0;
65
66 auto buf = static_cast<const std::uint8_t *>(rbuf_ref.buf);
67 std::copy(buf + pos, buf + (pos + amount), outp);
68 pos += amount;
69
70 return amount;
71 }

References pos, and rbuf_ref.

Referenced by Slic3r::png::is_decodable_8bit_png().

Here is the caller graph for this function:

Member Data Documentation

◆ pos

size_t Slic3r::png::ReadBufStream::pos = 0

Referenced by is_ok(), and read().

◆ rbuf_ref

const ReadBuf& Slic3r::png::ReadBufStream::rbuf_ref

Referenced by ReadBufStream(), is_ok(), and read().


The documentation for this struct was generated from the following file: