void l_fprintf(const emlrtStack *sp, const char_T formatSpec_data[77], const int32_T formatSpec_size[2]) { emlrtStack st; st.prev = sp; st.tls = sp->tls; st.site = &wu_emlrtRSI; m_fprintf(&st, formatSpec_data, formatSpec_size); }
/************************************************************************* ** VID_COLOR - do setup of gray (& whatever) for a color by index ** ** MUST BE WRAPPED IN GS/GR PAIR BY CALLER ** *************************************************************************/ void vid_color(int color, int shade, uint32 plate_number) { float temp_dens[4]; struct clr_lst *clr; int ii; #ifdef TRACE if (color_trace) p_info(PI_TRACE, "start vid_color(%d, %d, %lo), Black= %lo, cc_mask= %lo\n", color, shade, plate_number, BlackPaint_cc_mask, cc_mask); #endif if (color < 0) { BlackPaint_cc_mask &= ~(1 << (plate_number-1)); /* turn off a plate */ #ifdef TRACE if (color_trace) p_info(PI_TRACE, "new BlackPaint_cc_mask= %lo\n", BlackPaint_cc_mask); #endif return; } if ( !KeyOutputType) clr = find_color(color, 0); /* use color from plate 0 for composite */ else /* normal color */ clr = find_color(color, plate_number); /* find the color structure */ if(clr == 0) { #ifdef TRACE if (color_trace) p_info(PI_TRACE, "color %d on plate= %lo not defined\n", color, plate_number); #endif BlackPaint_cc_mask &= ~(1 << (plate_number-1)); /* turn off a plate */ #ifdef TRACE if (color_trace) p_info(PI_TRACE, "new BlackPaint_cc_mask= %lo\n", BlackPaint_cc_mask); #endif return; /* not defined */ } #ifdef TRACE if (color_trace) { p_info(PI_TRACE, "color= %d, reverse= %d, freq= %d, cmyk_flag= %d\n", clr->color, clr->reverse,clr->freq,clr->cmyk_flag); p_info(PI_TRACE, " c= %f, m= %f, y= %f, k= %f, dens= %f, angle= %f, func= %s op=%s\n", clr->cmyk[0],clr->cmyk[1],clr->cmyk[2],clr->cmyk[3], clr->density,clr->angle,clr->func,clr->op); } #endif /* if( (clr->density != 1.0) && */ /* need screen if not white or black */ /* (clr->density != 0.0) ) */ /* always put out screen 7/20/92 -Enhancement 33P from Dee */ #ifdef TRACE if (color_trace) { p_info(PI_TRACE, "%s setoverprint\n",clr->op); p_info(PI_TRACE, "%d %f %s setscreen (note - density= %f)\n", clr->freq, clr->angle + (double)Orient, clr->func, clr->density); p_info(PI_TRACE, "%d %f %s %s\n", old_freq, old_angle, old_func, old_op); } #endif /* setoverprint for composites only */ if ( !strcmp(clr->op,"false") && (!KeyOutputType) ) m_fprintf("false setoverprint\n"); else if ( !strcmp(clr->op,"true") && (!KeyOutputType) ) m_fprintf("true setoverprint\n"); if ( IncludeScreens ) { /* Use PP Keyword LPI for color frequency */ /* If LPI = 0, use colortable frequency */ if (LPI != 0) clr->freq = LPI; if ( (old_freq != clr->freq) || (old_angle != clr->angle) || (strcmp(old_func, clr->func)) || firstscreen || (strcmp(old_op, clr->op)) ) { m_fprintf("%d %5.2f {%s} setscreen \n", clr->freq, clr->angle + (double)Orient, clr->func); /* set screen from structure */ firstscreen = 0; } old_freq = clr->freq; old_angle = clr->angle; strcpy(old_func, clr->func); strcpy(old_op, clr->op); } if ( !CMYK_Allowed) { /* enhancement 59P - 7/28/92 */ temp_dens[0] = 1.0 - (((1.0 - clr->density) * shade) / 100.); digi_print(temp_dens[0]); /* set density */ m_fprintf("setgray\n"); if ( temp_dens[0] == 1.0) BlackPaint_cc_mask &= ~(1 << (plate_number-1)); /* white */ else BlackPaint_cc_mask |= (1 << (plate_number-1)); /* black */ #ifdef TRACE if (color_trace) { p_info(PI_TRACE, "CMYK_Allowed=0, %6.3f setgray (to .tp file)\n", temp_dens[0]); p_info(PI_TRACE, "new BlackPaint_cc_mask= %lo\n", BlackPaint_cc_mask); } #endif } if (clr -> cmyk_flag && !KeyOutputType && CMYK_Allowed) { /* set the specified color */ if ( !strcmp(clr->type, "process")) { /* Add in tint and then shade for process color only */ for (ii=0; ii<4; ii++) clr->out_cmyk[ii] = ((clr->cmyk[ii] * clr->tint) / 100.); for (ii=0; ii<4; ii++) clr->out_cmyk[ii] = ((clr->cmyk[ii] * shade) / 100.); } else { for (ii=0; ii<4; ii++) clr->out_cmyk[ii] = clr->cmyk[ii]; } temp_dens[0] = clr->out_cmyk[0]; digi_print(temp_dens[0]); /* set C */ temp_dens[1] = clr->out_cmyk[1]; digi_print(temp_dens[1]); /* set M */ temp_dens[2] = clr->out_cmyk[2]; digi_print(temp_dens[2]); /* set Y */ temp_dens[3] = clr->out_cmyk[3]; digi_print(temp_dens[3]); /* set K */ if ( !strcmp(clr->type, "process")) { /* Add used colors to color list */ if (temp_dens[0] != 0) colorsused[0]=1; /* Has Cyan */ if (temp_dens[1] != 0) colorsused[1]=1; /* Has Magenta */ if (temp_dens[2] != 0) colorsused[2]=1; /* Has Yellow */ if (temp_dens[3] != 0) colorsused[3]=1; /* Has Black */ m_fprintf(" setcmykcolor\n"); } else { for (ii=0; ii< 48; ii++) { if (strcmp(customused[ii],clr->color_name) == 0) break; /* Already Loaded */ if (customused[ii][0] == '\0') { strcpy(customused[ii],clr->color_name); /* Found Blank Spot for new entry */ sprintf(cmykcustomused[ii],"%.2f %.2f %.2f %.2f",temp_dens[0], temp_dens[1], temp_dens[2], temp_dens[3]); break; } } m_fprintf("%s %.2f pentacustomcolor\n",clr->color_name, ( (100 - clr->tint) + (100 - shade) ) / 100); } if ( (temp_dens[0] == 0.0) && (temp_dens[1] == 0.0) && (temp_dens[2] == 0.0) && (temp_dens[3] == 0.0)) BlackPaint_cc_mask &= ~(1 << (plate_number-1)); /* white */ else BlackPaint_cc_mask |= (1 << (plate_number-1)); /* black */ #ifdef TRACE if (color_trace) p_info(PI_TRACE, "%f %f %f %f set CMYK, Black= %lo\n", temp_dens[0], temp_dens[1], temp_dens[2], temp_dens[3], BlackPaint_cc_mask); #endif } else if (!clr -> cmyk_flag && CMYK_Allowed) { /* default to black */ digi_print(0.0); /* set C */ digi_print(0.0); /* set M */ digi_print(0.0); /* set Y */ temp_dens[0] = shade / 100.; if( clr->density != 1.0) { digi_print(temp_dens[0]); /* set K - black */ BlackPaint_cc_mask = 1; /* black */ } else { digi_print(0.0); /* set K - white */ BlackPaint_cc_mask = 0; /* white */ temp_dens[0] = 0.0; } /* Add used colors to color list */ if (temp_dens[0] != 0) colorsused[3]=1; /* Has Black */ m_fprintf(" setcmykcolor\n"); #ifdef TRACE if (color_trace) p_info(PI_TRACE, "0 0 0 %f set CMYK(black), Black= %lo\n", temp_dens[0], BlackPaint_cc_mask); #endif } } /* end VID_TINT */