static int pdf_end_transparency_mask(gs_imager_state * pis, gx_device_pdf * pdev, const gs_pdf14trans_params_t * pparams) { if (pdev->image_mask_skip) pdev->image_mask_skip = false; else { pdf_resource_t *pres = pdev->accumulating_substream_resource; int code; char buf[20]; code = pdf_exit_substream(pdev); if (code < 0) return code; code = pdf_substitute_resource(pdev, &pres, resourceXObject, NULL, false); if (code < 0) return 0; /* We need to update the 'where_used' field, in case we substituted a resource */ pres->where_used |= pdev->used_mask; sprintf(buf, "%ld 0 R", pdf_resource_id(pres)); code = cos_dict_put_c_key_string((cos_dict_t *)pdev->pres_soft_mask_dict->object, "/G", (const byte *)buf, strlen(buf)); if (code < 0) return code; code = pdf_substitute_resource(pdev, &pdev->pres_soft_mask_dict, resourceSoftMaskDict, NULL, false); if (code < 0) return code; pis->soft_mask_id = pdev->pres_soft_mask_dict->object->id; pdev->pres_soft_mask_dict = NULL; } return 0; }
long pdf_set_font_descriptor_usage(gx_device_pdf *pdev, int parent_id, const pdf_font_descriptor_t *pfd) { int id = pdf_resource_id((const pdf_resource_t *)pfd); pdf_record_usage_by_parent(pdev, id, parent_id); if (pfd->base_font->FontFile) { id = pfd->base_font->FontFile->id; pdf_record_usage_by_parent(pdev, id, parent_id); } return 0; }
/* Get the ID of font descriptor metrics. */ inline private int32_t pdf_font_descriptor_common_id(const pdf_font_descriptor_common_t *pfdc) { return pdf_resource_id((const pdf_resource_t *)pfdc); }
/* Get the object ID of a FontDescriptor. */ long pdf_font_descriptor_id(const pdf_font_descriptor_t *pfd) { return pdf_resource_id((const pdf_resource_t *)pfd); }
/* Get the ID of font descriptor metrics. */ static inline long pdf_font_descriptor_common_id(const pdf_font_descriptor_common_t *pfdc) { return pdf_resource_id((const pdf_resource_t *)pfdc); }