History log of /frameworks/base/core/jni/android_graphics_Canvas.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a0a74d5f8ee1dbd04772ffb1775d045ce6b5934b 13-Mar-2017 Mike Reed <reed@google.com> use _deprecated suffix for deprecated clipops

Allows skia to remove legacy flag for older names
- SK_SUPPORT_EXOTIC_CLIPOPS
- SK_SUPPORT_LEGACY_CLIPOP_EXOTIC_NAMES

Test: CtsGraphicsTestCases

Change-Id: I78478d94d059641a9381579cae6d28f9f0685ad1
/frameworks/base/core/jni/android_graphics_Canvas.cpp
3318f8bf0cba473822a8ecc4bb632e6755be4226 13-Feb-2017 Mike Reed <reed@google.com> include SkRegion.h explicitly (SkCanvas.h no longer does)

Change-Id: I5a601dbeeec0a9942051ed0c699c70138fcbcb95
/frameworks/base/core/jni/android_graphics_Canvas.cpp
bfa0b29883d56edfc2ec217962290d3c94f9fc2a 20-Jan-2017 Chris Craik <ccraik@google.com> Use @CriticalNative in Canvas

Bug: 33460152
Test: ViewShowHidePerfTests

Switches non-drawing @FastNative methods to @CriticalNative, except
where out arguments prevent it.

Performance in ViewShowHidePerfTests not significantly impacted.

Change-Id: I3edc963accb4f87f73d175c7b2534868602a7db3
/frameworks/base/core/jni/android_graphics_Canvas.cpp
b29b16e5423fe7deab8ebf3da512c6d2192f19b5 04-Jan-2017 Derek Sollenberger <djsollen@google.com> Remove clipRegion from the public API.

This API is difficult to support for printing and has other negative
effects as it does not respect the current matrix/clip.

Test: compile
Bug: 14650725
Change-Id: I71f9bd687d446c7ce8910d755421aad8e09458db
/frameworks/base/core/jni/android_graphics_Canvas.cpp
66b9d4486abb9e6d1edc624cd9ff522b12acece0 16-Dec-2016 Chris Craik <ccraik@google.com> Revert "try to stop using exotic clipps"

This reverts commit 834653bcf80a3879c4d80004469053f205d45b69.

Change-Id: Ie8cb787490832a0be154ec1263313982157faa81
/frameworks/base/core/jni/android_graphics_Canvas.cpp
834653bcf80a3879c4d80004469053f205d45b69 14-Dec-2016 Mike Reed <reed@google.com> try to stop using exotic clipps

Change-Id: Id11d7744daa69c19fdc9b7723862b3d71ad21384
/frameworks/base/core/jni/android_graphics_Canvas.cpp
6c67f1d04591f44bccb476d715a005ad5bbdf840 14-Dec-2016 Mike Reed <reed@google.com> SkClipOp is now an enum class

Change-Id: If423dd013a264162ae0b7674a0eeef34bc2cdaae
/frameworks/base/core/jni/android_graphics_Canvas.cpp
6e49c9f007c879f05b035c40c0ba543c00f9d0d0 02-Dec-2016 Mike Reed <reed@google.com> switch over clip calls to use SkClipOp instead of SkRegion::Op

Change-Id: I67d23c487b5249bc31d96e3b2393f693c0b2bcff
/frameworks/base/core/jni/android_graphics_Canvas.cpp
5fd2a1cb2726afa7d40fe4750e9defd89c24ed37 21-Oct-2016 sergeyv <sergeyv@google.com> Pass Bitmap instead of SkBitmap in drawNinePatch & drawBitmapMesh
Test: refactoring cl.
bug:32216791

Change-Id: I5adcd59daf752d36012456b0a9960c59d07e2e3d
/frameworks/base/core/jni/android_graphics_Canvas.cpp
fc9999505a36c66892d7ccce85187936105f4f36 17-Oct-2016 sergeyv <sergeyv@google.com> Pass Bitmap instead of SkBitmap for bitmap rect operation
Test: refactoring cl.
bug:32216791

