int main(int argc, char **argv) { int i; char *b, *b0; ssize_t s; progname = argv[0]; if (argc != 2) return usage(); fontname = argv[1]; s = read_file(&b0); b = b0; if (!(i = find_font(&b, &s))) { fprintf(stderr, "%s: Font %s not found in %s.\n", progname, fontname, charfile); exit(EXIT_FAILURE); } out_font(b, s, i); free(b0); return EXIT_SUCCESS; }
void RDPanelButton::WriteKeycap(int secs) { QString text=button_text; QPixmap *pix=new QPixmap(size().width(),size().height()); QPainter *p=new QPainter(pix); if(button_state) { if(button_flash) { if(button_flash_state) { p->fillRect(0,0,size().width(),size().height(),button_color); p->setPen(RDGetTextColor(button_color)); } else { p->fillRect(0,0,size().width(),size().height(),button_default_color); p->setPen(RDGetTextColor(button_default_color)); } } else { p->fillRect(0,0,size().width(),size().height(),button_color); p->setPen(RDGetTextColor(button_color)); } } else { p->fillRect(0,0,size().width(),size().height(),button_color); p->setPen(RDGetTextColor(button_color)); } // // Button Title // QFont font("helvetica",13,QFont::Normal); font.setPixelSize(13); QFontMetrics m(font); p->setFont(font); p->drawText(RDPANEL_BUTTON_MARGIN,m.lineSpacing(), GetNextLine(&text,m,size().width()-3*RDPANEL_BUTTON_MARGIN)); p->drawText(RDPANEL_BUTTON_MARGIN,2*m.lineSpacing(), GetNextLine(&text,m,size().width()-3*RDPANEL_BUTTON_MARGIN)); p->drawText(RDPANEL_BUTTON_MARGIN,3*m.lineSpacing(), GetNextLine(&text,m,size().width()-3*RDPANEL_BUTTON_MARGIN)); // // Time Field & Output Text // if(!button_text.isEmpty()) { if(secs<0) { QFont out_font("helvetica",13,QFont::Normal); out_font.setPixelSize(13); p->setFont(out_font); if(button_pause_when_finished) { p->drawText(RDPANEL_BUTTON_MARGIN,size().height()-RDPANEL_BUTTON_MARGIN,"Finished"); } else { if(button_active_length>=0) { p->drawText(RDPANEL_BUTTON_MARGIN,size().height()- RDPANEL_BUTTON_MARGIN, RDGetTimeLength(button_active_length+1000,true,false)); } else { p->drawText(RDPANEL_BUTTON_MARGIN,size().height()- RDPANEL_BUTTON_MARGIN,tr("No Audio")); } } } else { if(secs>8) { p->drawText(RDPANEL_BUTTON_MARGIN,size().height()-RDPANEL_BUTTON_MARGIN, RDGetTimeLength(1000*(secs+1),true,false)); } else { QFont out_font("helvetica",18,QFont::Bold); out_font.setPixelSize(18); p->setFont(out_font); QString secstr=QString().sprintf(":%d",secs+1); p->drawText(RDPANEL_BUTTON_MARGIN,size().height()-RDPANEL_BUTTON_MARGIN,secstr); } QFont out_font("helvetica",18,QFont::Bold); out_font.setPixelSize(18); p->setFont(out_font); QFontMetrics om(out_font); p->drawText(size().width()-om.width(button_output_text)- RDPANEL_BUTTON_MARGIN, size().height()-RDPANEL_BUTTON_MARGIN,button_output_text); } } p->end(); setPixmap(*pix); delete p; delete pix; }