static void METAFILE_WriteRecords(GpMetafile *metafile) { if (metafile->comment_data_length > 4) { GdiComment(metafile->record_dc, metafile->comment_data_length, metafile->comment_data); metafile->comment_data_length = 4; } }
bool CPSOutput::WriteBlock(const void* str, size_t len) { int sent_len = 0; while (len > 0) { char buffer[1026]; size_t send_len = std::min(len, static_cast<size_t>(1024)); *(reinterpret_cast<uint16_t*>(buffer)) = send_len; memcpy(buffer + 2, static_cast<const char*>(str) + sent_len, send_len); switch (m_mode) { case OutputMode::kExtEscape: ExtEscape(m_hDC, PASSTHROUGH, send_len + 2, buffer, 0, nullptr); break; case OutputMode::kGdiComment: GdiComment(m_hDC, send_len + 2, reinterpret_cast<const BYTE*>(buffer)); break; } sent_len += send_len; len -= send_len; } return true; }