Change-Id: I66d19194c57b3aa2c400aa87acffc774a533776a
/frameworks/base/core/jni/android_graphics_Canvas.cpp
aed7f58fb05a25ce2112829e77c0eb5dd268e8a7 15-Oct-2016 sergeyv <sergeyv@google.com> Pass Bitmap instead of SkBitmap in canvas.drawBitmap(Bitmap, float,float,Paint)
Test: refactoring cl.
bug:32216791

Change-Id: If9f9fbc19e683b14cce6c3c268258bd832d495d2
/frameworks/base/core/jni/android_graphics_Canvas.cpp
c1c54062f8cc9d47bdea820ae5ab6aef260b4488 20-Oct-2016 sergeyv <sergeyv@google.com> Rename hwui/PixelRef to hwui/Bitmap
Test: refactoring cl.
bug:32216791

Change-Id: I26de43f71027bccb43a5011f84080ab4631b2883
/frameworks/base/core/jni/android_graphics_Canvas.cpp
7ca5ad1d06c94d99f17b2f1f27cd853d47b5bcf4 19-Oct-2016 Sergei Vasilinetc <sergeyv@google.com> Merge "Move allocatePixelRef methods to hwui. This patch also makes tests to use SkBitmap backed by hwui/PixelRef, Test: refactoring cl. bug:27762775"
ca9b1ed9f0d8638637c83931f96f184889a72fa4 18-Oct-2016 Mike Reed <reed@google.com> Merge "use SkBlendMode instead of SkXfermode use sk_sp versions of paint setters/getters"
caa08ff5e9ee004634a95776fc72bb769f1286de 07-Oct-2016 John Reck <jreck@google.com> The bigger update to Canvas

All draw* calls in Canvas are regular JNI
All draw* calls in DisplayListCanvas are FastNative
Unifies Canvas JNI on nMethodName naming

CanvasPerf results before:
INSTRUMENTATION_STATUS: basicViewGroupDraw_min=12492
INSTRUMENTATION_STATUS: recordSimpleBitmapView_min=13912

and after:
INSTRUMENTATION_STATUS: basicViewGroupDraw_min=11945
INSTRUMENTATION_STATUS: recordSimpleBitmapView_min=13318

Test: refactor, makes & boots
Change-Id: I06000df1d125e17d60c6498865be7a7638a4a13e
/frameworks/base/core/jni/android_graphics_Canvas.cpp
c36bd6c16ddfc160732ff7e4518564714c8aa66e 12-Oct-2016 sergeyv <sergeyv@google.com> Move allocatePixelRef methods to hwui.
This patch also makes tests to use SkBitmap backed by hwui/PixelRef,
Test: refactoring cl.
bug:27762775

Change-Id: Ib936e81877790849118420f5e565fc8f4466c1be
/frameworks/base/core/jni/android_graphics_Canvas.cpp
260ab726486317496bc12a57d599ea96dcde3284 07-Oct-2016 Mike Reed <reed@google.com> use SkBlendMode instead of SkXfermode
use sk_sp versions of paint setters/getters

Change-Id: I86591a0a8ec92e6039776cbf00424ea24f585b28
/frameworks/base/core/jni/android_graphics_Canvas.cpp
253f2c213f6ecda63b6872aee77bd30d5ec07c82 29-Sep-2016 Romain Guy <romainguy@google.com> Linear blending, step 1

NOTE: Linear blending is currently disabled in this CL as the
feature is still a work in progress

Android currently performs all blending (any kind of linear math
on colors really) on gamma-encoded colors. Since Android assumes
that the default color space is sRGB, all bitmaps and colors
are encoded with the sRGB Opto-Electronic Conversion Function
(OECF, which can be approximated with a power function). Since
the power curve is not linear, our linear math is incorrect.
The result is that we generate colors that tend to be too dark;
this affects blending but also anti-aliasing, gradients, blurs,
etc.

The solution is to convert gamma-encoded colors back to linear
space before doing any math on them, using the sRGB Electo-Optical
Conversion Function (EOCF). This is achieved in different
ways in different parts of the pipeline:

