- case EMR_GDICOMMENT: {
- const EMRGDICOMMENT* comment_record =
- reinterpret_cast<const EMRGDICOMMENT*>(record());
- if (comment_record->cbData == sizeof(PageBreakRecord)) {
- const PageBreakRecord* page_break_record =
- reinterpret_cast<const PageBreakRecord*>(comment_record->Data);
- if (page_break_record && page_break_record->IsValid()) {
- if (page_break_record->type == PageBreakRecord::START_PAGE) {
- res = !!::StartPage(context->hdc);
- DCHECK_EQ(0, context->dc_on_page_start);
- context->dc_on_page_start = ::SaveDC(context->hdc);
- } else if (page_break_record->type == PageBreakRecord::END_PAGE) {
- DCHECK_NE(0, context->dc_on_page_start);
- ::RestoreDC(context->hdc, context->dc_on_page_start);
- context->dc_on_page_start = 0;
- res = !!::EndPage(context->hdc);
- } else {
- res = false;
- NOTREACHED();
- }
- } else {
- res = Play(context);
- }
- } else {
- res = true;
- }
- break;
- }