1 /* 2 * Copyright 2012 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef picture_utils_DEFINED 9 #define picture_utils_DEFINED 10 11 #include "SkTypes.h" 12 13 class SkBitmap; 14 class SkFILEStream; 15 class SkPicture; 16 class SkString; 17 18 namespace sk_tools { 19 // since PNG insists on unpremultiplying our alpha, we take no precision 20 // chances and force all pixels to be 100% opaque, otherwise on compare we 21 // may not get a perfect match. 22 // 23 // This expects a bitmap with a config type of 8888 and for the pixels to 24 // not be on the GPU. 25 void force_all_opaque(const SkBitmap& bitmap); 26 27 // Creates a posix style filepath by concatenating name onto dir with a 28 // forward slash into path. 29 void make_filepath(SkString* path, const SkString&, const SkString& name); 30 31 // Returns the last part of the path (file name or leaf directory name) 32 // 33 // This basically just looks for a foward slash or backslash (windows 34 // only). 35 void get_basename(SkString* basename, const SkString& path); 36 37 // Returns true if the string ends with % 38 bool is_percentage(const char* const string); 39 40 // Prepares the bitmap so that it can be written. 41 // 42 // Specifically, it configures the bitmap, allocates pixels and then 43 // erases the pixels to transparent black. 44 void setup_bitmap(SkBitmap* bitmap, int width, int height); 45 } 46 47 #endif // picture_utils_DEFINED 48