/*************************************************************************** * createIcon ***************************************************************************/ QString CNDSbgr555::createIcon(nds_rom_icon_title_t * icon) { uint8_t * pBMP; uint16_t * pPALETTE; QStringList XPM; pBMP = icon->icn_bmp; pPALETTE = (uint16_t *)icon->icn_pal; // Make tiles readTileimage(pBMP, &raw_img); // Make Palette readBGR555(pPALETTE, &raw_palette[0]); // Create XPM writeXPM(&raw_img, &raw_palette[0], &XPM); TRACE(XPM.join("\n")); return (XPM.join("\n")); }
static void qrencodeStructured(const unsigned char *intext, int length, const char *outfile) { QRcode_List *qrlist, *p; char filename[FILENAME_MAX]; char *base, *q, *suffix = NULL; const char *type_suffix; int i = 1; size_t suffix_size; switch(image_type) { case PNG_TYPE: type_suffix = ".png"; break; case EPS_TYPE: type_suffix = ".eps"; break; case SVG_TYPE: type_suffix = ".svg"; break; case XPM_TYPE: type_suffix = ".xpm"; break; case ANSI_TYPE: case ANSI256_TYPE: case ASCII_TYPE: case UTF8_TYPE: case ANSIUTF8_TYPE: case UTF8i_TYPE: case ANSIUTF8i_TYPE: type_suffix = ".txt"; break; default: fprintf(stderr, "Unknown image type.\n"); exit(EXIT_FAILURE); } if(outfile == NULL) { fprintf(stderr, "An output filename must be specified to store the structured images.\n"); exit(EXIT_FAILURE); } base = strdup(outfile); if(base == NULL) { fprintf(stderr, "Failed to allocate memory.\n"); exit(EXIT_FAILURE); } suffix_size = strlen(type_suffix); if(strlen(base) > suffix_size) { q = base + strlen(base) - suffix_size; if(strcasecmp(type_suffix, q) == 0) { suffix = strdup(q); *q = '\0'; } } qrlist = encodeStructured(intext, length); if(qrlist == NULL) { if(errno == ERANGE) { fprintf(stderr, "Failed to encode the input data: Input data too large\n"); } else { perror("Failed to encode the input data"); } exit(EXIT_FAILURE); } for(p = qrlist; p != NULL; p = p->next) { if(p->code == NULL) { fprintf(stderr, "Failed to encode the input data.\n"); exit(EXIT_FAILURE); } if(suffix) { snprintf(filename, FILENAME_MAX, "%s-%02d%s", base, i, suffix); } else { snprintf(filename, FILENAME_MAX, "%s-%02d", base, i); } if(verbose) { fprintf(stderr, "File: %s, Version: %d\n", filename, p->code->version); } switch(image_type) { case PNG_TYPE: case PNG32_TYPE: writePNG(p->code, filename, image_type); break; case EPS_TYPE: writeEPS(p->code, filename); break; case SVG_TYPE: writeSVG(p->code, filename); break; case XPM_TYPE: writeXPM(p->code, filename); break; case ANSI_TYPE: case ANSI256_TYPE: writeANSI(p->code, filename); break; case ASCIIi_TYPE: writeASCII(p->code, filename, 1); break; case ASCII_TYPE: writeASCII(p->code, filename, 0); break; case UTF8_TYPE: writeUTF8(p->code, filename, 0, 0); break; case ANSIUTF8_TYPE: writeUTF8(p->code, filename, 0, 0); break; case UTF8i_TYPE: writeUTF8(p->code, filename, 0, 1); break; case ANSIUTF8i_TYPE: writeUTF8(p->code, filename, 0, 1); break; default: fprintf(stderr, "Unknown image type.\n"); exit(EXIT_FAILURE); } i++; } free(base); if(suffix) { free(suffix); } QRcode_List_free(qrlist); }
static void qrencode(const unsigned char *intext, int length, const char *outfile) { QRcode *qrcode; qrcode = encode(intext, length); if(qrcode == NULL) { if(errno == ERANGE) { fprintf(stderr, "Failed to encode the input data: Input data too large\n"); } else { perror("Failed to encode the input data"); } exit(EXIT_FAILURE); } if(verbose) { fprintf(stderr, "File: %s, Version: %d\n", (outfile!=NULL)?outfile:"(stdout)", qrcode->version); } switch(image_type) { case PNG_TYPE: case PNG32_TYPE: writePNG(qrcode, outfile, image_type); break; case EPS_TYPE: writeEPS(qrcode, outfile); break; case SVG_TYPE: writeSVG(qrcode, outfile); break; case XPM_TYPE: writeXPM(qrcode, outfile); break; case ANSI_TYPE: case ANSI256_TYPE: writeANSI(qrcode, outfile); break; case ASCIIi_TYPE: writeASCII(qrcode, outfile, 1); break; case ASCII_TYPE: writeASCII(qrcode, outfile, 0); break; case UTF8_TYPE: writeUTF8(qrcode, outfile, 0, 0); break; case ANSIUTF8_TYPE: writeUTF8(qrcode, outfile, 1, 0); break; case UTF8i_TYPE: writeUTF8(qrcode, outfile, 0, 1); break; case ANSIUTF8i_TYPE: writeUTF8(qrcode, outfile, 1, 1); break; default: fprintf(stderr, "Unknown image type.\n"); exit(EXIT_FAILURE); } QRcode_free(qrcode); }