Romain Guy
ed8f8dd8cf
Merge "Add rounded rects and circles support to OpenGLRenderer." into honeycomb
2011-01-19 21:52:49 -08:00
Romain Guy
01d58e43ed
Add rounded rects and circles support to OpenGLRenderer.
...
Change-Id: I6cedf2b495d58de7c0437096809fa9e4518a1b8c
2011-01-19 21:55:10 -08:00
Romain Guy
514fb18827
Don't attempt to create empty layers.
...
Bug #3369888
Change-Id: Ic17bbd1c04bbf760cb17d0eb9e6767fd6479948c
2011-01-19 14:38:29 -08:00
Romain Guy
42f3a4b7c3
Make embedded hardware layers work.
...
Bug #3369474
Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d
2011-01-19 13:42:26 -08:00
Romain Guy
a3311ed7a9
Fix the fix for 9patches.
...
Change-Id: I66dca835d9d0e9766d887746c3265e4b13ae688b
2011-01-19 12:00:08 -08:00
Romain Guy
fdbec3e482
Fix 9patches in Launcher
...
Change-Id: Ieedf36ccaab253909b44ed8c222d523867f095be
2011-01-19 10:37:35 -08:00
Romain Guy
eb6a4a17a0
Fix 9patches, again...
...
Bug #3365243
Change-Id: Id45a1f1fd5e099b1d691e6064401d3de1b0c5c20
2011-01-18 14:02:16 -08:00
Romain Guy
2577db1ec1
Add support for Paint::setTextSkewX in OpenGLRenderer.
...
Bug #3360888
Change-Id: I42e81a1f10bf7b9ae1c63ca8add1878fd59a1e8a
2011-01-18 13:02:38 -08:00
Romain Guy
807daf7df6
Add support for skew()
...
Change-Id: Ia3a9a867f74fd78b61f75179e3788fdc2f0cacd0
2011-01-18 11:19:19 -08:00
Romain Guy
7444da5126
Yet another fix for 9patch rendering.
...
Bug #3362133
Change-Id: Ia6521d31a8c208a2ad2506a23b6a01e5e442ad86
2011-01-17 10:53:44 -08:00
Romain Guy
fb13abd800
Fix 9patch rendering in ExpandableListView.
...
Change-Id: I60843d61a40b0cb7dd09923cb4489a5a76f20486
2011-01-16 15:16:38 -08:00
Romain Guy
f219da5e32
Don't blend transparent pixels when rendering layers.
...
With this change, the rendere keeps track of what regions are rendered into
and generates a mesh that matches these regions exactly. The mesh is used
to composite the layer on screen.
Change-Id: I1f342576b9134fb29caff7fb8f4c1da179fe956d
2011-01-16 12:54:25 -08:00
Romain Guy
1bd1bad0b4
Preapre region tracking in layers
...
Change-Id: Ied1fa0d36c99ef4e33cb8fde7e3106a793db3a4c
2011-01-14 20:07:20 -08:00
Romain Guy
43ccf4663c
Don't crash Launcher on config change.
...
Change-Id: Ibbbd7146c5ff69e9639b433f39041053654d808c
2011-01-14 18:51:01 -08:00
Romain Guy
1f1fcb70b6
Don't delete objects twice...
...
Change-Id: Ibc67aed098c9300cf45eb46abda1938c418808c3
2011-01-14 15:37:54 -08:00
Romain Guy
24c0021668
Copy shaders when recording them in display lists.
...
Change-Id: I3f22dd35f1e31c9e5102955d76548098b7b0cd8d
2011-01-14 15:31:00 -08:00
Romain Guy
f5106847fc
Don't add clipped rects to layer regions.
...
Bug #3350208
Change-Id: I9266862f1d4d57b4598852e8dfa202b5f5099cce
2011-01-14 11:27:12 -08:00
Romain Guy
1e3a431d07
Remove debug code
...
Change-Id: Idbc54d16adb4d86185d7196ea0297b5019d14ae4
2011-01-13 17:47:15 -08:00
Romain Guy
ffac7fc504
Add debug logs for display lists.
...
Change-Id: I7bae8fd96e9eccb51f29f73e4069b4d3e6bdbdd7
2011-01-13 17:22:58 -08:00
Romain Guy
ada830f639
Cleanup implementation of hardware layers.
...
The new implementation relies on OpenGLRenderer's existing layer
code instead of duplicating it. The new code is much cleaner, with
simpler and better APIs and allows tracking of drawn regions inside
layers. Region tracking is not yet enabled but this will be done
in a future CL.
Change-Id: Ie826121a2227de8252c77b992a61218defea5143
2011-01-13 12:13:20 -08:00
Romain Guy
c038ea358a
Reenable region composition pipeline for layers
...
Bug #3341848
It works this time!
Change-Id: I0d371d8b2c75c67d4ce5009ddb990fe5e55a0a27
2011-01-12 15:08:47 -08:00
Romain Guy
1fc883b271
Add logging to the new layers API.
...
Change-Id: I78b9426eb17de3e775aca9fafe4a50bd9c0785c4
2011-01-12 14:31:55 -08:00
Romain Guy
57066eb64c
Cleanup GL objects on the correct thread.
...
Change-Id: Iddfea6e08a6591a4fab147151098ef27005f373d
2011-01-12 12:53:32 -08:00
Romain Guy
35f24545e5
Disable the region compositing pipeline for layers.
...
This composition mode is affecting Gmail in a bad way. Disabling until
I can figure out the problem.
Change-Id: I00e657ea2d05fc7b4a606242d19dc84dd88c1e35
2011-01-11 18:01:25 -08:00
Romain Guy
a9d0711392
Don't break the build!
...
Change-Id: I42f68c7b023c03adeedc4e979e5f4705188ee9f4
2011-01-11 17:59:10 -08:00
Romain Guy
6c319ca127
Better backend for hardware layers.
...
With this new backend, a hardware layer is only recreated when
its associated view is udpated. This offers fast composition
in GL and fast update of the layer in GL as well.
Change-Id: I97c43a612f5955c6bf1c192c8ca4af10fdf1d076
2011-01-11 17:53:19 -08:00
Romain Guy
32228288a9
Solve translucency issue when drawing paths.
...
Change-Id: I68ae0e2ccddaca2f76b5b2dd3e3cf1277fddaad6
2011-01-11 15:02:21 -08:00
Romain Guy
7230a74e9a
Composite layers as regions.
...
This change detects what area of a layer was drawn into and generates a mesh
to match this area exactly. This can be used to avoid blending empty pixels
when the layer is composited.
This change also adds proper layers support to lines rendering and implements
layers composition in a more readable way.
Change-Id: I4a5588b98b19bd66891ebdc39631b193c5e31999
2011-01-10 22:26:16 -08:00
Romain Guy
a07105b7d2
Better logging of out of memory errors in OpenGLRenderer.
...
Change-Id: I6b72a084340d8d4b6e0b0a100ed4314d09d441ef
2011-01-10 21:14:18 -08:00
Romain Guy
171c592f0b
New layers API for Views.
...
This API can be used to back a view and its children with either a
software layer (bitmap) or hardware layer (FBO). Layers have
various usages, including color filtering and performance
improvements during animations.
Change-Id: Ifc3bea847918042730fc5a8c2d4206dd6c9420a3
2011-01-06 18:34:30 -08:00
Chet Haase
5977baa1fa
Reuse of native display list objects
...
Change-Id: Ia4553e23930ad20e56c11faa7809be788a1ad4bb
2011-01-06 12:50:30 -08:00
Romain Guy
325a0f969c
The font cache should respect the fake bold flag.
...
Change-Id: Ie4edc9ba46610edde831b55e769944e9a19bdcb5
2011-01-05 15:33:37 -08:00
Patrick Dubroy
f890fab5a6
Ensure bitmaps aren't freed while referenced from a display list
...
Also removes the reference queue finalizers. They aren't necessary
anymore now that Bitmaps are allocated in the heap.
2010-12-20 17:02:15 -08:00
Romain Guy
b146b1214e
Fix text shadow rendering issue.
...
Change-Id: Ic9eb0d38ad684d2f2c95a4f586f865db911cb872
2010-12-15 17:28:30 -08:00
Romain Guy
8d0d4783a0
Cleanup OpenGLRenderer::drawLines()
...
Change-Id: I3545a616e964335897c6e4148c431a07a2ce2a8b
2010-12-14 20:13:35 -08:00
Patrick Dubroy
982b71bf47
Merge "Allocate bitmap backing buffers in the Java heap."
2010-12-14 16:56:07 -08:00
Patrick Dubroy
e4ac2d6b57
Allocate bitmap backing buffers in the Java heap.
...
Change-Id: I60f6ccff13357c1c518e9d56b02fe0171637edd1
2010-12-14 16:50:50 -08:00
Romain Guy
86568198f2
Continue cleanup refactoring in OpenGLRenderer.
...
Methods that still need refactoring:
- drawLines
- composeLayerRegion
Change-Id: If546641adf598d49c330988803667264fda50ac2
2010-12-14 16:04:12 -08:00
Romain Guy
fa7952dbb8
Colors are in the [0..1] range, not [0..255]
...
This fixes rendering in YouTube and other applications.
Change-Id: Ib5f3df632cde97374113ed42f895f136b2796373
2010-12-14 13:45:54 -08:00
Romain Guy
5536841e54
OpenGLRenderer would not render colors < ALPHA_THRESHOLD
...
Bug #3282805
This bug was introduced with a previous refactoring. This also fixes
issues with setting the alpha when drawing bitmaps.
Change-Id: Id47641d26a4536c7e540041f92243bf6db9fc96d
2010-12-14 10:59:41 -08:00
Romain Guy
70ca14e08a
Refactor OpenGLRenderer to simplify OpenGL drawing code.
...
This is the first step of the refactoring:
- drawColorRect
- drawTextureMesh
Remaining methods to refactor:
- setupTextureAlpha8
- drawPath
- setupShadow
- drawText
- drawLines
- composeLayerRegion
Change-Id: I0fced6a05b6b6eee10ee7cef0c3fbdaa6cefab20
2010-12-13 18:24:33 -08:00
Romain Guy
32963c393a
Ignore empty layers.
...
Change-Id: Ib2f99cdab654881fe079306e27d87c5ef9535700
2010-12-10 14:43:41 -08:00
Romain Guy
25dc3a7dba
Correctly compare strings in UTF-8 instead of UTF-16
...
Bug #3272858
Change-Id: Idacd5d7c2c052b4834a8ddb5906ab32b3f548f73
2010-12-10 12:33:05 -08:00
Romain Guy
af636ebf5f
Don't set the invisible flag when saving an empty layer.
...
Bug #3270371
Change-Id: I65e85671c2fb70d74553c91213e5e759e0ac64ee
2010-12-09 17:47:21 -08:00
Romain Guy
a957eea785
New, better line drawing implementation.
...
Bug #3207544
Bug #3225875
Change-Id: Ibdd1dfc64e01625d5c441f39eb0aa3ee647f6ff5
2010-12-08 19:06:58 -08:00
Romain Guy
67f27952c1
Correctly release the OpenGL Canvas on EGL error.
...
Change-Id: Ib31fd8445f7ce5f7aa7e0205de0e7db80d024fc2
2010-12-07 20:12:50 -08:00
Romain Guy
8ab4079ca2
Fix 9patch rendering
...
Bug #3253396
Some quads were incorrectly assumed to be degenerate.
Change-Id: I9155699edc3424afe9d5a131886bb9966d46b109
2010-12-07 13:30:10 -08:00
Romain Guy
3a3fa1be9a
Draw text decorations correctly.
...
Change-Id: I237c0ca8bfe9f233e62476e80f72bcea4359398e
2010-12-06 18:47:50 -08:00
Romain Guy
6620c6d413
Correctly render text when coordinates are not integers.
...
Bug #3225632
Change-Id: If09759e6e95eb2885362ab3ba088cf5aae64c7bf
2010-12-06 18:07:02 -08:00
Romain Guy
a5ef39a216
Don't render degenerate triangles in 9patches.
...
Bug #3251983
Change-Id: Ib0b38a7b8111542372f4c4c106b6321c26fe4ad4
2010-12-03 16:48:20 -08:00