blob: 92e8292016d971c8bf915aaf84bf6c710085d52a [file] [log] [blame]
Kevin Lubick2541edf2018-01-11 10:27:14 -05001/*
Kevin Lubickdb1e5c62018-02-27 08:30:43 -05002 * Copyright 2018 Google, LLC
Kevin Lubick2541edf2018-01-11 10:27:14 -05003 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
Cary Clark91390c82018-03-09 14:02:46 -05008#ifndef FuzzCommon_DEFINED
9#define FuzzCommon_DEFINED
10
Mike Kleinc0bd9f92019-04-23 12:05:21 -050011#include "fuzz/Fuzz.h"
12#include "include/core/SkMatrix.h"
13#include "include/core/SkPath.h"
14#include "include/core/SkRRect.h"
John Stilesff9ef172023-10-05 13:16:45 -040015#include "include/core/SkRefCnt.h"
Mike Kleinc0bd9f92019-04-23 12:05:21 -050016#include "include/core/SkRegion.h"
John Stilesff9ef172023-10-05 13:16:45 -040017#include "include/effects/SkRuntimeEffect.h"
18#include "include/private/base/SkTArray.h"
19
20class SkData;
Kevin Lubick2541edf2018-01-11 10:27:14 -050021
Cary Clark91390c82018-03-09 14:02:46 -050022// allows some float values for path points
Mike Klein7ffa40c2018-09-25 12:16:53 -040023void FuzzNicePath(Fuzz* fuzz, SkPath* path, int maxOps);
Cary Clark91390c82018-03-09 14:02:46 -050024// allows all float values for path points
Mike Klein7ffa40c2018-09-25 12:16:53 -040025void FuzzEvilPath(Fuzz* fuzz, SkPath* path, int last_verb);
Cary Clark91390c82018-03-09 14:02:46 -050026
Kevin Lubickbc9a1a82018-09-17 14:46:57 -040027void FuzzNiceRRect(Fuzz* fuzz, SkRRect* rr);
28
29void FuzzNiceMatrix(Fuzz* fuzz, SkMatrix* m);
30
31void FuzzNiceRegion(Fuzz* fuzz, SkRegion* region, int maxN);
32
John Stilesff9ef172023-10-05 13:16:45 -040033void FuzzCreateValidInputsForRuntimeEffect(
34 SkRuntimeEffect* effect,
35 sk_sp<SkData>& uniformBytes,
36 skia_private::TArray<SkRuntimeEffect::ChildPtr>& children);
37
Cary Clark91390c82018-03-09 14:02:46 -050038#endif
Kevin Lubickfe6b4892018-06-05 17:21:30 -040039