summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/context
Commit message (Collapse)AuthorAgeFilesLines
* Add src rect ptr null checkChris Craik2012-10-162-3/+5
| | | | | | | | | bug:7339156 Also fix compilation issue for USE_RECORDING_CONTEXT = false, a flag used in debugging. Change-Id: I63924c7551c82a10b0c67cbb44b9b8961551decd
* Merge "Compensate for canvas-side vertical text translation in bounding box ↵Chris Craik2012-10-024-0/+6
|\ | | | | | | computation" into jb-mr1-dev
| * Compensate for canvas-side vertical text translation in bounding box computationChris Craik2012-10-024-0/+6
| | | | | | | | | | bug:7267294 Change-Id: Ia6de9264b6c3680707b8fb8833d69d7cc7e850e8
* | Determine maxZoomScale from bitmap/text drawingChris Craik2012-10-012-4/+7
|/ | | | | | bug:7247750 Change-Id: I8238acc2c20942ab2f42936d16a03226909aebcd
* Fix opaque rect calculation to quickreject transparent shader drawn opsChris Craik2012-09-271-0/+1
| | | | | bug:7247486 Change-Id: Iba6b37d50985b51585e6e96a35705da54aae9878
* Disable clipping painter when painting 400+ operationsChris Craik2012-09-101-1/+8
| | | | | bug:7128794 Change-Id: Id36dbedcb7c8245fc6f37dbf938b085da3e0ae93
* Don't track the opaque area of small drawing operationsChris Craik2012-08-241-1/+4
| | | | | | | Avoids region & matrix computation work for small ops. Area value of 750 determined empirically. Change-Id: Iffc041ff69cd47c152ae4f71a474f4f6ccdc0bc5
* Only use the clipping painter when painting to a bitmap.Chris Craik2012-08-231-18/+24
| | | | | | | | | bug:6389297 This improves performance in capturePicture, since it avoids all of the clipping and opaque region tracking logic. Change-Id: If1db553b2568573f94cdee7b801c67be0c47c056
* Fix opaque operation area calculationChris Craik2012-08-202-18/+25
| | | | | | | | bug:7003352 Correctly handle state pushing/manipulation, shaders, and transfer mode. Change-Id: I9f6591711b15ff99a182fc9956f7ef389320e9c3
* Fix SIGBUG due to misalignmentJohn Reck2012-08-161-3/+3
| | | | | | | Bug: 7003956 Don't pack data Change-Id: I659a8b4cbf47ece9af16532949466f3fe2f6e61b
* Memory allocation changesJohn Reck2012-08-164-35/+45
| | | | | | | | | Move RecordingData to LinearAllocator Consolidate 4 heaps into 1 Minimize initial RAM usage Add page size growth Change-Id: I997ee6d88d0ae500ed85b9d20e6ed095069f2b04
* Move text allocations to LinearAllocatorJohn Reck2012-08-142-14/+14
| | | | Change-Id: I3ef492679e94bdb452033ee3af3162b88d323d57
* Memory usage improvementsJohn Reck2012-08-142-10/+49
| | | | | | Share SkPaints between drawPosText calls Change-Id: Idf25c937a70e2969a864c829e566688b977720c0
* Merge "Null check" into jb-mr1-devJohn Reck2012-08-131-1/+1
|\
| * Null checkJohn Reck2012-08-131-1/+1
| | | | | | | | | | | | Bug: 6975836 Change-Id: I085e2099d016730ba1fdcce71e0452b2026c9617
* | Merge "Improve in-canvas pure color checking" into jb-mr1-devChris Craik2012-08-131-14/+19
|\ \ | |/ |/|
| * Improve in-canvas pure color checkingChris Craik2012-08-101-14/+19
| | | | | | | | | | | | | | Fast path for same-color rect drawing in InstrumentedPlatformCanvas Also minimize unnecessary clipping recording-side. Change-Id: I8e9ebcfce8d137ca0b27d17c42c5045a0d3b3a36
* | Clear mOperationState when calling popStateJohn Reck2012-08-102-7/+14
|/ | | | Change-Id: I96df41fc2b8e040e0e98b991c71b1d9bda40788e
* Merge "Clip out opaque regions to avoid double painting" into jb-mr1-devChris Craik2012-08-093-4/+154
|\
| * Clip out opaque regions to avoid double paintingChris Craik2012-08-083-4/+154
| | | | | | | | | | | | | | | | | | | | | | Implementation is similar to PicturePile::drawWithClipRecursive. When an opaque paint operation (currently either a DrawBitmapRect/Pattern or FillRect) will cover up a section of the output, avoid painting things underneath it. Track this covered region by recursing backwards through paint operations, and clipping out opaque areas when operations beneath them paint. Change-Id: Id3ae7508aada27f90246feb689d9e7f53f03ae32
* | Fix memory leakJohn Reck2012-08-081-0/+6
|/ | | | | | | | | | | | | | Bug: 6952980 GraphicsContext::createOffscreenContext creates an instance of both PlatformGraphicsSkia and GraphicsContext for ImageBuffer. However, ImageBuffer will only call delete on the GraphicsContext. In normal GC usage, the PlatformGraphicsContext's lifecycle is longer than the GCs, and is cleaned up by itself. This will result in leaking the PlatformGraphicsSkia context, though. We need to make sure to call delete on the PlatformGraphicsSkia context if we were initialized with the deleteUs() flag, which is used to indicate just this scenario. Change-Id: I73aa623182a039bd75d378d198cc3bd2d4d185ef
* Remove usages of getCanvasJohn Reck2012-08-069-63/+74
| | | | | | Everything goes through either PlatformGraphicsContext or recordingCanvas() Change-Id: I375a4294d2e8d4b467b70c6b8a7f0b96f402f252
* Tweak shadow settingsJohn Reck2012-08-011-3/+3
| | | | Change-Id: I88dff91a9840c4705c9153cf03d3c6951fcee02a
* Optimize recompute bounds checksNicolas Roard2012-08-012-16/+44
| | | | Change-Id: I7819ec6a86bf8a0ec9e9033907b68a4aafa1cf22
* Memory cleanupJohn Reck2012-07-312-53/+61
| | | | | | Save 24 bytes per GraphicsOperation, yay! Change-Id: I6719836b376ffeb99657a882a03d60d172d76705
* Switch GraphicsOperation to LinearAllocatorJohn Reck2012-07-316-57/+140
| | | | Change-Id: I9afb489c55a7acfdc35cfe8655d46ce47923b3df
* Don't use SkPicture for DrawText recordingJohn Reck2012-07-277-65/+265
| | | | Change-Id: I5b6872bc37eefded7decae767fc39f1cef858dac
* DO NOT MERGE Push everything into an R-TreeJohn Reck2012-07-276-537/+233
| | | | | | Cherry pick from master Change-Id: I0ef32777f33104d440459d9d4d3c0d61f75a11a2
* Merge "Fix bounds not being correctly propagated..."Nicolas Roard2012-07-241-4/+11
|\
| * Fix bounds not being correctly propagated...Nicolas Roard2012-07-241-4/+11
| | | | | | | | Change-Id: I81421e45e07eddc4153996797cd9bddda9c2b8c7
* | Implement missing recording drawsJohn Reck2012-07-202-3/+57
| | | | | | | | Change-Id: I15a9c63d7aed9f54095763499d3ffff2e17872b7
* | Fix bounds for shadowsJohn Reck2012-07-202-4/+26
| | | | | | | | Change-Id: I304c6e78e9e570dd4e67fa101697ca3b2f17acd7
* | Merge "Perform check for text/content on recording context PicturePiles"Chris Craik2012-07-192-0/+10
|\ \
| * | Perform check for text/content on recording context PicturePilesChris Craik2012-07-192-0/+10
| | | | | | | | | | | | | | | | | | | | | Only implemented for now when USE_RECORDING_CONTEXT is enabled. Standard SkPicture PicturePile implementation defaults to hasText = hasContent = true. Change-Id: I535b53151963bf8c415e420c1d5a789954e98cbf
* | | Support beginTransparentLayerJohn Reck2012-07-193-57/+69
| |/ |/| | | | | | | | | | | | | | | | | Handle it the same as a save/restore, but split up the SkMatrix handling as beginTransparentLayer does not save the matrix Also, enable RecordingContext by default, as all major known issues should be fixed now. Change-Id: I414556f65d5de704e2ce18e44a87d932b937993b
* | Fix issues with bounds computationNicolas Roard2012-07-181-1/+6
|/ | | | Change-Id: I1a956939c35ab37a2195a5589276589301c97da9
* Merge "Fix bounding box calculations"Nicolas Roard2012-07-172-10/+17
|\
| * Fix bounding box calculationsNicolas Roard2012-07-172-10/+17
| | | | | | | | Change-Id: I71b309c96cedefee66b9b7100e483c934e198085
* | Use a linear allocator for the RTreeJohn Reck2012-07-172-62/+79
|/ | | | Change-Id: I5e04c28a0c65378a26b1b99bcfeed4331591e265
* Add remove functionNicolas Roard2012-07-162-5/+43
| | | | Change-Id: I1d9c361cff6d8b5ff5f1cd198ca97740fdcc2954
* Add some comments/cleanupNicolas Roard2012-07-162-158/+192
| | | | Change-Id: I71e41f1a76ac3e8e845d9636d57cf3896bb6ec0d
* New R-Tree implementationNicolas Roard2012-07-133-1626/+650
| | | | | Change-Id: If46f35856279ab2a356cb7f99671fcd15f4ddf37 (cherry picked from commit 19d56fe70a9ea33c3ce2ad4f0b547e35453aeafd)
* Fix getTotalMatrix()John Reck2012-07-132-4/+6
| | | | Change-Id: I13145c96ae5911c5ebe6b2006c53f1a05ffddc1e
* Handle MatrixesJohn Reck2012-07-133-14/+86
| | | | | | | | Make sure to take into account the current matrix to calculate the right global bounds Tag operations with the matrix that affected their drawing Change-Id: Iadda9f3849dc3df1507e63423ff8d3ad0f37d74e
* De-dupe States, fix state allocation issuesJohn Reck2012-07-121-10/+47
| | | | Change-Id: I7a081b0a99574697a2ea77f85693d7fa65b80743
* Use an R-Tree for operation recordingJohn Reck2012-07-127-99/+1888
| | | | Change-Id: I1380ae53139d5f50a25ea5edb61ec8b6818112ca
* Build a clipping tree in RecordingContextJohn Reck2012-07-108-124/+200
| | | | Change-Id: I967c8e2ea209c848e6a09b44390ab2228b213ca5
* Refactor RecordingContext optimization workJohn Reck2012-07-035-113/+112
| | | | | | | | | Makes more sense to have PlatformGraphicsContextRecording do the optimizations as it already has all of the interesting data rather than have GraphicsOperationCollection "deep inspect" the stream Change-Id: I0dba6531a352d178afbee2c5eea7d67b82c28df5
* Filter out empty save/restoresJohn Reck2012-07-022-2/+61
| | | | | | | | | WebKit will sometimes produce graphics context calls that result in GC::Save, GC::SetClip, GC::Restore - as they don't do any drawing, we can detect and filter those out which saves on the amount of state management done. Change-Id: I61715b0a14adb39521c605e2562fc4ac4e70a327
* Switch to ThreadSafeRefCounted<>John Reck2012-07-024-51/+49
| | | | Change-Id: I086a3ff7b6191bf5e20f8b5f6f74bcc7d2e867c2