ALuint Sound::filenameToBuffer(const string filename) { if (filename.empty()) { error->log(SOUND, CRITICAL, "Not passed a valid filename.\n"); exit(0); } FILE* file = fopen(filename.c_str(), "rb"); if (!file) { error->log(SOUND, CRITICAL, "Failed to open file: " + filename + ".\n"); exit(0); } BasicWAVEHeader header; char* data = fileToData(file, &header); fclose(file); if (!data) { error->log(SOUND, CRITICAL, "Failed to read file.\n"); exit(0); } ALuint buffer = dataToBuffer(data, header); free(data); if (!buffer) { error->log(SOUND, CRITICAL, "Failed to create buffer.\n"); exit(0); } return buffer; }
static void drawJpeg(SkCanvas* canvas, const SkISize& size) { SkAutoDataUnref data(fileToData("/Users/mike/Downloads/skia.google.jpeg")); SkImage* image = SkImage::NewEncodedData(data); if (image) { SkAutoCanvasRestore acr(canvas, true); canvas->scale(size.width() * 1.0f / image->width(), size.height() * 1.0f / image->height()); image->draw(canvas,0, 0, NULL); image->unref(); } }
static void drawJpeg(SkCanvas* canvas, const SkISize& size) { // TODO: Make this draw a file that is checked in, so it can // be exercised on machines other than mike's. Will require a // rebaseline. SkAutoDataUnref data(fileToData("/Users/mike/Downloads/skia.google.jpeg")); SkImage* image = SkImage::NewEncodedData(data); if (image) { SkAutoCanvasRestore acr(canvas, true); canvas->scale(size.width() * 1.0f / image->width(), size.height() * 1.0f / image->height()); image->draw(canvas,0, 0, NULL); image->unref(); } }