- Using hardware conversions when sampling from OpenGL textures
or writing into OpenGL frame buffers
- Using software conversion functions, to translate app-supplied
colors to and from sRGB
- Using Skia's color spaces

Any type of processing on colors must roughly ollow these steps:

[sRGB input]->EOCF->[linear data]->[processing]->OECF->[sRGB output]

For the sRGB color space, the conversion functions are defined as
follows:

OECF(linear) :=
linear <= 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055

EOCF(srgb) :=
srgb <= 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4)

The EOCF is simply the reciprocal of the OECF.
While it is highly recommended to use the exact sRGB conversion
functions everywhere possible, it is sometimes useful or beneficial
to rely on approximations:

- pow(x,2.2) and pow(x,1/2.2)
- x^2 and sqrt(x)

The latter is particularly useful in fragment shaders (for instance
to apply dithering in sRGB space), especially if the sqrt() can be
replaced with an inversesqrt().

Here is a fairly exhaustive list of modifications implemented
in this CL:

- Set TARGET_ENABLE_LINEAR_BLENDING := false in BoardConfig.mk
to disable linear blending. This is only for GLES 2.0 GPUs
with no hardware sRGB support. This flag is currently assumed
to be false (see note above)
- sRGB writes are disabled when entering a functor (WebView).
This will need to be fixed at some point
- Skia bitmaps are created with the sRGB color space
- Bitmaps using a 565 config are expanded to 888
- Linear blending is disabled when entering a functor
- External textures are not properly sampled (see below)
- Gradients are interpolated in linear space
- Texture-based dithering was replaced with analytical dithering
- Dithering is done in the quantization color space, which is
why we must do EOCF(OECF(color)+dither)
- Text is now gamma corrected differently depending on the luminance
of the source pixel. The asumption is that a bright pixel will be
blended on a dark background and the other way around. The source
alpha is gamma corrected to thicken dark on bright and thin
bright on dark to match the intended design of fonts. This also
matches the behavior of popular design/drawing applications
- Removed the asset atlas. It did not contain anything useful and
could not be sampled in sRGB without a yet-to-be-defined GL
extension
- The last column of color matrices is converted to linear space
because its value are added to linear colors

Missing features:
- Resource qualifier?
- Regeneration of goldeng images for automated tests
- Handle alpha8/grey8 properly
- Disable sRGB write for layers with external textures

Test: Manual testing while work in progress
Bug: 29940137

Change-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b
/frameworks/base/core/jni/android_graphics_Canvas.cpp
ac347fb4eac3ff88051a1e61fecafcc10ee77ffb 10-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove all hacks around ref counting in Bitmap Test: refactoring cl. bug:27762775"
5cb74bca88268a8b9025be2cce81e1b4f967d19d 07-Oct-2016 John Reck <jreck@google.com> Canvas fastjni -> @FastNative

Just the basic cleanup first, will follow-up with a more
comprehensive update later
Test: builds & boots, refactor no behavior change

Change-Id: Ie3a7144b5fefdfda085e2ab50da8b0e627a1ecb8
/frameworks/base/core/jni/android_graphics_Canvas.cpp
c69853c8b72540e5031d28e03cbce5a390c6959f 07-Oct-2016 sergeyv <sergeyv@google.com> Remove all hacks around ref counting in Bitmap
Test: refactoring cl.
bug:27762775

Change-Id: If7ebb8d5ee3a3085c1ef9ffc277cf6feaeab89e1
/frameworks/base/core/jni/android_graphics_Canvas.cpp
efbf4efba0b006847f6d9c9b807d8cdc2d307589 25-Jul-2016 Hiroshi Yamauchi <yamauchi@google.com> [WIP] Use non-fast JNI for Canvas.native_drawBitmap.

To avoid long GC thread suspension in the testWidgetsContainerFling
jank test.

Bug: 30190862

Change-Id: Ib322f4c02b6a2e8906693d04a562be559729e023
/frameworks/base/core/jni/android_graphics_Canvas.cpp
ae1aa85d0c7305bb621f1f8003bd674285aa3b63 09-Jun-2016 Seigo Nonaka <nona@google.com> Follow the minikin namespace changes

