Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
FuzzImageFilterDeserialize.cpp File Reference
#include "include/core/SkBitmap.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkImage.h"
#include "include/core/SkImageFilter.h"
#include "include/core/SkPaint.h"
#include "tools/fonts/FontToolUtils.h"

Go to the source code of this file.

Functions

void FuzzImageFilterDeserialize (const uint8_t *data, size_t size)
 

Function Documentation

◆ FuzzImageFilterDeserialize()

void FuzzImageFilterDeserialize ( const uint8_t *  data,
size_t  size 
)

Definition at line 16 of file FuzzImageFilterDeserialize.cpp.

16 {
17 const int BitmapSize = 24;
19 bitmap.allocN32Pixels(BitmapSize, BitmapSize);
20 SkCanvas canvas(bitmap);
21 canvas.clear(0x00000000);
22
23 auto flattenable = SkImageFilter::Deserialize(data, size);
24
25 if (flattenable != nullptr) {
26 // Let's see if using the filters can cause any trouble...
28 paint.setImageFilter(flattenable);
29 canvas.save();
30 canvas.clipIRect(bitmap.bounds());
31
32 // This call shouldn't crash or cause ASAN to flag any memory issues
33 // If nothing bad happens within this call, everything is fine
34 canvas.drawImage(bitmap.asImage(), 0, 0, SkSamplingOptions(), &paint);
35
36 canvas.restore();
37 }
38}
static sk_sp< SkImageFilter > Deserialize(const void *data, size_t size, const SkDeserialProcs *procs=nullptr)
const Paint & paint