10a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger/* 20a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger * Copyright 2013 Google Inc. 30a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger * 40a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger * Use of this source code is governed by a BSD-style license that can be 50a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger * found in the LICENSE file. 60a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger */ 70a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger 80a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger#include "SkBitmap.h" 90a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger#include "SkForceLinking.h" 100a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger#include "SkGraphics.h" 110a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger#include "SkImageDecoder.h" 120a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger 130a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger__SK_FORCE_IMAGE_DECODER_LINKING; 140a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger 150a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger/** 160a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger Simple program to test Skia's ability to decode images without 170a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger errors or debug messages. */ 180a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenbergerint tool_main(int argc, char** argv); 190a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenbergerint tool_main(int argc, char** argv) { 200a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger if (argc < 2) { 210a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger SkDebugf("Usage:\n %s imagefile\n\n", argv[0]); 220a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger return 3; 230a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger } 240a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger SkAutoGraphics ag; // Enable use of SkRTConfig 250a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger SkBitmap bitmap; 260a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger if (!(SkImageDecoder::DecodeFile(argv[1], &bitmap))) { 270a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger return 2; 280a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger } 290a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger if (bitmap.empty()) { 300a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger return 1; 310a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger } 320a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger return 0; 330a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger} 340a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger 350a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger#if !defined SK_BUILD_FOR_IOS 360a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenbergerint main(int argc, char * const argv[]) { 370a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger return tool_main(argc, (char**) argv); 380a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger} 390a657bbc2c6fc9daf699942e023050536d5ec95fDerek Sollenberger#endif 40