Bug: 29233740
Change-Id: I0ec7c5c88e64daa626751d3a03e24b9c36521c17
/frameworks/base/core/jni/android_graphics_Canvas.cpp
bad99183916ba2bac6659efc8a28273e344ba511 17-Mar-2016 sergeyv <sergeyv@google.com> Clean up and rename TypefaceImpl

bug:25865834
Change-Id: I77e8a627163e040a5c25865054a8a936052af367
/frameworks/base/core/jni/android_graphics_Canvas.cpp
dccca44ffda4836b56a21da95a046c9708ffd49c 21-Mar-2016 sergeyv <sergeyv@google.com> Reland: Move text logic from jni to hwui level

Initial CL: https://googleplex-android-review.git.corp.google.com/#/c/886854/

Change-Id: I9dfd85fe1d2a2c44f4360c8a29fd58d80e6f31c8
/frameworks/base/core/jni/android_graphics_Canvas.cpp
afbd0f1fef46ef0ddf633dfde0de724db3da1405 21-Mar-2016 Sergei Vasilinetc <sergeyv@google.com> Revert "Move text logic from jni to hwui level"

This reverts commit a7f6bba1a3565c19715e878dfe7f0e01022944ff.

Change-Id: If4f36f87a85411b6128fd92d391313803ccaf9dd
/frameworks/base/core/jni/android_graphics_Canvas.cpp
a7f6bba1a3565c19715e878dfe7f0e01022944ff 16-Mar-2016 sergeyv <sergeyv@google.com> Move text logic from jni to hwui level

bug:25865834
Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
/frameworks/base/core/jni/android_graphics_Canvas.cpp
edf71a96c94aac8aaeaada5f07fef1662db0ddca 05-Feb-2016 Chris Craik <ccraik@google.com> Don't force transparent text to be high contrast

bug:26142378

Change-Id: Ia6c9111d9b84d2a5d3385d08c586ac12c9b14dc0
/frameworks/base/core/jni/android_graphics_Canvas.cpp
eecff56fed5dd5206acfbc5007b4912081b36d3b 21-Dec-2015 Florin Malita <fmalita@google.com> Add internal Canvas save flags

Skia's SkCanvas::SaveFlags are being deprecated. This CL introduces
the equivalent android::SaveFlags, converts all internal clients to
the new enum, and switches the saveLayer glue to the
SaveLayerRec-based API.

Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
/frameworks/base/core/jni/android_graphics_Canvas.cpp
775873a66a946fae2b0535abb51df9817bd1b20c 29-Dec-2015 Richard Uhler <ruhler@google.com> Use NativeAllocationRegistry for Paint, Canvas, and Bitmap

Bug: 23130675
Change-Id: I3fbd84ba417ac63df75f87ee2c56e3e7f3c9eb46
/frameworks/base/core/jni/android_graphics_Canvas.cpp
a1717271caac5e8ea3808c331d4141ac01a42134 19-Nov-2015 Chris Craik <ccraik@google.com> Initial text support in new reorderer/renderer

Removes obsolete drawPosText codepath, and unifies text decoration behavior.

Change-Id: I9c563249ab688a3394445a0e7fe1b9d0661f6f7c
/frameworks/base/core/jni/android_graphics_Canvas.cpp
0dba1f611410e5075a910fb73ff3d3c703bbc5ce 05-Oct-2015 John Reck <jreck@google.com> FastJNI canvas

Change-Id: Iae33a4785e52efe6f8bbe5bee258f4df830feceb
/frameworks/base/core/jni/android_graphics_Canvas.cpp
434a481b2191562582c79be29f24c2e0b5ca60d0 24-Sep-2015 Elliott Hughes <enh@google.com> am ea1831d2: am b57dd722: resolved conflicts for a884d81e to stage-aosp-master

