Ejemplo n.º 1
0
u32 color_find(const rgba_t *color, const rgba_t *clut, u32 clut_size)
{
    u32 idx, best_idx, error, best_error;

    best_idx = 0;
    best_error = color_error(&clut[0], color);
    for (idx = 1; idx < clut_size; idx++) {
	error = color_error(&clut[idx], color);
	if (error < best_error) {
	    best_idx = idx;
	    best_error = error;
	}
    }
    return best_idx;
}
Ejemplo n.º 2
0
void MainWindow::on_calc_expr_clicked()
{
    unsigned error = 0;
    char result_str[50];

    QColor color_error(255, 0, 0), color_normal(0, 0, 0);
    if(expr_text_changed) {
        if(!ui->expr_text_edit->toPlainText().isEmpty()) {
            error = P.parse_text_for_calc(ui->expr_text_edit->toPlainText().toStdString().c_str(), value_expr);
            if(error == 0) {
                ui->history_text->setTextColor(color_normal);
                del_zero_from_result(value_expr, result_str);
                ui->history_text->append(ui->expr_text_edit->toPlainText() + " = " + result_str);
            }
            else {
                for(int i = 0; i < NUM_ERROR; i++) {
                    if(error == error_table[i].num_error)
                    {
                        ui->history_text->setTextColor(color_error);
                        ui->history_text->append(QString::fromUtf8(error_table[i].text_error));
                        break;
                    }
                }
            }
        } else {
            ui->history_text->setTextColor(color_error);
            ui->history_text->append(QString::fromUtf8("выражение отсутствует"));
        }
    }
}
Ejemplo n.º 3
0
/*************************************************************
...
*************************************************************/
void alloc_standard_colors(void)
{
    int i;

    for(i=0; i<COLOR_STD_LAST; i++) {
        XColor mycolor;

        mycolor.red=colors_standard_rgb[i].r<<8;
        mycolor.green=colors_standard_rgb[i].g<<8;
        mycolor.blue=colors_standard_rgb[i].b<<8;

        if(XAllocColor(display, cmap, &mycolor))
            colors_standard[i]=mycolor.pixel;
        else
            color_error();

    }

}
Ejemplo n.º 4
0
/***************************************************************************
...
***************************************************************************/
struct Sprite *load_xpmfile(char *filename)
{
  struct Sprite *mysprite;
  Pixmap mypixmap, mask_bitmap;
  int err;
  XpmAttributes attributes;
  
  attributes.extensions = NULL;
  attributes.valuemask = XpmCloseness|XpmColormap;
  attributes.colormap = cmap;
  attributes.closeness = 40000;

again:
  
  if((err=XpmReadFileToPixmap(display, root_window, filename, &mypixmap, 
			      &mask_bitmap, &attributes)!=XpmSuccess)) {


    printf("%d\n", err);
    if(err==XpmColorError || err==XpmColorFailed) {
      color_error();
      goto again;
    }
    
    log(LOG_FATAL, "failed reading XPM file: %s", filename);
    exit(1);
  }

  if(!(mysprite=(struct Sprite *)malloc(sizeof(struct Sprite)))) {
    log(LOG_FATAL, "failed mallocing sprite struct for %s", filename);
    exit(1);
  }
  
  mysprite->pixmap=mypixmap;
  mysprite->mask=mask_bitmap;
  mysprite->has_mask=(mask_bitmap!=0);
  mysprite->width=attributes.width;
  mysprite->height=attributes.height;

  return mysprite;
}