commit-bot@chromium.org
6fbe54c663
Compact the clipstack for kReplace_Op'd geometry
...
When adding a clip rect or clip path to the stack with the
kReplace_Op operation, remove all previous elements within the
same save frame (elements with fSaveCount equal to the current
fSaveCount of the stack). This prevents unbounded growth of the
clipstack for long-lived instances that gets reused.
Addresses https://code.google.com/p/skia/issues/detail?id=748
R=robertphillips@google.com
Author: fs@opera.com
Review URL: https://chromiumcodereview.appspot.com/16160020
git-svn-id: http://skia.googlecode.com/svn/trunk@9502 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 11:01:48 +00:00
skia.committer@gmail.com
e16efc1882
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
junov@chromium.org
8cdf0f52ff
Adding quickContains API method to SkClipStack
...
BUG=http://code.google.com/p/chromium/issues/detail?id=164580
TEST=unit test ClipStack/quickContains
Review URL: https://codereview.appspot.com/6919044
git-svn-id: http://skia.googlecode.com/svn/trunk@6760 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 17:58:15 +00:00
bsalomon@google.com
c6b3e48cb3
Improve handling of inverse clip paths in GrClipMaskManager.
...
Will require rebaselining of complexclip_aa and complexclip_aa_layer on GPU.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6907052
git-svn-id: http://skia.googlecode.com/svn/trunk@6712 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 20:43:52 +00:00
bsalomon@google.com
8182fa0cac
Make SkClipStack::Iter use SkClipStack::Element.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6871051
git-svn-id: http://skia.googlecode.com/svn/trunk@6661 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-04 14:06:06 +00:00
skia.committer@gmail.com
c3d7d90973
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6632 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-30 02:01:24 +00:00
bsalomon@google.com
5fac58c91d
Remove SkClipStack::Iter::combinedNext.
...
Review URL: https://codereview.appspot.com/6844114
git-svn-id: http://skia.googlecode.com/svn/trunk@6619 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 21:14:59 +00:00
bsalomon@google.com
8a98e3bd18
Make SkClipStack::Element public.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6858096
git-svn-id: http://skia.googlecode.com/svn/trunk@6617 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 21:05:13 +00:00
bsalomon@google.com
9128edc700
Rename SkClipStack::Rec to SkClipStack::Element
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6854115
git-svn-id: http://skia.googlecode.com/svn/trunk@6605 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-29 18:58:19 +00:00
bsalomon@google.com
51a6286c24
Add a function that computes a reduced representation of the clip stack.
...
Also adds a unit test. The function is not yet used other than in the test.
Review URL: https://codereview.appspot.com/6855098
git-svn-id: http://skia.googlecode.com/svn/trunk@6553 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-26 21:19:43 +00:00
bsalomon@google.com
2e0c79fb63
Revert 6351 due to bugs.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6377 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-12 13:38:57 +00:00
skia.committer@gmail.com
d9f7503e0c
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6362 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-09 02:01:24 +00:00
bsalomon@google.com
6794a258e3
Apply intersect rects to earlier clip elements and skip rects when possible.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6814105
git-svn-id: http://skia.googlecode.com/svn/trunk@6351 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-08 15:30:53 +00:00
bsalomon@google.com
e8ca6c6e3a
Combine multiple intersecting rects in SkClipStack::Iter.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6816104
git-svn-id: http://skia.googlecode.com/svn/trunk@6339 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 21:19:10 +00:00
bsalomon@google.com
7b7cdd147f
Some improvements to reduce the number of pixels touched in generating alpha clip masks
...
Review URL: https://codereview.appspot.com/6828043
git-svn-id: http://skia.googlecode.com/svn/trunk@6329 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 16:17:24 +00:00
bsalomon@google.com
3ab43d5c5b
Minimize use of SkDraw's matrix in SkGpuDevice.
...
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6604068
git-svn-id: http://skia.googlecode.com/svn/trunk@5906 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:39:09 +00:00
rmistry@google.com
fbfcd56021
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/ )
...
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054
git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
reed@google.com
0557d9ea94
add SkClipStack::clipEmpty() as an optimized way to say clipDevRect(empty, intersect)
...
if the caller knows up-front that it wants the clipstact to become empty.
Review URL: https://codereview.appspot.com/6443132
git-svn-id: http://skia.googlecode.com/svn/trunk@5127 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 15:59:59 +00:00
robertphillips@google.com
73e71023a0
Added method of getting top genID from SkClipStack
...
http://codereview.appspot.com/6446108/
git-svn-id: http://skia.googlecode.com/svn/trunk@5034 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 18:10:49 +00:00
robertphillips@google.com
46f935002c
Added SkClipStack portion of new clip mask caching system
...
http://codereview.appspot.com/6449089/
git-svn-id: http://skia.googlecode.com/svn/trunk@4978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:38:08 +00:00
robertphillips@google.com
641f8b19a6
Replace GrClip with SkClipStack
...
http://codereview.appspot.com/6449070/
git-svn-id: http://skia.googlecode.com/svn/trunk@4865 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 19:15:58 +00:00
robertphillips@google.com
7b11289b4e
Added dev- & canv- prefixes to Ganesh bounding boxes to indicate coordinate space
...
http://codereview.appspot.com/6457061/
git-svn-id: http://skia.googlecode.com/svn/trunk@4856 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:18:21 +00:00
robertphillips@google.com
cc6493bbef
Added ctor to SkClipStack and isEmpty method
...
http://codereview.appspot.com/6444048/
git-svn-id: http://skia.googlecode.com/svn/trunk@4787 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 18:39:13 +00:00
robertphillips@google.com
4c2a2f7c5e
Added isIntersectionOfRects to SkClipStack
...
http://codereview.appspot.com/6434050/
git-svn-id: http://skia.googlecode.com/svn/trunk@4745 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 22:07:50 +00:00
robertphillips@google.com
607fe077c8
Added bound computation to SkClipStack
...
http://codereview.appspot.com/6419048/
This will require re-baselining of complexclip* and filltypespersp
git-svn-id: http://skia.googlecode.com/svn/trunk@4730 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 13:54:00 +00:00
robertphillips@google.com
80214e26c5
Made clarifying renamings to SkClipStack's iterators (and added to unit test)
...
http://codereview.appspot.com/6423051/
git-svn-id: http://skia.googlecode.com/svn/trunk@4692 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 15:33:18 +00:00
robertphillips@google.com
5836b6dec5
Add skipToLast method to SkClipStack
...
http://codereview.appspot.com/6411043/
git-svn-id: http://skia.googlecode.com/svn/trunk@4644 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 12:06:15 +00:00
robertphillips@google.com
52cb2c7cdf
Extended SkDeque's reverse iteration capability to SkClipStack
...
http://codereview.appspot.com/6409046/
git-svn-id: http://skia.googlecode.com/svn/trunk@4631 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 18:52:29 +00:00
reed@google.com
115d931d2f
pass the region-op to the clipstack for SkCanvas::clipRegion.
...
we were defaulting to intersect all the time (doh).
git-svn-id: http://skia.googlecode.com/svn/trunk@3980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:50:40 +00:00
robertphillips@google.com
fa1d29112d
Propagated AA flags through Ganesh's clip stack (in preparation for GL AA clipping)
...
http://codereview.appspot.com/6038051/
git-svn-id: http://skia.googlecode.com/svn/trunk@3685 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 14:49:14 +00:00
vandebo@chromium.org
610f716b00
Fix four memory leaks uncovered by valgrinding gm tests.
...
All are triggered by PDF code.
Two are missing unref's on SkData.
One is a missing unref on a SkAdvancedTypefaceMetrics.
The last is missing destruction of SkClipStack internal state.
BUG=526
Review URL: https://codereview.appspot.com/5824049
git-svn-id: http://skia.googlecode.com/svn/trunk@3386 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-14 18:34:15 +00:00
reed@google.com
0017708a5b
use SkRasterClip inside canvas (check-point for soft clipping)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2462 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-12 14:34:30 +00:00
epoger@google.com
ec3ed6a5eb
Automatic update of all copyright notices to reflect new license terms.
...
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.
The following files still need to be modified manually, in a separate CL:
android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058
git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
vandebo@chromium.org
e1bc274295
Fix a batch of coverity defects, uninitialized class fields.
...
In SkClipStack::B2FIter::Clip, SkWriter32, SkClipStack::Rec, SkDeque::F2BIter, SkPDFShader::State
CID 15427,15433,15533,15532,16274,16740
Review URL: http://codereview.appspot.com/4630055
git-svn-id: http://skia.googlecode.com/svn/trunk@1669 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-21 22:26:39 +00:00
vandebo@chromium.org
8887ede824
[PDF] Improve the SkClipStack skipping prefix code.
...
Because of intersecting done in SkClipStack, we may have to do more work in the last entry of the prefix.
Review URL: http://codereview.appspot.com/4530066
git-svn-id: http://skia.googlecode.com/svn/trunk@1418 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-25 01:27:52 +00:00
vandebo@chromium.org
9fbdf87518
[PDF] Refactor content stream creation in SkPDFDevice to support more xfermodes.
...
Instead of writing all drawing and state updates into the final content stream immediately, this change creates a new ContentEntry each time the transform, clip, or paint changes. Drawing is done into a stream in the ContentEntry. When the consumer asks for the content, we combine all the ContentEntries with appropriate updates to the state (clip, transform, paint) in between. This allows us to modify the clip even after a drawing has completed. It also lets us remove ContentEntries with no drawing. Further optimization can be done to better use the stack features of PDF, for now we follow the previous model of having a single clip followed by a single transform on the graphic state stack.
Push rectangle logic into SkPDFUtil::AppendRectangle.
Change private functions to adhere to coding standards.
Review URL: http://codereview.appspot.com/4459041
git-svn-id: http://skia.googlecode.com/svn/trunk@1269 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 07:55:58 +00:00
vandebo@chromium.org
1e1c36f4f8
Add comparison and assignment to SkClipStack (and fix an optimization bug).
...
Review URL: http://codereview.appspot.com/4423085
git-svn-id: http://skia.googlecode.com/svn/trunk@1230 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-03 16:26:09 +00:00
ctguil@chromium.org
7ffb1b21ab
Add code needed to build skia as a windows dll within the chromium project.
...
- Export/import skia APIs if SKIA_DLL is defined.
- This change has no effect on skia.
Review URL: http://codereview.appspot.com/4282042
git-svn-id: http://skia.googlecode.com/svn/trunk@944 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 21:27:08 +00:00
bsalomon@google.com
d302f1401b
Add support for clipstack to Gr. GrClip is now a list of rects and paths with set operations to combine them. The stencil buffer is used to perform the set operations to put the clip into the stencil buffer. Building Gr's clip from Skia's clipStack is currently disabled due to the fact that Skia's clipStack is relative to the root layer not the current layer. This will be fixed in a subsequent CL.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@878 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 13:54:13 +00:00
bsalomon@google.com
57788b5ada
Fix warnings about struct being forward declared as a class
...
git-svn-id: http://skia.googlecode.com/svn/trunk@833 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 21:00:31 +00:00
reed@google.com
5c3d1471e4
add clipstack to canvas. not used yet, but will be for devices (e.g. gpu) that
...
want to see how the clip was built
git-svn-id: http://skia.googlecode.com/svn/trunk@824 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 19:12:23 +00:00