* commit 'ea1831d211ea0e6b2d161c714bb0786369ef2df5':
constify JNINativeMethod function pointer tables
b57dd722f1dc0663417da37d3a82f8283ad3c982 24-Sep-2015 Elliott Hughes <enh@google.com> resolved conflicts for a884d81e to stage-aosp-master

Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
76f6a86de25e1bf74717e047e55fd44b089673f3 19-Sep-2015 Daniel Micay <danielmicay@gmail.com> constify JNINativeMethod function pointer tables

Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
/frameworks/base/core/jni/android_graphics_Canvas.cpp
4c5efe9290543b723b76a8bd48518da1ae1dcb26 10-Jul-2015 Derek Sollenberger <djsollen@google.com> Add ninePatch support to Canvas.h

Change-Id: Ic095291fe55911c6501c1bdefa4b8da973c77319
/frameworks/base/core/jni/android_graphics_Canvas.cpp
773bbe0357b17a16d095ce57c30980992a9c977f 18-Aug-2015 John Reck <jreck@google.com> Revert "Add ninePatch support to Canvas.h"

This reverts commit edca320a2b42011f98c308fdf25fc0494c6a5454.

Change-Id: I30ee93cfc1cac391ce152f03e9e13a1ad24dc91b
/frameworks/base/core/jni/android_graphics_Canvas.cpp
edca320a2b42011f98c308fdf25fc0494c6a5454 10-Jul-2015 Derek Sollenberger <djsollen@google.com> Add ninePatch support to Canvas.h

Change-Id: Ib3202fd7c5b9f35853f286abe84b3ed009df1a81
/frameworks/base/core/jni/android_graphics_Canvas.cpp
6578a989566e585eee053095dc80e2552e125db2 13-Jul-2015 Derek Sollenberger <djsollen@google.com> Support High Contrast Text for all canvas types

Change-Id: Iee324446798fe1a1cb32cb991f181a4af24aa93c
/frameworks/base/core/jni/android_graphics_Canvas.cpp
749e67438c7e2dbe2bb362dc07522a1702810455 29-Jul-2015 Chris Craik <ccraik@google.com> Revert "Support High Contrast Text for all canvas types"

bug:22820834

This reverts commit 876d56612ab8ec7032f702905d694670e6c4febd.

Change-Id: I4e07a0894095caaaf2fd36bfa6073d033542bfc4
/frameworks/base/core/jni/android_graphics_Canvas.cpp
876d56612ab8ec7032f702905d694670e6c4febd 13-Jul-2015 Derek Sollenberger <djsollen@google.com> Support High Contrast Text for all canvas types

Change-Id: Ib46ba3d7c67e081872e6a4b11d294fe9a61f5bbd
/frameworks/base/core/jni/android_graphics_Canvas.cpp
94394b3fb048d5349a77b57950ab7f6b6e92ce34 10-Jul-2015 Derek Sollenberger <djsollen@google.com> Move drawRegion from DisplayList to Canvas

Change-Id: I9f401dc5b24732938ac2ca7ed829796e2d7ef3e8
/frameworks/base/core/jni/android_graphics_Canvas.cpp
5ec6a2878b2ad933c5da6fe2341c854155acc24c 24-Jun-2015 Chris Craik <ccraik@google.com> Unify clipping return value behavior - true if not empty

bug:22035484

Change-Id: I23ecca38554a60c590181290900deb0e2c48cea1
/frameworks/base/core/jni/android_graphics_Canvas.cpp
7c103a36f60b690e3fe83c40210e1cb0c76bba43 16-Apr-2015 John Reck <jreck@google.com> Remove Bitmap#getSkBitmap

Change-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27
/frameworks/base/core/jni/android_graphics_Canvas.cpp
3731dc220ed457e0f1e99d7ec2589e0a43872b59 14-Apr-2015 John Reck <jreck@google.com> A bunch more cleanups

Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
/frameworks/base/core/jni/android_graphics_Canvas.cpp
ed207b92747234eac88dd3664ecfb535e45d8ed1 10-Apr-2015 John Reck <jreck@google.com> Change how Java Bitmaps are accessed in a few places

Stop assuming that a Java Bitmap has a SkBitmap* that
has some externally managed lifecycle, and instead switch
a bunch of users to accessing the bitmap by providing
their own SkBitmap* on which to set the (ref counted!)
SkPixelRef* instead

