Corrected a small typo where Java InputStream methods are
incorrectly checked when creating a JNI InputStream adaptor.
Change-Id: I5f14897e0d5ddceb4b2af6be46769713f0487624
The purpose of this change is to remove direct reliance on
SurfaceFlinger for describing the size and characteristics of
displays.
This patch also starts to make a distinction between logical displays
and physical display devices. Currently, the window manager owns
the concept of a logical display whereas the new display
manager owns the concept of a physical display device.
Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
Fixes crash of methods when NULL was used as a
(valid) parameter for a nio.buffer argument.
Bug: 6845189
Change-Id: Iae379d607bbca15d6d23e74e852f94c7f68637f9
This implementation adds a drawGeneralText() method to the OpenGL
Renderer, which supports both a global x, y position, an array of
individual glyph positions, and also a length parameter (which enables
drawing of underline and strikethrough. It also adds the method to the
display list (with marshalling and unmarshalling).
With this change, the existing drawText() method is removed entirely, as
it's subsumed by the new method. It's easy enough to revert to the old
functionality if needed by passing in a NULL positions array.
Change-Id: I8c9e6ce4309fd51cc5511db85df99f6de8f4f6f5
this adds correct versions of the broken GLES20 methods
glGetShaderSource, glGetActiveAttrib and glGetActiveUniform.
the old functions are still there and need to be @hide later.
Bug: 6006380
Change-Id: I8127a77c4b89aa8a9a54bea88774077535e2139d
The mark positioning changes increase the number of bytes needed per
glyph from 6 to 14. This patch compensates by allocating more total
memory for the text layout cache.
Change-Id: I3cf59547394a41779cf6e92e67688b0fdc85f1a3
I meant to log certain debug values only when DEBUG_GLYPHS was set, but
I used #ifdef instead of #if (when it's not set, it's 0, rather than
undefined).
Change-Id: Ic27fee7dd355009c1873f0a2e12614849bbceebd
This patch implements glyph positioning in the Skia-based renderer. Note
that it depends on a fix for bug 6833339 being in place (correct
calculation of advance widths under skew and scale transforms),
otherwise there will be regressions.
Careful attention was paid to correct results in a wide variety of
conditions: alignments, text decorations, scale, skew, etc. Many of
these are exercised in the test app attached to bug 6833339.
Note that this patch also changes slightly the way that the total
advance is calculated - the running is accumulated and passed through to
computeRunValues(), so that the x positions of each glyph can be set
according to the total advance of all glyphs (in all runs) appearing
before (plus, of course, the offset for mark positioning).
After committing this patch, text rendering will no longer match between
the software and hardware rendering cases. Implementing positioning in
the hardware renderer will resolve that, and fully implement bug 5443796.
Change-Id: Ie0f7835d48bc120475a19afbfe159aa5304fcaa8
Contains the updated OpenGL bindings generated by glgen.
Fixes a bug with methods that have more then one nio buffer argument.
Bug: 6772416
Change-Id: I6d50ce79669edd43dbe414e499660cdd55eb4893
Before this change, changing a View's opacity would not be reflected
by hardware layers. This could cause layers to retain their previous
opacity.
Change-Id: Iba2c8b4242deca021651df9324cc7c585a64653d
There were a number of extraneous typeface pointers, one per
language, in TextLayoutCache. Removing these makes adding additional
supported fonts easier. This checkin now properly
unrefs typefaces returned by SkCreateTypefaceForScript. Additionally,
all harfbuzz shaped fonts (with exceptions Greek, Cyrillic, Hangul)
should call SkCreateTypefaceForScript.
Change-Id: I7dcf603a89e5ff52c6dab8fb87ae1807a79c351c
If an app used a GIF file in the wrong density bucket, the auto-scaling
code would not properly resize the bitmap.
This issue affects third party applications, here is the external bug
report:
http://code.google.com/p/android/issues/detail?id=34619
DO NOT MERGE
Change-Id: I7f99b28ad6e6c28bdbcb29bbbadcb215268ff710
If an app used a GIF file in the wrong density bucket, the auto-scaling
code would not properly resize the bitmap.
Change-Id: I28f6506a94b20d11b3ba53ac442abec2b92e093e
The latest push changed LOG(E|V) to ALOG(E|V) but it was not updated in HAVE_SELINUX blocks.
Change-Id: I626588589dd00775ba29f2a256ac29e481598dc3
Signed-off-by: Joshua Brindle <jbrindle@tresys.com>
In AudioRecord::getMinFrameCount() and AudioSystem::getInputBufferSize(),
input parameter is channel mask instead of channel count.
Change-Id: I22a1c492113f3e689173c5ab97b2567cff3abe2b
Harfbuzz apparently requires the offset array to be initialized to zero,
otherwise it can report corrupt glyph positions. This change also
contains a small amount of refactoring to avoid code duplication.
Change-Id: I2553974f40bc8e0549876c7d31243960ca92a8a2