OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkBitmapDevice.h" | 8 #include "SkBitmapDevice.h" |
9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
10 #include "SkCommandLineFlags.h" | 10 #include "SkCommandLineFlags.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 /** Builds the output filename. path = dir/name, and it replaces expected | 96 /** Builds the output filename. path = dir/name, and it replaces expected |
97 * .skp extension with .pdf extention. | 97 * .skp extension with .pdf extention. |
98 * @param path Output filename. | 98 * @param path Output filename. |
99 * @param name The name of the file. | 99 * @param name The name of the file. |
100 * @returns false if the file did not has the expected extension. | 100 * @returns false if the file did not has the expected extension. |
101 * if false is returned, contents of path are undefined. | 101 * if false is returned, contents of path are undefined. |
102 */ | 102 */ |
103 static bool make_output_filepath(SkString* path, const SkString& dir, | 103 static bool make_output_filepath(SkString* path, const SkString& dir, |
104 const SkString& name, | 104 const SkString& name, |
105 int page) { | 105 int page) { |
106 *path = SkOSPath::SkPathJoin(dir.c_str(), name.c_str()); | 106 *path = SkOSPath::Join(dir.c_str(), name.c_str()); |
107 return add_page_and_replace_filename_extension(path, page, | 107 return add_page_and_replace_filename_extension(path, page, |
108 PDF_FILE_EXTENSION, | 108 PDF_FILE_EXTENSION, |
109 PNG_FILE_EXTENSION); | 109 PNG_FILE_EXTENSION); |
110 } | 110 } |
111 | 111 |
112 static void setup_bitmap(SkBitmap* bitmap, int width, int height, SkColor color)
{ | 112 static void setup_bitmap(SkBitmap* bitmap, int width, int height, SkColor color)
{ |
113 bitmap->allocN32Pixels(width, height); | 113 bitmap->allocN32Pixels(width, height); |
114 bitmap->eraseColor(color); | 114 bitmap->eraseColor(color); |
115 } | 115 } |
116 | 116 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 return true; | 214 return true; |
215 } | 215 } |
216 | 216 |
217 /** Reads an skp file, renders it to pdf and writes the output to a pdf file | 217 /** Reads an skp file, renders it to pdf and writes the output to a pdf file |
218 * @param inputPath The skp file to be read. | 218 * @param inputPath The skp file to be read. |
219 * @param outputDir Output dir. | 219 * @param outputDir Output dir. |
220 */ | 220 */ |
221 static bool process_pdf(const SkString& inputPath, const SkString& outputDir) { | 221 static bool process_pdf(const SkString& inputPath, const SkString& outputDir) { |
222 SkDebugf("Loading PDF: %s\n", inputPath.c_str()); | 222 SkDebugf("Loading PDF: %s\n", inputPath.c_str()); |
223 | 223 |
224 SkString inputFilename = SkOSPath::SkBasename(inputPath.c_str()); | 224 SkString inputFilename = SkOSPath::Basename(inputPath.c_str()); |
225 | 225 |
226 SkAutoTDelete<SkPdfRenderer> renderer(SkPdfRenderer::CreateFromFile(inputPat
h.c_str())); | 226 SkAutoTDelete<SkPdfRenderer> renderer(SkPdfRenderer::CreateFromFile(inputPat
h.c_str())); |
227 if (NULL == renderer.get()) { | 227 if (NULL == renderer.get()) { |
228 SkDebugf("Failure loading file %s\n", inputPath.c_str()); | 228 SkDebugf("Failure loading file %s\n", inputPath.c_str()); |
229 return false; | 229 return false; |
230 } | 230 } |
231 | 231 |
232 if (FLAGS_showMemoryUsage) { | 232 if (FLAGS_showMemoryUsage) { |
233 SkDebugf("Memory usage after load: %u\n", (unsigned int) renderer->bytes
Used()); | 233 SkDebugf("Memory usage after load: %u\n", (unsigned int) renderer->bytes
Used()); |
234 } | 234 } |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 * parse_pdf. | 292 * parse_pdf. |
293 * @param input A directory or an pdf file. | 293 * @param input A directory or an pdf file. |
294 * @param outputDir Output dir. | 294 * @param outputDir Output dir. |
295 */ | 295 */ |
296 static int process_input(const char* input, const SkString& outputDir) { | 296 static int process_input(const char* input, const SkString& outputDir) { |
297 int failures = 0; | 297 int failures = 0; |
298 if (sk_isdir(input)) { | 298 if (sk_isdir(input)) { |
299 SkOSFile::Iter iter(input, PDF_FILE_EXTENSION); | 299 SkOSFile::Iter iter(input, PDF_FILE_EXTENSION); |
300 SkString inputFilename; | 300 SkString inputFilename; |
301 while (iter.next(&inputFilename)) { | 301 while (iter.next(&inputFilename)) { |
302 SkString inputPath = SkOSPath::SkPathJoin(input, inputFilename.c_str
()); | 302 SkString inputPath = SkOSPath::Join(input, inputFilename.c_str()); |
303 if (!process_pdf(inputPath, outputDir)) { | 303 if (!process_pdf(inputPath, outputDir)) { |
304 ++failures; | 304 ++failures; |
305 } | 305 } |
306 } | 306 } |
307 } else { | 307 } else { |
308 SkString inputPath(input); | 308 SkString inputPath(input); |
309 if (!process_pdf(inputPath, outputDir)) { | 309 if (!process_pdf(inputPath, outputDir)) { |
310 ++failures; | 310 ++failures; |
311 } | 311 } |
312 } | 312 } |
(...skipping 28 matching lines...) Expand all Loading... |
341 } | 341 } |
342 | 342 |
343 return 0; | 343 return 0; |
344 } | 344 } |
345 | 345 |
346 #if !defined SK_BUILD_FOR_IOS | 346 #if !defined SK_BUILD_FOR_IOS |
347 int main(int argc, char * const argv[]) { | 347 int main(int argc, char * const argv[]) { |
348 return tool_main(argc, (char**) argv); | 348 return tool_main(argc, (char**) argv); |
349 } | 349 } |
350 #endif | 350 #endif |
OLD | NEW |