Attempt #2 to land this, original issue was in getSkBitmap
and should be fixed

Change-Id: I0fd9e193968b41e5597784140d56b4885906864a
/frameworks/base/core/jni/android_graphics_Canvas.cpp
c1b33d665c8caf5760f68c45c6ca0baa649b832a 22-Apr-2015 John Reck <jreck@google.com> GraphicsJNI Canvas cleanup

Change-Id: I72e142986a8bc9f464c1951b6b5187919de3462e
/frameworks/base/core/jni/android_graphics_Canvas.cpp
9d4efdf2802f06ccf7031610891f75af70ea5538 17-Apr-2015 John Reck <jreck@google.com> Revert "A bunch more cleanups"

This reverts commit c294d128d03bc9a9982b273a82516c04583438cc.

Change-Id: Id1ebb236950f7c36c6d86e1dd95566d3a200748d
/frameworks/base/core/jni/android_graphics_Canvas.cpp
1ff961dd6d51247e82e41de052f04fd0b577f09b 17-Apr-2015 John Reck <jreck@google.com> Revert "Remove Bitmap#getSkBitmap"

This reverts commit 4bd981ec533a65e8dee053a0a709b484770b0a76.

Change-Id: I5c92cd955c6e70e197dc5cbc5dfeed8369a24a31
/frameworks/base/core/jni/android_graphics_Canvas.cpp
4bd981ec533a65e8dee053a0a709b484770b0a76 16-Apr-2015 John Reck <jreck@google.com> Remove Bitmap#getSkBitmap

Change-Id: Ifb9047b426122d3e5a445eb7a0eb3fce38dedf27
/frameworks/base/core/jni/android_graphics_Canvas.cpp
c294d128d03bc9a9982b273a82516c04583438cc 14-Apr-2015 John Reck <jreck@google.com> A bunch more cleanups

Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI

Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
/frameworks/base/core/jni/android_graphics_Canvas.cpp
3891f3ad598561d5a82c07795e1fee7f1d3612d1 03-Apr-2015 Chris Craik <ccraik@google.com> Add compat path for restore underflow

bug:19829784

Change-Id: Ia761664208ab80c055ca11174db3ddc74457b92b
/frameworks/base/core/jni/android_graphics_Canvas.cpp
7d5dda4dcaab3bc27e3f90a2f958cf066acc350e 30-Mar-2015 Chris Craik <ccraik@google.com> Revert "Avoid throwing ISE in Canvas#restore underflow"

Additionally, rewrite the exception message for clarity.

bug:19951475
bug:19829784

This reverts commit 14cfb6db33264f1c3b127ccf4e45e3ac86527804.

Change-Id: Ie70a49a8d3957025c4b2e47d4ef9f4abd4ded133
/frameworks/base/core/jni/android_graphics_Canvas.cpp
14cfb6db33264f1c3b127ccf4e45e3ac86527804 19-Mar-2015 Chris Craik <ccraik@google.com> Avoid throwing ISE in Canvas#restore underflow

bug:19829784

Change-Id: I5829a7783ad912c09c83dee17bad10b90f42aace
/frameworks/base/core/jni/android_graphics_Canvas.cpp
2a1ce8a4e5258b6599cb8e86864eb816d24d69b4 16-Mar-2015 Mike Reed <reed@google.com> use SkFilterQuality instead of SkPaint::FilterLevel

Change-Id: I5d26869de746107b8a35a7a662236f993a824b0d
/frameworks/base/core/jni/android_graphics_Canvas.cpp
2d08eaf0341df5d22236baadbcc4341f0e2e7f5e 06-Mar-2015 Chris Craik <ccraik@google.com> Merge "Revert "Revert "Remove references to SkPorterDuff as it is deprecated."""
1526a458a30184609f19b05e7334da3cbde81dd1 06-Mar-2015 Chris Craik <ccraik@google.com> Revert "Revert "Remove references to SkPorterDuff as it is deprecated.""

Fix build breakage.

