2 * Copyright 2006 The Android Open Source Project
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
8 #ifndef SkEmbossMaskFilter_DEFINED
9 #define SkEmbossMaskFilter_DEFINED
11 #include "SkMaskFilter.h"
13 /** \class SkEmbossMaskFilter
15 This mask filter creates a 3D emboss look, by specifying a light and blur amount.
17 class SK_API SkEmbossMaskFilter : public SkMaskFilter {
20 SkScalar fDirection[3]; // x,y,z
23 uint8_t fSpecular; // exponent, 4.4 right now
26 SkEmbossMaskFilter(SkScalar blurSigma, const Light& light);
28 SK_ATTR_DEPRECATED("use sigma version")
29 SkEmbossMaskFilter(const Light& light, SkScalar blurRadius);
31 // overrides from SkMaskFilter
32 // This method is not exported to java.
33 virtual SkMask::Format getFormat() const SK_OVERRIDE;
34 // This method is not exported to java.
35 virtual bool filterMask(SkMask* dst, const SkMask& src, const SkMatrix&,
36 SkIPoint* margin) const SK_OVERRIDE;
38 SkDEVCODE(virtual void toString(SkString* str) const SK_OVERRIDE;)
39 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmbossMaskFilter)
42 SkEmbossMaskFilter(SkReadBuffer&);
43 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
49 typedef SkMaskFilter INHERITED;