117f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark/*
217f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark * Copyright 2014 Google Inc.
317f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark *
417f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark * Use of this source code is governed by a BSD-style license that can be
517f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark * found in the LICENSE file.
617f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark */
717f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark
817f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark#ifndef SK_COMMON_FLAGS_H
917f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark#define SK_COMMON_FLAGS_H
1017f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark
11bf521ff9415b3bdb1acde7b8d18139df176236e5bungeman#include "../private/SkTArray.h"
1217f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark#include "SkCommandLineFlags.h"
138673714d75ff1020f78217ff8839f1e18c3591e4scroggo#include "SkString.h"
1417f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark
1517f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(cpu);
1617f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(dryRun);
1717f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(gpu);
1895f192d19938b98a45dd1fa4112d965f60d10516msarettDECLARE_string(images);
1917f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_string(match);
2017f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(quiet);
2117f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(resetGpuContext);
225f5a8d7599b8e248633ac122294b7a01401fedcbjoshualittDECLARE_bool(preAbandonGpuContext);
232354f8432a7205571f04f9638a0018fb0b1fb282bsalomonDECLARE_bool(abandonGpuContext);
2492007583e43115998412ac8b0a06cc2780eb025cmtkleinDECLARE_string(skps);
2517f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_int32(threads);
2617f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_string(resourcePath);
2717f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(verbose);
2817f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclarkDECLARE_bool(veryVerbose);
29b511042bb07a6a289b0d1146cb57f6e8b80580d6mtkleinDECLARE_string(writePath);
308d61f0dd1b6fde5202a14dfafcc1bceccf0d74adbenjaminwagnerDECLARE_bool(pre_log);
3117f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark
32ea65bfa8ded918b908287e3e3474aaf5cbd12feamtkleinDECLARE_string(key);
33ea65bfa8ded918b908287e3e3474aaf5cbd12feamtkleinDECLARE_string(properties);
34ea65bfa8ded918b908287e3e3474aaf5cbd12feamtklein
358673714d75ff1020f78217ff8839f1e18c3591e4scroggo/**
368673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  Helper to assist in collecting image paths from --images.
378673714d75ff1020f78217ff8839f1e18c3591e4scroggo *
388673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  Populates an array of strings with paths to images to test.
398673714d75ff1020f78217ff8839f1e18c3591e4scroggo *
408673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  Returns true if each argument to --images is meaningful:
418673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  - If the file/directory does not exist, return false.
428673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  - If a directory passed to --images does not have any supported images (based on file
438673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  type), return false.
448673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  - If a file is passed to --images, assume the user is deliberately testing this image,
458673714d75ff1020f78217ff8839f1e18c3591e4scroggo *  regardless of file type.
468673714d75ff1020f78217ff8839f1e18c3591e4scroggo */
478673714d75ff1020f78217ff8839f1e18c3591e4scroggobool CollectImages(SkTArray<SkString>*);
488673714d75ff1020f78217ff8839f1e18c3591e4scroggo
4917f0b6df7248b9bbdaddacc3a6c9c6efe4ae278ecaryclark#endif
50