This reverts commit 26b4f598c8b1e99b43261614a6861785638c8c00.

Change-Id: If39ce2a41d26a8520091f330234c3d35e413ee92
/frameworks/base/core/jni/android_graphics_Canvas.cpp
fdbf68ff6c5e45da4971352775d614e6790cc991 06-Mar-2015 Chris Craik <ccraik@google.com> Merge "Revert "Remove references to SkPorterDuff as it is deprecated.""
26b4f598c8b1e99b43261614a6861785638c8c00 06-Mar-2015 Chris Craik <ccraik@google.com> Revert "Remove references to SkPorterDuff as it is deprecated."

bug:19627342

This reverts commit a9aded1f6253afbea7906509992a8a3721f731ab.

Change-Id: Ic865edfbd31c9e24d18a1397a1d346633376e20a
/frameworks/base/core/jni/android_graphics_Canvas.cpp
cd4ed96d10d49cb182e66aa1735f2de7596707ee 05-Mar-2015 Derek Sollenberger <djsollen@google.com> emove uncessary include for SkPorterDuff.h (Part 2)

Change-Id: I4d29d65a2e8eaf26b1cde6a525703be248bce63d
/frameworks/base/core/jni/android_graphics_Canvas.cpp
a9aded1f6253afbea7906509992a8a3721f731ab 04-Mar-2015 Derek Sollenberger <djsollen@google.com> Remove references to SkPorterDuff as it is deprecated.

Change-Id: Ic0722cfef4ed61aa546c495924397097a45cfe77
/frameworks/base/core/jni/android_graphics_Canvas.cpp
849911a9c4315fc552faa38516c842b2541b1909 20-Jan-2015 John Reck <jreck@google.com> Move Canvas

Change-Id: I83d557af30fc2d5c69d06eedc0f4d52ac41c4210
/frameworks/base/core/jni/android_graphics_Canvas.cpp
3d4eed7f1aa99401dabe2e45b82f98fb4fc2d754 04-Dec-2014 Derek Sollenberger <djsollen@google.com> Update HWUI to store its own SkBitmap objects

This enables us to...

1) simplify the lifecycle/ownership between Java and HWUI
2) remove DisplayListRenderer::drawBitmapData and associated logic
3) track pixel lifecycle using standard SkPixelRef refcounting
4) Remove uncessary calls to ref/unref the bitmap's pixels and colorTable

Change-Id: I3c95078da20995444f6388a029414280fd654318
/frameworks/base/core/jni/android_graphics_Canvas.cpp
8dfaa4904205772cdceee63ef3989bcdedf1a914 09-Dec-2014 Tom Hudson <tomhudson@google.com> Make DisplayListRenderer inherit from Canvas, merge JNI

Incrementally unify the upper layers for Skia and HWUI.
Remove redundant code from GLES20Canvas.java; instead
use inherited mNativeCanvasWrapper and superclass method
definitions.

Moves some unrelated SkPaint utility functions from Renderer
to new utils/PaintUtils.

bug: 15672762
Change-Id: I4ddd4214b8e9eeb95289d054ef423f2542bb5fa5
/frameworks/base/core/jni/android_graphics_Canvas.cpp
f2883b320fd874ec70bbef28731f17fa55bade11 18-Dec-2014 Mike Reed <reed@google.com> explicitly call tryAllocPixels if you want to check for failure

allows us to remove SK_SUPPORT_LEGACY_ALLOCPIXELS_BOOL

Change-Id: I095a04e358404bc413ceebe81e7e1adfbbbec027
/frameworks/base/core/jni/android_graphics_Canvas.cpp
ed6b9dff563c5e22f040ff37e12c0d771e0478ae 21-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Consistency in core/jni

Make consistent use of core_jni_helpers for registration.

Translate some #ifdefs into const bools.

Change-Id: I37639aa053dd50f003a552cbd8550dddecc811c5
/frameworks/base/core/jni/android_graphics_Canvas.cpp
0f0b4919667f418b249c497f5ad3e83fdf4437e5 12-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Wall Werror in core/jni

Turn on -Wall -Werror in core/jni. Fix warnings.

