This will enable clients to pass more than one bcp47 tag to ensure
that the most appropriate font is selected.
BUG=chromium:422180
Review URL: https://codereview.chromium.org/670243002
Add a new enum to differentiate between a complete decode and a
partial decode (with the third value being failure). Return this
value from SkImageDecoder::onDecode (in all subclasses, plus
SkImageDecoder_empty) and ::decode.
For convenience, if the enum is treated as a boolean, success and
partial success are both considered true.
Note that the static helper functions (DecodeFile etc) still return
true and false (for one thing, this allows us to continue to use
SkImageDecoder::DecodeMemory as an SkPicture::InstallPixelRefProc in
SkPicture::CreateFromStream).
Also correctly report failure in SkASTCImageDecoder::onDecode when
SkTextureCompressor::DecompressBufferFromFormat fails.
BUG=skia:3037
BUG:b/17419670
Review URL: https://codereview.chromium.org/647023006
Add a unique-per-subclass namespace tag to make Keys from different
domains comparable.
Also drop the SkPictureShader cache and convert to using the global
resource cache instead.
R=reed@google.com,mtklein@google.com,robertphillips@google.com
Review URL: https://codereview.chromium.org/668223002
Instead of taking a Bitmap as an argument this version
takes only the type of content (None/Opaque/Transparent).
This will be used to check the opaqueness of a SkPaint
that draws a SkImage.
BUG=skia:3042
Review URL: https://codereview.chromium.org/663233002
Replace the current/naive shader caching mechanism with a more general
implementation based on SkResourceCache.
Caching the bitmap shader itself (as opposed to just the tile bitmap)
makes for a chunkier key, but OTOH avoids allocating new shaders on
cache hit.
R=reed@google.com,mtklein@google.com
Review URL: https://codereview.chromium.org/671683004
The accumulated matrix state of any enclosing SkPictures must be stored separate from the picture-local CTM. Any setMatrix calls inside a layer need to replace the picture-local CTM but concatenate with the enclosing SkPicture transform state (and the transform state needed to translate the layer to the correct location in the cached GrTexture).
Review URL: https://codereview.chromium.org/639863005
GrAARectRenderer::fillAANestedRects only handles thin stroked rects correctly if the margins are all the same. It is also correct if all the margins are >= 1.0f. This CL allows such cases to use the fillAANestedRects fast path.
This seems to halve the gpu rendering time of the picture in bug crbug.com/425427.
Review URL: https://codereview.chromium.org/672473002
- remove unused method and obsolete note
- add a reminder that yes, we are checking counts are equal
BUG=skia:
Review URL: https://codereview.chromium.org/667993002
Without this patch the SaveAs functionality only copies the portion of the picture from the current command in the GUI.
Review URL: https://codereview.chromium.org/672453002
In FrontBufferedStream, when attempting to read and buffer more
data, do not try to read if the underlying stream is at the end.
Prevents a bug where we continue trying to read a stream that
has nothing more to read.
Review URL: https://codereview.chromium.org/665303002
Currently, the PDF backend does not support image filters (since PDF
does not have that functionality), so it simply removes them. This is
causing Chrome print preview to render incorrectly (see bug). The fix
here is to fall back to a raster device for image filters, as we used
to do in Blink. The resulting bitmap will be drawn to the destination
device as a normal main-memory-backed bitmap.
Note: this change invalidates the PDF results of all GMs containing
image filters (since they'll actually be rendered).
BUG=422144
Review URL: https://codereview.chromium.org/644323006
This is once again an issue related to logo fonts, so I don't
see any easy way to add a regression test for this.
BUG=424824
Review URL: https://codereview.chromium.org/665103002