Skia
2DGraphicsLibrary
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
SkImageSource.h
1
/*
2
* Copyright 2015 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 SkImageSource_DEFINED
9
#define SkImageSource_DEFINED
10
11
#include "SkImage.h"
12
#include "SkImageFilter.h"
13
14
class
SK_API
SkImageSource
:
public
SkImageFilter
{
15
public
:
16
static
sk_sp<SkImageFilter>
Make(
sk_sp<SkImage>
image);
17
static
sk_sp<SkImageFilter>
Make(
sk_sp<SkImage>
image,
18
const
SkRect
& srcRect,
19
const
SkRect
& dstRect,
20
SkFilterQuality filterQuality);
21
22
SkRect
computeFastBounds(
const
SkRect
& src)
const override
;
23
24
SK_TO_STRING_OVERRIDE()
25
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(
SkImageSource
)
26
27
protected
:
28
void
flatten
(
SkWriteBuffer
&)
const override
;
29
30
sk_sp<SkSpecialImage>
onFilterImage
(SkSpecialImage* source,
const
Context
&,
31
SkIPoint
* offset)
const override
;
32
sk_sp<SkImageFilter>
onMakeColorSpace(SkColorSpaceXformer*)
const override
;
33
34
private
:
35
explicit
SkImageSource
(
sk_sp<SkImage>
);
36
SkImageSource
(
sk_sp<SkImage>
,
37
const
SkRect
& srcRect,
38
const
SkRect
& dstRect,
39
SkFilterQuality);
40
41
sk_sp<SkImage>
fImage;
42
SkRect
fSrcRect, fDstRect;
43
SkFilterQuality fFilterQuality;
44
45
typedef
SkImageFilter
INHERITED
;
46
};
47
48
#endif
SkImageFilter::flatten
void flatten(SkWriteBuffer &) const override
Override this if your subclass needs to record data that it will need to recreate itself from its Cre...
SkImageFilter::onFilterImage
virtual sk_sp< SkSpecialImage > onFilterImage(SkSpecialImage *src, const Context &, SkIPoint *offset) const =0
This is the virtual which should be overridden by the derived class to perform image filtering...
SkRefCnt
Definition:
SkRefCnt.h:125
SkImageFilter
Base class for image filters.
Definition:
SkImageFilter.h:36
sk_sp< SkImageFilter >
SkImageSource
Definition:
SkImageSource.h:14
SkWriteBuffer
Definition:
SkWriteBuffer.h:27
SkRect
Definition:
SkRect.h:404
SkImageFilter::Context
Definition:
SkImageFilter.h:54
SkIPoint
SkIPoint holds two 32 bit integer coordinates.
Definition:
SkPoint.h:40