20bool CPSOutput::
WriteBlock(pdfium::span<
const uint8_t> input) {
21 while (!input.empty()) {
23 size_t send_len = std::min<size_t>(input.size(), 1024);
24 *(
reinterpret_cast<uint16_t*>(buffer)) =
static_cast<uint16_t>(send_len);
25 UNSAFE_TODO(FXSYS_memcpy(buffer + 2, input.data(), send_len));
27 case OutputMode::kExtEscape:
28 ExtEscape(m_hDC, PASSTHROUGH,
static_cast<
int>(send_len + 2),
29 reinterpret_cast<
const char*>(buffer), 0,
nullptr);
31 case OutputMode::kGdiComment:
32 GdiComment(m_hDC,
static_cast<UINT>(send_len + 2), buffer);
35 input = input.subspan(send_len);