Flutter Engine
The Flutter Engine
|
#include <SkDevice.h>
Classes | |
struct | CreateInfo |
Public Member Functions | |
SkDevice (const SkImageInfo &, const SkSurfaceProps &) | |
const SkImageInfo & | imageInfo () const |
int | width () const |
int | height () const |
bool | isOpaque () const |
SkIRect | bounds () const |
SkISize | size () const |
const SkSurfaceProps & | surfaceProps () const |
SkScalerContextFlags | scalerContextFlags () const |
virtual SkStrikeDeviceInfo | strikeDeviceInfo () const |
bool | writePixels (const SkPixmap &src, int x, int y) |
bool | readPixels (const SkPixmap &dst, int x, int y) |
bool | accessPixels (SkPixmap *pmap) |
bool | peekPixels (SkPixmap *) |
const SkM44 & | localToDevice44 () const |
const SkMatrix & | localToDevice () const |
const SkM44 & | deviceToGlobal () const |
const SkM44 & | globalToDevice () const |
SkIPoint | getOrigin () const |
bool | isPixelAlignedToGlobal () const |
SkMatrix | getRelativeTransform (const SkDevice &) const |
void | setLocalToDevice (const SkM44 &localToDevice) |
void | setGlobalCTM (const SkM44 &ctm) |
void | getGlobalBounds (SkIRect *bounds) const |
SkIRect | getGlobalBounds () const |
virtual SkIRect | devClipBounds () const =0 |
virtual void | pushClipStack ()=0 |
virtual void | popClipStack ()=0 |
virtual void | clipRect (const SkRect &rect, SkClipOp op, bool aa)=0 |
virtual void | clipRRect (const SkRRect &rrect, SkClipOp op, bool aa)=0 |
virtual void | clipPath (const SkPath &path, SkClipOp op, bool aa)=0 |
virtual void | clipRegion (const SkRegion ®ion, SkClipOp op)=0 |
void | clipShader (sk_sp< SkShader > sh, SkClipOp op) |
virtual void | replaceClip (const SkIRect &rect)=0 |
virtual bool | isClipAntiAliased () const =0 |
virtual bool | isClipEmpty () const =0 |
virtual bool | isClipRect () const =0 |
virtual bool | isClipWideOpen () const =0 |
virtual void | android_utils_clipAsRgn (SkRegion *) const =0 |
virtual bool | android_utils_clipWithStencil () |
virtual bool | useDrawCoverageMaskForMaskFilters () const |
virtual bool | isNoPixelsDevice () const |
virtual void * | getRasterHandle () const |
virtual GrRecordingContext * | recordingContext () const |
virtual skgpu::graphite::Recorder * | recorder () const |
virtual skgpu::ganesh::Device * | asGaneshDevice () |
virtual skgpu::graphite::Device * | asGraphiteDevice () |
virtual void | setImmutable () |
virtual sk_sp< SkSurface > | makeSurface (const SkImageInfo &, const SkSurfaceProps &) |
virtual sk_sp< SkDevice > | createDevice (const CreateInfo &, const SkPaint *) |
void | drawGlyphRunList (SkCanvas *, const sktext::GlyphRunList &glyphRunList, const SkPaint &paint) |
virtual sk_sp< sktext::gpu::Slug > | convertGlyphRunListToSlug (const sktext::GlyphRunList &glyphRunList, const SkPaint &paint) |
virtual void | drawSlug (SkCanvas *, const sktext::gpu::Slug *slug, const SkPaint &paint) |
virtual void | drawPaint (const SkPaint &paint)=0 |
virtual void | drawPoints (SkCanvas::PointMode mode, size_t count, const SkPoint[], const SkPaint &paint)=0 |
virtual void | drawRect (const SkRect &r, const SkPaint &paint)=0 |
virtual void | drawRegion (const SkRegion &r, const SkPaint &paint) |
virtual void | drawOval (const SkRect &oval, const SkPaint &paint)=0 |
virtual void | drawArc (const SkArc &arc, const SkPaint &paint) |
virtual void | drawRRect (const SkRRect &rr, const SkPaint &paint)=0 |
virtual void | drawDRRect (const SkRRect &outer, const SkRRect &inner, const SkPaint &) |
virtual void | drawPath (const SkPath &path, const SkPaint &paint, bool pathIsMutable=false)=0 |
virtual void | drawImageRect (const SkImage *, const SkRect *src, const SkRect &dst, const SkSamplingOptions &, const SkPaint &, SkCanvas::SrcRectConstraint)=0 |
virtual bool | shouldDrawAsTiledImageRect () const |
virtual bool | drawAsTiledImageRect (SkCanvas *, const SkImage *, const SkRect *src, const SkRect &dst, const SkSamplingOptions &, const SkPaint &, SkCanvas::SrcRectConstraint) |
virtual void | drawImageLattice (const SkImage *, const SkCanvas::Lattice &, const SkRect &dst, SkFilterMode, const SkPaint &) |
virtual void | drawVertices (const SkVertices *, sk_sp< SkBlender >, const SkPaint &, bool skipColorXform=false)=0 |
virtual void | drawMesh (const SkMesh &mesh, sk_sp< SkBlender >, const SkPaint &)=0 |
virtual void | drawShadow (const SkPath &, const SkDrawShadowRec &) |
virtual void | drawPatch (const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4], sk_sp< SkBlender >, const SkPaint &paint) |
virtual void | drawAtlas (const SkRSXform[], const SkRect[], const SkColor[], int count, sk_sp< SkBlender >, const SkPaint &) |
virtual void | drawAnnotation (const SkRect &, const char[], SkData *) |
virtual void | drawEdgeAAQuad (const SkRect &rect, const SkPoint clip[4], SkCanvas::QuadAAFlags aaFlags, const SkColor4f &color, SkBlendMode mode) |
virtual void | drawEdgeAAImageSet (const SkCanvas::ImageSetEntry[], int count, const SkPoint dstClips[], const SkMatrix preViewMatrices[], const SkSamplingOptions &, const SkPaint &, SkCanvas::SrcRectConstraint) |
virtual void | drawDrawable (SkCanvas *, SkDrawable *, const SkMatrix *) |
virtual sk_sp< SkSpecialImage > | snapSpecial (const SkIRect &subset, bool forceCopy=false) |
virtual sk_sp< SkSpecialImage > | snapSpecialScaled (const SkIRect &subset, const SkISize &dstDims) |
sk_sp< SkSpecialImage > | snapSpecial () |
virtual void | drawDevice (SkDevice *, const SkSamplingOptions &, const SkPaint &) |
virtual void | drawSpecial (SkSpecialImage *, const SkMatrix &localToDevice, const SkSamplingOptions &, const SkPaint &, SkCanvas::SrcRectConstraint constraint=SkCanvas::kStrict_SrcRectConstraint) |
virtual void | drawCoverageMask (const SkSpecialImage *, const SkMatrix &maskToDevice, const SkSamplingOptions &, const SkPaint &) |
virtual bool | drawBlurredRRect (const SkRRect &, const SkPaint &, float deviceSigma) |
void | drawFilteredImage (const skif::Mapping &mapping, SkSpecialImage *src, SkColorType ct, const SkImageFilter *, const SkSamplingOptions &, const SkPaint &) |
Public Member Functions inherited from SkRefCntBase | |
SkRefCntBase () | |
virtual | ~SkRefCntBase () |
bool | unique () const |
void | ref () const |
void | unref () const |
Protected Member Functions | |
virtual sk_sp< SkSpecialImage > | makeSpecial (const SkBitmap &) |
virtual sk_sp< SkSpecialImage > | makeSpecial (const SkImage *) |
void | setDeviceCoordinateSystem (const SkM44 &deviceToGlobal, const SkM44 &globalToDevice, const SkM44 &localToDevice, int bufferOriginX, int bufferOriginY) |
void | setOrigin (const SkM44 &globalCTM, int x, int y) |
bool | checkLocalToDeviceDirty () |
Private Member Functions | |
virtual sk_sp< skif::Backend > | createImageFilteringBackend (const SkSurfaceProps &surfaceProps, SkColorType colorType) const |
virtual bool | onReadPixels (const SkPixmap &, int x, int y) |
virtual bool | onWritePixels (const SkPixmap &, int x, int y) |
virtual bool | onAccessPixels (SkPixmap *) |
virtual bool | onPeekPixels (SkPixmap *) |
virtual void | onClipShader (sk_sp< SkShader >)=0 |
virtual void | onDrawGlyphRunList (SkCanvas *, const sktext::GlyphRunList &, const SkPaint &paint)=0 |
Friends | |
class | SkCanvas |
class | DeviceTestingAccess |
SkDevice is the internal API and implementation that SkCanvas will use to perform rendering and implement the saveLayer abstraction. A device wraps some pixel allocation (for non-document based devices) or wraps some other container that stores rendering operations. The drawing operations perform equivalently to their corresponding functions in SkCanvas except that the canvas is responsible for all SkImageFilters. An image filter is applied by automatically creating a layer, drawing the filter-less paint into the layer, and then evaluating the filter on the layer's image.
Each layer in an SkCanvas stack is represented by an SkDevice instance that was created by the parent SkDevice (up to the canvas's base device). In most cases these devices will be pixel aligned with one another but may differ in size based on the known extent of the active clip. In complex image filtering scenarios, they may not be axis aligned, although the effective pixel size should remain approximately equal across all devices in a canvas.
While SkCanvas manages a single stack of layers and canvas transforms, SkDevice does not have a stack of transforms. Instead, it has a single active transform that is modified as needed by SkCanvas. However, SkDevices are the means by which SkCanvas manages the clip stack because each layer's clip stack starts anew (although the layer's results are then clipped by its parent's stack when it is restored).
Definition at line 107 of file SkDevice.h.
SkDevice::SkDevice | ( | const SkImageInfo & | info, |
const SkSurfaceProps & | surfaceProps | ||
) |
Definition at line 45 of file SkDevice.cpp.
bool SkDevice::accessPixels | ( | SkPixmap * | pmap | ) |
Try to get write-access to the pixels behind the device. If successful, this returns true and fills-out the pixmap parameter. On success it also bumps the genID of the underlying bitmap.
On failure, returns false and ignores the pixmap parameter.
Definition at line 383 of file SkDevice.cpp.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, skgpu::ganesh::Device, skgpu::graphite::Device, and SkNoPixelsDevice.
|
inlinevirtual |
Reimplemented in skgpu::ganesh::Device.
Definition at line 267 of file SkDevice.h.
|
inlinevirtual |
Reimplemented in skgpu::ganesh::Device.
Definition at line 287 of file SkDevice.h.
|
inlinevirtual |
Reimplemented in skgpu::graphite::Device.
Definition at line 288 of file SkDevice.h.
|
inline |
Definition at line 125 of file SkDevice.h.
|
inlineprotected |
Definition at line 513 of file SkDevice.h.
Implemented in SkNoPixelsDevice, skgpu::ganesh::Device, SkBitmapDevice, SkClipStackDevice, and skgpu::graphite::Device.
Implemented in SkNoPixelsDevice, skgpu::ganesh::Device, SkBitmapDevice, SkClipStackDevice, and skgpu::graphite::Device.
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
Implemented in SkNoPixelsDevice, skgpu::ganesh::Device, SkBitmapDevice, SkClipStackDevice, and skgpu::graphite::Device.
Definition at line 251 of file SkDevice.h.
|
virtual |
Reimplemented in skgpu::ganesh::Device, and GlyphTrackingDevice.
Definition at line 483 of file SkDevice.cpp.
|
inlinevirtual |
Create a new device based on CreateInfo. If the paint is not null, then it represents a preview of how the new device will be composed with its creator device (this).
The subclass may be handed this device in drawDevice(), so it must always return a device that it knows how to draw, and that it knows how to identify if it is not of the same subclass (since drawDevice is passed a SkDevice*). If the subclass cannot fulfill that contract (e.g. PDF cannot support some settings on the paint) it should return NULL, and the caller may then decide to explicitly create a bitmapdevice, knowing that later it could not call drawDevice with it (but it could call drawSprite or drawBitmap).
Reimplemented in SkBitmapDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and GlyphTrackingDevice.
Definition at line 322 of file SkDevice.h.
|
privatevirtual |
Definition at line 324 of file SkDevice.cpp.
|
pure virtual |
Returns the bounding box of the current clip, in this device's coordinate space. No pixels outside of these bounds will be touched by draws unless the clip is further modified (at which point this will return the updated bounds).
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
|
inline |
Return the device's coordinate space transform: this maps from the device's coordinate space into the global canvas' space (or root device space). This includes the translation necessary to account for the device's origin.
Definition at line 186 of file SkDevice.h.
By the time this is called we know that abs(sweepAngle) is in the range [0, 360).
Reimplemented in skgpu::ganesh::Device.
Definition at line 134 of file SkDevice.cpp.
|
inlinevirtual |
Reimplemented in skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 369 of file SkDevice.h.
|
virtual |
Reimplemented in SkBitmapDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 203 of file SkDevice.cpp.
|
inlinevirtual |
Draw rrect with an optimized path for analytic blurs, if provided by the device.
Reimplemented in skgpu::graphite::Device.
Definition at line 469 of file SkDevice.h.
|
virtual |
Draw the special image's subset to this device, treating its alpha channel as coverage for the draw and ignoring any RGB channels that might be present. This will be drawn using the provided matrix transform instead of the device's current local to device matrix.
Coverage values beyond the image's subset are treated as 0 (i.e. kDecal tiling). Color values before coverage are determined as normal by the SkPaint, ignoring style, path effects, mask filters and image filters. The local coords of any SkShader on the paint should be relative to the SkDevice's current matrix (i.e. 'maskToDevice' determines how the coverage mask aligns with device-space, but otherwise shading proceeds like other draws).
Reimplemented in skgpu::graphite::Device.
Definition at line 306 of file SkDevice.cpp.
|
virtual |
The SkDevice passed will be an SkDevice which was returned by a call to onCreateDevice on this device with kNeverTile_TileExpectation.
The default implementation calls snapSpecial() and drawSpecial() with the relative transform from the input device to this device. The provided SkPaint cannot have a mask filter or image filter, and any shader is ignored.
Reimplemented in SkNoPixelsDevice, skgpu::ganesh::Device, and SkPDFDevice.
Definition at line 329 of file SkDevice.cpp.
|
virtual |
Reimplemented in skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 298 of file SkDevice.cpp.
|
virtual |
Reimplemented in skgpu::ganesh::Device.
Definition at line 141 of file SkDevice.cpp.
|
virtual |
Reimplemented in skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 253 of file SkDevice.cpp.
|
virtual |
Reimplemented in skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 236 of file SkDevice.cpp.
void SkDevice::drawFilteredImage | ( | const skif::Mapping & | mapping, |
SkSpecialImage * | src, | ||
SkColorType | ct, | ||
const SkImageFilter * | filter, | ||
const SkSamplingOptions & | sampling, | ||
const SkPaint & | paint | ||
) |
Evaluate 'filter' and draw the final output into this device using 'paint'. The 'mapping' defines the parameter-to-layer space transform used to evaluate the image filter on 'src', and the layer-to-device space transform that is used to draw the result into this device. Since 'mapping' fully specifies the transform, this draw function ignores the current local-to-device matrix (i.e. just like drawSpecial and drawDevice).
The final paint must not have an image filter or mask filter set on it; a shader is ignored. The provided color type will be used for any intermediate surfaces that need to be created as part of filter evaluation. It does not have to be src's color type or this Device's type.
Definition at line 347 of file SkDevice.cpp.
void SkDevice::drawGlyphRunList | ( | SkCanvas * | canvas, |
const sktext::GlyphRunList & | glyphRunList, | ||
const SkPaint & | paint | ||
) |
Definition at line 426 of file SkDevice.cpp.
|
virtual |
Reimplemented in skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 163 of file SkDevice.cpp.
|
pure virtual |
Implemented in SkNoPixelsDevice, SkBitmapDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
|
pure virtual |
Implemented in SkBitmapDevice, SkNoPixelsDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
Implemented in SkNoPixelsDevice, SkBitmapDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
|
pure virtual |
Implemented in SkBitmapDevice, SkNoPixelsDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
|
virtual |
Definition at line 152 of file SkDevice.cpp.
|
pure virtual |
If pathIsMutable, then the implementation is allowed to cast path to a non-const pointer and modify it in place (as an optimization). Canvas may do this to implement helpers such as drawOval, by placing a temp path on the stack to hold the representation of the oval.
Implemented in SkBitmapDevice, SkNoPixelsDevice, SkPDFDevice, skgpu::ganesh::Device, skgpu::graphite::Device, and SkSVGDevice.
|
pure virtual |
Implemented in SkBitmapDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, SkSVGDevice, and SkNoPixelsDevice.
Implemented in SkNoPixelsDevice, SkBitmapDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
Reimplemented in skgpu::ganesh::Device.
Definition at line 113 of file SkDevice.cpp.
Implemented in SkNoPixelsDevice, skgpu::ganesh::Device, SkBitmapDevice, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
|
virtual |
Reimplemented in skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 593 of file SkShadowUtils.cpp.
|
virtual |
Reimplemented in SkNoPixelsDevice, and skgpu::ganesh::Device.
Definition at line 488 of file SkDevice.cpp.
|
virtual |
Draw the special image's subset to this device, subject to the given matrix transform instead of the device's current local to device matrix.
If 'constraint' is kFast, the rendered geometry of the image still reflects the extent of the SkSpecialImage's subset, but it's assumed that the pixel data beyond the subset is valid (e.g. SkSpecialImage::makeSubset() was called to crop a larger image).
Reimplemented in SkBitmapDevice, SkPDFDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 304 of file SkDevice.cpp.
|
pure virtual |
If skipColorXform is true, then the implementation should assume that the provided vertex colors are already in the destination color space.
Implemented in SkBitmapDevice, SkNoPixelsDevice, skgpu::ganesh::Device, skgpu::graphite::Device, SkPDFDevice, and SkSVGDevice.
|
inline |
Definition at line 230 of file SkDevice.h.
|
inline |
Return the bounds of the device in the coordinate space of the root canvas. The root device will have its top-left at 0,0, but other devices such as those associated with saveLayer may have a non-zero origin.
Definition at line 225 of file SkDevice.h.
SkIPoint SkDevice::getOrigin | ( | ) | const |
DEPRECATED: This asserts that 'getDeviceToGlobal' is a translation matrix with integer components. In the future some SkDevices will have more complex device-to-global transforms, so getDeviceToGlobal() or getRelativeTransform() should be used instead.
Definition at line 91 of file SkDevice.cpp.
|
inlinevirtual |
Get the transformation from this device's coordinate system to the provided device space. This transform can be used to draw this device into the provided device, such that once that device is drawn to the root device, the net effect will be that this device's contents have been transformed by the global CTM.
Definition at line 103 of file SkDevice.cpp.
|
inline |
Return the inverse of getDeviceToGlobal(), mapping from the global canvas' space (or root device space) into this device's coordinate space.
Definition at line 191 of file SkDevice.h.
|
inline |
Definition at line 120 of file SkDevice.h.
|
inline |
Return ImageInfo for this device. If the canvas is not backed by pixels (cpu or gpu), then the info's ColorType will be kUnknown_SkColorType.
Definition at line 117 of file SkDevice.h.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
|
inlinevirtual |
|
inline |
Definition at line 122 of file SkDevice.h.
bool SkDevice::isPixelAlignedToGlobal | ( | ) | const |
Returns true when this device's pixel grid is axis aligned with the global coordinate space, and any relative translation between the two spaces is in integer pixel units.
Definition at line 82 of file SkDevice.cpp.
|
inline |
Definition at line 179 of file SkDevice.h.
|
inline |
Returns the transformation that maps from the local space to the device's coordinate space.
Definition at line 178 of file SkDevice.h.
|
protectedvirtual |
Reimplemented in SkBitmapDevice, skgpu::ganesh::Device, and SkPDFDevice.
Definition at line 313 of file SkDevice.cpp.
|
protectedvirtual |
Reimplemented in SkBitmapDevice, skgpu::ganesh::Device, and SkPDFDevice.
Definition at line 314 of file SkDevice.cpp.
|
virtual |
Reimplemented in SkBitmapDevice, skgpu::ganesh::Device, skgpu::graphite::Device, and SkPDFDevice.
Definition at line 494 of file SkDevice.cpp.
|
inlineprivatevirtual |
Definition at line 533 of file SkDevice.h.
|
privatepure virtual |
Implemented in SkNoPixelsDevice, and GlyphTrackingDevice.
|
inlineprivatevirtual |
Definition at line 535 of file SkDevice.h.
Definition at line 528 of file SkDevice.h.
Definition at line 531 of file SkDevice.h.
bool SkDevice::peekPixels | ( | SkPixmap * | pmap | ) |
Try to get read-only-access to the pixels behind the device. If successful, this returns true and fills-out the pixmap parameter.
On failure, returns false and ignores the pixmap parameter.
Definition at line 391 of file SkDevice.cpp.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
Read pixels from this Device at the specified x,y offset into dst. The caller is responsible for "pre-clipping" the dst
Definition at line 153 of file SkDevice.h.
|
inlinevirtual |
Reimplemented in skgpu::graphite::Device.
Definition at line 285 of file SkDevice.h.
|
inlinevirtual |
Reimplemented in skgpu::ganesh::Device.
Definition at line 284 of file SkDevice.h.
|
pure virtual |
Implemented in SkBitmapDevice, SkClipStackDevice, SkNoPixelsDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
SkScalerContextFlags SkDevice::scalerContextFlags | ( | ) | const |
Definition at line 498 of file SkDevice.cpp.
|
protected |
Definition at line 52 of file SkDevice.cpp.
void SkDevice::setGlobalCTM | ( | const SkM44 & | ctm | ) |
Definition at line 73 of file SkDevice.cpp.
|
inlinevirtual |
Reimplemented in SkBitmapDevice, and skgpu::graphite::Device.
Definition at line 293 of file SkDevice.h.
|
inline |
Definition at line 211 of file SkDevice.h.
Definition at line 508 of file SkDevice.h.
|
inlinevirtual |
Reimplemented in skgpu::ganesh::Device.
Definition at line 368 of file SkDevice.h.
|
inline |
Definition at line 126 of file SkDevice.h.
sk_sp< SkSpecialImage > SkDevice::snapSpecial | ( | ) |
Definition at line 320 of file SkDevice.cpp.
|
virtual |
Reimplemented in SkBitmapDevice, skgpu::ganesh::Device, and skgpu::graphite::Device.
Definition at line 315 of file SkDevice.cpp.
|
virtual |
Reimplemented in skgpu::ganesh::Device.
Definition at line 316 of file SkDevice.cpp.
|
inlinevirtual |
Reimplemented in skgpu::ganesh::Device, skgpu::graphite::Device, and GlyphTrackingDevice.
Definition at line 137 of file SkDevice.h.
|
inline |
Return SurfaceProps for this device.
Definition at line 131 of file SkDevice.h.
|
inlinevirtual |
Reimplemented in skgpu::graphite::Device.
Definition at line 276 of file SkDevice.h.
|
inline |
Definition at line 119 of file SkDevice.h.
Write the pixels in 'src' into this Device at the specified x,y offset. The caller is responsible for "pre-clipping" the src.
Definition at line 147 of file SkDevice.h.
|
friend |
Definition at line 521 of file SkDevice.h.
|
friend |
Definition at line 520 of file SkDevice.h.