OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::sla::PNGRasterEncoder Struct Reference

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

Public Member Functions

EncodedRaster operator() (const void *ptr, size_t w, size_t h, size_t num_components)

Detailed Description

Member Function Documentation

◆ operator()()

EncodedRaster Slic3r::sla::PNGRasterEncoder::operator() ( const void * ptr,
size_t w,
size_t h,
size_t num_components )
28{
29 std::vector<uint8_t> buf;
30 size_t s = 0;
31
32 void *rawdata = tdefl_write_image_to_png_file_in_memory(
33 ptr, int(w), int(h), int(num_components), &s);
34
35 // On error, data() will return an empty vector. No other info can be
36 // retrieved from miniz anyway...
37 if (rawdata == nullptr) return EncodedRaster({}, "png");
38
39 auto pptr = static_cast<std::uint8_t*>(rawdata);
40
41 buf.reserve(s);
42 std::copy(pptr, pptr + s, std::back_inserter(buf));
43
44 MZ_FREE(rawdata);
45 return EncodedRaster(std::move(buf), "png");
46}

The documentation for this struct was generated from the following files:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/SLA/RasterBase.hpp
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/SLA/RasterBase.cpp