Clang TODO: For GCC we need to turn off Wunused-but-set-variable in
the GL bindings. However, Clang doesn't have that warning and thus
complains about an unknown pragma. It is necessary to make the
pragma #ifdef-ed on the compiler being GCC.

Change-Id: I14cab48d45c2771eef0432082356c47ed44a3d7f
/frameworks/base/core/jni/android_graphics_Canvas.cpp
e21e2a2d1d85d422230c1115abba824338763a88 29-Jul-2014 Behdad Esfahbod <behdad@google.com> Clean up Minikin includes

Include headers where they are used. Add header guards to MinikinSkia.h

Change-Id: If341231625348290d28a7d625561fffc171a8407
/frameworks/base/core/jni/android_graphics_Canvas.cpp
63c5c78a72a21d57913e8601cc2a1ab72a424a02 25-Jul-2014 Behdad Esfahbod <behdad@google.com> Further centralize Minikin interaction

Part of the fix for bug 15246510 and others.

Change-Id: Ie99000989dfcd7a81aaa1233dec522344f852f31
/frameworks/base/core/jni/android_graphics_Canvas.cpp
acb4099deff72c2c631f7110a405a3331d3e8b27 21-Jul-2014 Derek Sollenberger <djsollen@google.com> Refactor text drawing to move minikin interactions outside of the canvas interface.

bug:15672762
Change-Id: Iad63855424b4eeccef67a7341a9c2b0018c64c30
/frameworks/base/core/jni/android_graphics_Canvas.cpp
6ba30b85ddfbe37c338ee8dde3dd33322eb38d47 15-Jul-2014 Behdad Esfahbod <behdad@google.com> Add android.Paint that inherits SkPaint

The idea is that extra paint parameters that only affect text layout
(not rendering) will go in android.Paint instead of going into
SkPaintOptionsAndroid. We will eventually move those out of SkPaint
too.

This is currently implemented in PaintImpl.cpp. Will be renamed when
current Paint.cpp that has JNI bits is moved to android_graphics_Paint.cpp.

Change-Id: Iba66c34dea5da503a13b9c864cb9f2211ac4ba7d
/frameworks/base/core/jni/android_graphics_Canvas.cpp
8872b38ef403cc2c44aca07d392f5e9426fd7f54 23-Jun-2014 Derek Sollenberger <djsollen@google.com> Separate Canvas JNI code from the implementation.

This introduces Canvas.h which is a pure virtual interface that
is intended to be used by both Skia and HWUI implementation. To help
stage this transition this CL only introduces the interface and Skia
implementation. The interface is not intended to be final and will
undoubtedly go through iterations in both style and location as we
look to introduce the HWUI implementation.

BUG:15672762
Change-Id: Ibaccdddb87d3b9358f4f0c1d317ead5282d4ee16
/frameworks/base/core/jni/android_graphics_Canvas.cpp
580ff8142b7d0455d0d41ee77572b4f55dd935f0 17-Jul-2014 John Reck <jreck@google.com> Revert "Separate Canvas JNI code from the implementation."

This reverts commit e28a5afee885cd69a5be5809f88116b601cb1a72.

Appears to cause memory corruption and random appearances of
chinese

Bug: 16343240
Bug: 16336642

Change-Id: Ife169181f40adff4b12948ed5f9d3a88dcec935b
/frameworks/base/core/jni/android_graphics_Canvas.cpp
f5d6c555c3430f6e423952ba3ab024380e550bba 23-Jun-2014 Derek Sollenberger <djsollen@google.com> Separate Canvas JNI code from the implementation. DO NOT MERGE

This introduces Canvas.h which is a pure virtual interface that
is intended to be used by both Skia and HWUI implementation. To help
stage this transition this CL only introduces the interface and Skia
implementation. The interface is not intended to be final and will
undoubtedly go through iterations in both style and location as we
look to introduce the HWUI implementation.

BUG:15672762
Change-Id: Idefadede356f688edb8eb09b4a02aa01b4077f62
/frameworks/base/core/jni/android_graphics_Canvas.cpp