platform/upstream/libSkiaSharp.git
13 years agoAdd SkBitmap::getColor(int x, int y) - return the color of a pixel in a bitmap.
vandebo@chromium.org [Thu, 24 Feb 2011 22:50:55 +0000 (22:50 +0000)]
Add SkBitmap::getColor(int x, int y) - return the color of a pixel in a bitmap.

Review URL: http://codereview.appspot.com/4230041

git-svn-id: http://skia.googlecode.com/svn/trunk@854 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Bug fix - missing last odd column in 4444 bitmaps.
vandebo@chromium.org [Thu, 24 Feb 2011 21:51:13 +0000 (21:51 +0000)]
[PDF] Bug fix - missing last odd column in 4444 bitmaps.

Review URL: http://codereview.appspot.com/4212044

git-svn-id: http://skia.googlecode.com/svn/trunk@853 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Clean up SkPDFStream and make it inherit from SkPDFDict.
vandebo@chromium.org [Thu, 24 Feb 2011 21:50:04 +0000 (21:50 +0000)]
[PDF] Clean up SkPDFStream and make it inherit from SkPDFDict.

A stream is a dictionary (with a couple particular entries) plus the data.
The common parent is useful for the shader implementation.

Review URL: http://codereview.appspot.com/4221045

git-svn-id: http://skia.googlecode.com/svn/trunk@852 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix bool bug so we can multisample now
reed@google.com [Thu, 24 Feb 2011 21:42:29 +0000 (21:42 +0000)]
fix bool bug so we can multisample now

git-svn-id: http://skia.googlecode.com/svn/trunk@851 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoGuard globalRef() virtual with #ifdef ANDROID, as these are not implemented
reed@google.com [Thu, 24 Feb 2011 18:09:46 +0000 (18:09 +0000)]
Guard globalRef() virtual with #ifdef ANDROID, as these are not implemented
nor called by Skia proper.

git-svn-id: http://skia.googlecode.com/svn/trunk@850 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd isFixedWidth() to expose the newly added attribute
reed@google.com [Thu, 24 Feb 2011 18:03:12 +0000 (18:03 +0000)]
add isFixedWidth() to expose the newly added attribute

git-svn-id: http://skia.googlecode.com/svn/trunk@849 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUpstreaming code from android repository.
djsollen@google.com [Thu, 24 Feb 2011 16:28:51 +0000 (16:28 +0000)]
Upstreaming code from android repository.

* fix for png decoder
* clean up for SkFontHost

reviewed by reed@google.com

git-svn-id: http://skia.googlecode.com/svn/trunk@847 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agodisable assert on validateClip in default build for now
reed@google.com [Thu, 24 Feb 2011 13:04:42 +0000 (13:04 +0000)]
disable assert on validateClip in default build for now

git-svn-id: http://skia.googlecode.com/svn/trunk@846 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd asAGradient shader extraction API.
vandebo@chromium.org [Thu, 24 Feb 2011 00:21:06 +0000 (00:21 +0000)]
Add asAGradient shader extraction API.

Store initial gradient parameters.
Add compile asserts in GPU code for BitmapType ordering.

Review URL: http://codereview.appspot.com/4178063

git-svn-id: http://skia.googlecode.com/svn/trunk@845 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd fClipStack optional field to SkDraw (it is always set by canvas)
reed@google.com [Wed, 23 Feb 2011 22:39:18 +0000 (22:39 +0000)]
add fClipStack optional field to SkDraw (it is always set by canvas)

git-svn-id: http://skia.googlecode.com/svn/trunk@844 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoset the rgn to empty if the clipstack says empty (in our validate routine)
reed@google.com [Wed, 23 Feb 2011 21:47:37 +0000 (21:47 +0000)]
set the rgn to empty if the clipstack says empty (in our validate routine)

git-svn-id: http://skia.googlecode.com/svn/trunk@843 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd/update images for linux
reed@google.com [Wed, 23 Feb 2011 20:53:12 +0000 (20:53 +0000)]
add/update images for linux

git-svn-id: http://skia.googlecode.com/svn/trunk@842 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomerge from android tree:
djsollen@google.com [Wed, 23 Feb 2011 20:46:31 +0000 (20:46 +0000)]
merge from android tree:
- optional parameters added to descriptorProc and allocPixels
- clip options to image decoders
- check for xfermode in blitter_a8
- UNROLL loops in blitrow

reviewed by reed@google.com

git-svn-id: http://skia.googlecode.com/svn/trunk@841 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agorefactor to use a shared function (clipPathHelper) between
reed@google.com [Wed, 23 Feb 2011 18:56:55 +0000 (18:56 +0000)]
refactor to use a shared function (clipPathHelper) between
SkCanvas::clipPath() and SkCanvas::validateClip().

git-svn-id: http://skia.googlecode.com/svn/trunk@840 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoSupport unicode to glyph id conversion in windows for non-BMP characters.
ctguil@chromium.org [Wed, 23 Feb 2011 18:44:57 +0000 (18:44 +0000)]
Support unicode to glyph id conversion in windows for non-BMP characters.

BUG=144

Review URL: http://codereview.appspot.com/4172054

git-svn-id: http://skia.googlecode.com/svn/trunk@839 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoupdate to add isFixedWidth attribute to typefaces
reed@google.com [Wed, 23 Feb 2011 14:49:33 +0000 (14:49 +0000)]
update to add isFixedWidth attribute to typefaces

git-svn-id: http://skia.googlecode.com/svn/trunk@838 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd fixed-width attribute to typeface
reed@google.com [Wed, 23 Feb 2011 14:41:42 +0000 (14:41 +0000)]
add fixed-width attribute to typeface
(patch from russellbrenner)

git-svn-id: http://skia.googlecode.com/svn/trunk@837 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCleanup issues related to SkBitmap getSize()/extractSubset().
wjmaclean@chromium.org [Tue, 22 Feb 2011 22:32:14 +0000 (22:32 +0000)]
Cleanup issues related to SkBitmap getSize()/extractSubset().

Some minor revisions to do cleanup regarding getSize() and extractSubset(). All
are related to avoid read/write past end of the pixel buffer when getSize() is
used on a bitmap that is the result of a call to extractSubset().

git-svn-id: http://skia.googlecode.com/svn/trunk@835 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd new files to VC2010 proj
bsalomon@google.com [Tue, 22 Feb 2011 21:00:55 +0000 (21:00 +0000)]
Add new files to VC2010 proj

git-svn-id: http://skia.googlecode.com/svn/trunk@834 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix warnings about struct being forward declared as a class
bsalomon@google.com [Tue, 22 Feb 2011 21:00:31 +0000 (21:00 +0000)]
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

13 years agoFix line endings in Gr files and set svn eol style to LF
bsalomon@google.com [Tue, 22 Feb 2011 20:59:41 +0000 (20:59 +0000)]
Fix line endings in Gr files and set svn eol style to LF

git-svn-id: http://skia.googlecode.com/svn/trunk@832 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agochange virtual setMatrixClip() to take a SkClipStack parameter.
reed@google.com [Tue, 22 Feb 2011 20:56:26 +0000 (20:56 +0000)]
change virtual setMatrixClip() to take a SkClipStack parameter.

git-svn-id: http://skia.googlecode.com/svn/trunk@831 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agomove old (unmaintained) gl backend out of src. src/gpu superceeds this now.
reed@google.com [Tue, 22 Feb 2011 20:50:57 +0000 (20:50 +0000)]
move old (unmaintained) gl backend out of src. src/gpu superceeds this now.
Will delete the files in obsolete/ at some point...

git-svn-id: http://skia.googlecode.com/svn/trunk@830 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake a separate path renderer object. Move enum types to GrTypes.h
bsalomon@google.com [Tue, 22 Feb 2011 20:34:01 +0000 (20:34 +0000)]
Make a separate path renderer object. Move enum types to GrTypes.h

Review URL http://codereview.appspot.com/4167067/

git-svn-id: http://skia.googlecode.com/svn/trunk@829 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd tests for SkClipStack
reed@google.com [Tue, 22 Feb 2011 20:17:43 +0000 (20:17 +0000)]
add tests for SkClipStack

git-svn-id: http://skia.googlecode.com/svn/trunk@828 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd tests for pushing on back as well as front
reed@google.com [Tue, 22 Feb 2011 19:56:18 +0000 (19:56 +0000)]
add tests for pushing on back as well as front

git-svn-id: http://skia.googlecode.com/svn/trunk@827 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agosuppress uninit warning in rb-tree
bsalomon@google.com [Tue, 22 Feb 2011 19:45:21 +0000 (19:45 +0000)]
suppress uninit warning in rb-tree

git-svn-id: http://skia.googlecode.com/svn/trunk@826 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd clipstack to canvas. not used yet, but will be for devices (e.g. gpu) that
reed@google.com [Tue, 22 Feb 2011 19:12:23 +0000 (19:12 +0000)]
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

13 years agoAdd red black tree
bsalomon@google.com [Tue, 22 Feb 2011 16:37:47 +0000 (16:37 +0000)]
Add red black tree

Review URL: http://codereview.appspot.com/4184063

git-svn-id: http://skia.googlecode.com/svn/trunk@823 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agorename SkDeque::Iter to SkDeque::F2BIter, since it runs front-to-back (in preparation
reed@google.com [Tue, 22 Feb 2011 13:16:38 +0000 (13:16 +0000)]
rename SkDeque::Iter to SkDeque::F2BIter, since it runs front-to-back (in preparation
for another iter that runs back-to-front (B2FIter).

add unittest for Deque

git-svn-id: http://skia.googlecode.com/svn/trunk@821 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocan't use this in STATIC_ASSERT on windows
reed@google.com [Fri, 18 Feb 2011 21:07:35 +0000 (21:07 +0000)]
can't use this in STATIC_ASSERT on windows

git-svn-id: http://skia.googlecode.com/svn/trunk@820 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agouse new high-quality blur in samples
reed@google.com [Fri, 18 Feb 2011 20:20:51 +0000 (20:20 +0000)]
use new high-quality blur in samples

git-svn-id: http://skia.googlecode.com/svn/trunk@819 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[Committed on behalf of junov@chromium.org]
senorblanco@chromium.org [Fri, 18 Feb 2011 19:03:01 +0000 (19:03 +0000)]
[Committed on behalf of junov@chromium.org]

Fixed rendering of shadows under bitmaps.
Added an option to SkBlurMask to produce higher quality blurs.
The HQ blur option is propagated through SkBlurDrawLooper so that it can be invoked by WebKit for drawing shadows.
Added a shadow rendering test to gm.

Bugs fixed: 146, 150
Related Chromium bugs: 11153, 42654
Code review: http://codereview.appspot.com/4174049

git-svn-id: http://skia.googlecode.com/svn/trunk@818 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAvoid putting adding vertex buffers to the pool when setting the complex clip.
bsalomon@google.com [Fri, 18 Feb 2011 18:40:42 +0000 (18:40 +0000)]
Avoid putting adding vertex buffers to the pool when setting the complex clip.

Review URL: http://codereview.appspot.com/4180058/

git-svn-id: http://skia.googlecode.com/svn/trunk@817 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake VS2010 project reflect new location of GrGLIRect.h
bsalomon@google.com [Fri, 18 Feb 2011 16:23:56 +0000 (16:23 +0000)]
Make VS2010 project reflect new location of GrGLIRect.h

git-svn-id: http://skia.googlecode.com/svn/trunk@816 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix warning about non-local anonymous struct
bsalomon@google.com [Fri, 18 Feb 2011 16:21:58 +0000 (16:21 +0000)]
Fix warning about non-local anonymous struct

git-svn-id: http://skia.googlecode.com/svn/trunk@815 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMoving GrGLIRect to include directory to fix build break using make files. (At some...
bsalomon@google.com [Fri, 18 Feb 2011 16:20:14 +0000 (16:20 +0000)]
Moving GrGLIRect to include directory to fix build break using make files. (At some point we need to move many of the non-public headers to src)

git-svn-id: http://skia.googlecode.com/svn/trunk@814 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoReduce glGets for stencil bits.
bsalomon@google.com [Fri, 18 Feb 2011 16:09:55 +0000 (16:09 +0000)]
Reduce glGets for stencil bits.
Clean up GL vs Gr rect conventions for viewport and scissor.

Review URL: http://codereview.appspot.com/4185056/

git-svn-id: http://skia.googlecode.com/svn/trunk@813 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocall glyph::init() on tmpGlyph, so we have a properly initialized fMaskFormat
reed@google.com [Fri, 18 Feb 2011 13:00:40 +0000 (13:00 +0000)]
call glyph::init() on tmpGlyph, so we have a properly initialized fMaskFormat

git-svn-id: http://skia.googlecode.com/svn/trunk@812 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove dead conditional code
reed@google.com [Fri, 18 Feb 2011 12:57:26 +0000 (12:57 +0000)]
remove dead conditional code

git-svn-id: http://skia.googlecode.com/svn/trunk@811 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoClean up geterror / log macros and globals for debugging. disable geterror in chrome...
bsalomon@google.com [Thu, 17 Feb 2011 21:47:25 +0000 (21:47 +0000)]
Clean up geterror / log macros and globals for debugging. disable geterror in chrome by default.

Review URL: http://codereview.appspot.com/4170058/

git-svn-id: http://skia.googlecode.com/svn/trunk@810 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoSet fLastGlyphID in SkFontHost::GetAdvancedTypefaceMetrics for windows.
ctguil@chromium.org [Thu, 17 Feb 2011 20:41:10 +0000 (20:41 +0000)]
Set fLastGlyphID in SkFontHost::GetAdvancedTypefaceMetrics for windows.

Review URL: http://codereview.appspot.com/4178060

git-svn-id: http://skia.googlecode.com/svn/trunk@809 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoHide alloc size vs content size below API
bsalomon@google.com [Thu, 17 Feb 2011 16:43:10 +0000 (16:43 +0000)]
Hide alloc size vs content size below API
Remove old gl shaders class
Move texture matrix to sampler class

git-svn-id: http://skia.googlecode.com/svn/trunk@808 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinitial baseline for linux blurs, poly2poly, points
reed@google.com [Thu, 17 Feb 2011 15:31:12 +0000 (15:31 +0000)]
initial baseline for linux blurs, poly2poly, points

git-svn-id: http://skia.googlecode.com/svn/trunk@807 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd test for points
reed@google.com [Thu, 17 Feb 2011 15:06:52 +0000 (15:06 +0000)]
add test for points

git-svn-id: http://skia.googlecode.com/svn/trunk@806 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd test for poly2poly
reed@google.com [Thu, 17 Feb 2011 14:21:01 +0000 (14:21 +0000)]
add test for poly2poly

git-svn-id: http://skia.googlecode.com/svn/trunk@805 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoneed to apply the prepathmatrix (or perhaps push it on our mv stack)
reed@google.com [Wed, 16 Feb 2011 23:20:39 +0000 (23:20 +0000)]
need to apply the prepathmatrix (or perhaps push it on our mv stack)

git-svn-id: http://skia.googlecode.com/svn/trunk@804 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd new test for blurs
reed@google.com [Wed, 16 Feb 2011 21:50:04 +0000 (21:50 +0000)]
add new test for blurs

git-svn-id: http://skia.googlecode.com/svn/trunk@803 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoupload generated mask for maskfilter to gpu (does not work with complex-paints yet)
reed@google.com [Wed, 16 Feb 2011 21:31:18 +0000 (21:31 +0000)]
upload generated mask for maskfilter to gpu (does not work with complex-paints yet)

git-svn-id: http://skia.googlecode.com/svn/trunk@802 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofirst steps for supporting maskfilters (disabled right now)
reed@google.com [Wed, 16 Feb 2011 18:08:07 +0000 (18:08 +0000)]
first steps for supporting maskfilters (disabled right now)

git-svn-id: http://skia.googlecode.com/svn/trunk@801 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoBatch consecutive draw rects.
bsalomon@google.com [Wed, 16 Feb 2011 16:12:19 +0000 (16:12 +0000)]
Batch consecutive draw rects.

Review URL: http://codereview.appspot.com/4178057/

git-svn-id: http://skia.googlecode.com/svn/trunk@800 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd initial linux baseline images for gm (still need gpu backend)
reed@google.com [Wed, 16 Feb 2011 13:59:33 +0000 (13:59 +0000)]
add initial linux baseline images for gm (still need gpu backend)

git-svn-id: http://skia.googlecode.com/svn/trunk@799 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd text
reed@google.com [Wed, 16 Feb 2011 13:06:15 +0000 (13:06 +0000)]
add text

git-svn-id: http://skia.googlecode.com/svn/trunk@798 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix compile error for linux
reed@google.com [Tue, 15 Feb 2011 16:21:24 +0000 (16:21 +0000)]
fix compile error for linux

git-svn-id: http://skia.googlecode.com/svn/trunk@797 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd no-check version of SkPackARGB32, for callers that want to deliberately
reed@google.com [Tue, 15 Feb 2011 14:22:19 +0000 (14:22 +0000)]
add no-check version of SkPackARGB32, for callers that want to deliberately
build a SkPMColor that may not be valid premultiplied (e.g. compatibility
with webgl)

see https://bugs.webkit.org/show_bug.cgi?id=54023

git-svn-id: http://skia.googlecode.com/svn/trunk@796 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix file modes.
vandebo@chromium.org [Mon, 14 Feb 2011 23:44:18 +0000 (23:44 +0000)]
Fix file modes.

Review URL: http://codereview.appspot.com/4178051

git-svn-id: http://skia.googlecode.com/svn/trunk@790 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoProvide windows font host implementation needed to support TrueType text in pdf backend.
vandebo@chromium.org [Mon, 14 Feb 2011 23:19:59 +0000 (23:19 +0000)]
Provide windows font host implementation needed to support TrueType text in pdf backend.
- Move AdvanceMetric template functions into new file SkAdvancedTypefaceMetrics.cpp

Review URL: http://codereview.appspot.com/4174041

git-svn-id: http://skia.googlecode.com/svn/trunk@789 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix param order in setVertexSourceToBuffer calls due to r786 when GR_STATIC_RECT_VB...
bsalomon@google.com [Mon, 14 Feb 2011 18:27:55 +0000 (18:27 +0000)]
Fix param order in setVertexSourceToBuffer calls due to r786 when GR_STATIC_RECT_VB is 1

Review URL: http://codereview.appspot.com/4179047/

git-svn-id: http://skia.googlecode.com/svn/trunk@788 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix compile-error, mismatch between fontID and id
reed@google.com [Mon, 14 Feb 2011 17:02:29 +0000 (17:02 +0000)]
fix compile-error, mismatch between fontID and id

http://code.google.com/p/skia/issues/detail?id=149

git-svn-id: http://skia.googlecode.com/svn/trunk@787 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRefactor how Gr handles vertex and index data. GrGpu and GrInOrderDrawBuffer both...
bsalomon@google.com [Mon, 14 Feb 2011 16:51:21 +0000 (16:51 +0000)]
Refactor how Gr handles vertex and index data. GrGpu and GrInOrderDrawBuffer both GrBufferAllocPool to manage reserved and set-to-array vertex and index data.

rietveld issue 4188049

git-svn-id: http://skia.googlecode.com/svn/trunk@786 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agosafeUnref() -> SkSafeUnref()
bsalomon@google.com [Sun, 13 Feb 2011 18:21:16 +0000 (18:21 +0000)]
safeUnref() -> SkSafeUnref()

git-svn-id: http://skia.googlecode.com/svn/trunk@785 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemove debugging printf that was accidentally left in 783.
bsalomon@google.com [Fri, 11 Feb 2011 14:45:11 +0000 (14:45 +0000)]
Remove debugging printf that was accidentally left in 783.

git-svn-id: http://skia.googlecode.com/svn/trunk@784 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agogit-svn-id: http://skia.googlecode.com/svn/trunk@783 2bbb7eff-a529-9590-31e7-b0007b416f81
bsalomon@google.com [Fri, 11 Feb 2011 14:07:02 +0000 (14:07 +0000)]
git-svn-id: skia.googlecode.com/svn/trunk@783 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoUse real glyph IDs in the win fonthost to better support pdf.
vandebo@chromium.org [Thu, 10 Feb 2011 21:04:34 +0000 (21:04 +0000)]
Use real glyph IDs in the win fonthost to better support pdf.

Review URL: http://codereview.appspot.com/4142044

git-svn-id: http://skia.googlecode.com/svn/trunk@782 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd 'c' command, which toggles a semi-complex clip (the pink is what has been
reed@google.com [Thu, 10 Feb 2011 18:47:24 +0000 (18:47 +0000)]
add 'c' command, which toggles a semi-complex clip (the pink is what has been
clipped out).

git-svn-id: http://skia.googlecode.com/svn/trunk@781 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoupdate to work correctly for scalar == fixed or float
reed@android.com [Wed, 9 Feb 2011 02:24:26 +0000 (02:24 +0000)]
update to work correctly for scalar == fixed or float

git-svn-id: http://skia.googlecode.com/svn/trunk@780 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoRemove extra stub definition of GetAdvancedTypefaceMetrics.
vandebo@chromium.org [Wed, 9 Feb 2011 00:10:29 +0000 (00:10 +0000)]
Remove extra stub definition of GetAdvancedTypefaceMetrics.

BUG=140
TEST=NONE

Review URL: http://codereview.appspot.com/4150043

git-svn-id: http://skia.googlecode.com/svn/trunk@779 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoreformatting to match coding style -- no logic changes
reed@google.com [Tue, 8 Feb 2011 22:22:52 +0000 (22:22 +0000)]
reformatting to match coding style -- no logic changes

git-svn-id: http://skia.googlecode.com/svn/trunk@778 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agosafeunref method to SkSafeUnref.
bsalomon@google.com [Tue, 8 Feb 2011 22:03:36 +0000 (22:03 +0000)]
safeunref method to SkSafeUnref.

git-svn-id: http://skia.googlecode.com/svn/trunk@777 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoreformat for coding style, no logic changes
reed@google.com [Tue, 8 Feb 2011 21:59:59 +0000 (21:59 +0000)]
reformat for coding style, no logic changes

git-svn-id: http://skia.googlecode.com/svn/trunk@776 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd SkScalarIsFinite(), and use it for a more portable impl of SkRect::isValidCoords()
reed@google.com [Tue, 8 Feb 2011 21:56:39 +0000 (21:56 +0000)]
add SkScalarIsFinite(), and use it for a more portable impl of SkRect::isValidCoords()

git-svn-id: http://skia.googlecode.com/svn/trunk@775 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Add support for xfermodes / blend modes.
vandebo@chromium.org [Tue, 8 Feb 2011 19:28:07 +0000 (19:28 +0000)]
[PDF] Add support for xfermodes / blend modes.

- Change SkGraphicState to track and set the blend mode (xfermode) for modes built in to PDF (non porter duff modes + src over).
- Add SkXfermode::asMode() to retrieve xfermode as an enum for non porter duff modes.
- Move SkXfermode.cpp around a bit to support asMode() -- Generally move utility functions toward the top of the file.
- Make SkPDFFormXObject an isolated transparency group, as it used for saveLayer, which draws on transparent, not the device background.
- Set the graphic state in drawDevice and drawBitmap in order to get the right xfermode and alpha.

Review URL: http://codereview.appspot.com/4131043

git-svn-id: http://skia.googlecode.com/svn/trunk@774 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Change SkPDFFormXObject to not hold a reference to device.
vandebo@chromium.org [Tue, 8 Feb 2011 19:22:40 +0000 (19:22 +0000)]
[PDF] Change SkPDFFormXObject to not hold a reference to device.

This prevents two copies of the content stream from sticking around.  It also fixes an invalid memory reference because SkCanvas::internalRestore deletes the device (maybe it should just unref) after drawing it onto the main device.

Review URL: http://codereview.appspot.com/4080056

git-svn-id: http://skia.googlecode.com/svn/trunk@773 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoupdate dox for readPixels()
reed@google.com [Mon, 7 Feb 2011 22:44:43 +0000 (22:44 +0000)]
update dox for readPixels()

git-svn-id: http://skia.googlecode.com/svn/trunk@772 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agocheck for SK_BUILD_FOR_BREW
reed@google.com [Mon, 7 Feb 2011 20:05:49 +0000 (20:05 +0000)]
check for SK_BUILD_FOR_BREW

git-svn-id: http://skia.googlecode.com/svn/trunk@771 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd
reed@google.com [Mon, 7 Feb 2011 20:01:58 +0000 (20:01 +0000)]
add

git-svn-id: http://skia.googlecode.com/svn/trunk@770 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd
reed@google.com [Mon, 7 Feb 2011 20:00:40 +0000 (20:00 +0000)]
add

git-svn-id: http://skia.googlecode.com/svn/trunk@769 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoclear the convex-hint in reset() and rewind(), to match its state in a newly
reed@google.com [Mon, 7 Feb 2011 19:39:09 +0000 (19:39 +0000)]
clear the convex-hint in reset() and rewind(), to match its state in a newly
created path.

todo: convexity perhaps should be tristate: yes, no, unknown

git-svn-id: http://skia.googlecode.com/svn/trunk@768 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoadd rlepixelref file to make, to keep it from bit-rot
reed@google.com [Mon, 7 Feb 2011 19:19:46 +0000 (19:19 +0000)]
add rlepixelref file to make, to keep it from bit-rot
update rlepixelref to not use safeRef/safeUnref (as those are gone now)

git-svn-id: http://skia.googlecode.com/svn/trunk@767 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agohide divide-by-zero from the compiler, to avoid the warning
reed@google.com [Mon, 7 Feb 2011 19:08:59 +0000 (19:08 +0000)]
hide divide-by-zero from the compiler, to avoid the warning

git-svn-id: http://skia.googlecode.com/svn/trunk@766 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdd unit test for SkRect::hasValidCoordinates().
wjmaclean@chromium.org [Mon, 7 Feb 2011 17:48:40 +0000 (17:48 +0000)]
Add unit test for SkRect::hasValidCoordinates().

git-svn-id: http://skia.googlecode.com/svn/trunk@765 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoProposed fix for crash in Cr70244.
wjmaclean@chromium.org [Mon, 7 Feb 2011 17:48:37 +0000 (17:48 +0000)]
Proposed fix for crash in Cr70244.

git-svn-id: http://skia.googlecode.com/svn/trunk@764 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agorebase gpu images (based on mac-desktop gpu)
reed@google.com [Mon, 7 Feb 2011 15:35:36 +0000 (15:35 +0000)]
rebase gpu images (based on mac-desktop gpu)

really need a better way to compare gpu images, given that different gpus can
legitimately hit different pixels :(

git-svn-id: http://skia.googlecode.com/svn/trunk@763 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoremove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
reed@google.com [Mon, 7 Feb 2011 15:30:46 +0000 (15:30 +0000)]
remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
SkSafeRef() and SkSafeUnref().

This is basically a bug waiting to happen. An optimizing compiler can remove
checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on
precisely this check...

void SkRefCnt::safeRef() {
    if (this) {
        this->ref();
    }
}

Since a compiler might skip the if-clause, it breaks the intention of this
method, hence its removal.

static inline void SkSafeRef(SkRefCnt* obj) {
    if (obj) {
        obj->ref();
    }
}

This form is not ignored by an optimizing compile, so we use it instead.

git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoWhen we create the GL context and FBO on mac for the GM test also setup the viewport...
bsalomon@google.com [Mon, 7 Feb 2011 14:51:55 +0000 (14:51 +0000)]
When we create the GL context and FBO on mac for the GM test also setup the viewport and clear the stencil.
In GrGpuGL::readPixels make sure current rendertarget has been made current in GL before calling glReadPixels

git-svn-id: http://skia.googlecode.com/svn/trunk@761 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agofix warning about size_t >= 0 (which must always be true)
reed@google.com [Mon, 7 Feb 2011 13:20:30 +0000 (13:20 +0000)]
fix warning about size_t >= 0 (which must always be true)

git-svn-id: http://skia.googlecode.com/svn/trunk@760 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Improve PDF support in gm.
vandebo@chromium.org [Thu, 3 Feb 2011 23:00:40 +0000 (23:00 +0000)]
[PDF] Improve PDF support in gm.

Currently gm ends up writing the same PDF four times.  This fixes that problem, making PDF a first class citizen and providing a better framework for additional backends.  Read support for PDF is still missing though.

Review URL: http://codereview.appspot.com/4130045

git-svn-id: http://skia.googlecode.com/svn/trunk@759 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoImprove usability of SkAdvancedTypefaceMetrics for non PDF cases.
vandebo@chromium.org [Thu, 3 Feb 2011 21:48:23 +0000 (21:48 +0000)]
Improve usability of SkAdvancedTypefaceMetrics for non PDF cases.

Change the code to fill out the metrics even if the font isn't embeddable. Previously, if the font wasn't embeddable, the code would set the type to not embeddable and return without filling out the rest of the metrics.

Review URL: http://codereview.appspot.com/3973053

git-svn-id: http://skia.googlecode.com/svn/trunk@758 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Start from an identity transform for drawDevice.
vandebo@chromium.org [Thu, 3 Feb 2011 21:46:10 +0000 (21:46 +0000)]
[PDF] Start from an identity transform for drawDevice.

drawDevice, like drawSprite should start from the identity transform instead of applying the passed translation on top of the current transform.

Review URL: http://codereview.appspot.com/4023066

git-svn-id: http://skia.googlecode.com/svn/trunk@757 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoFix warnings on linux build (strict aliasing, cons init order, vars used only in...
bsalomon@google.com [Thu, 3 Feb 2011 21:30:17 +0000 (21:30 +0000)]
Fix warnings on linux build (strict aliasing, cons init order, vars used only in asserts)

git-svn-id: http://skia.googlecode.com/svn/trunk@756 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agochange forward decl of SkMatrix from struct (wrong) to class (correct)
reed@android.com [Thu, 3 Feb 2011 15:51:56 +0000 (15:51 +0000)]
change forward decl of SkMatrix from struct (wrong) to class (correct)
fixes issue http://code.google.com/p/skia/issues/detail?id=139

git-svn-id: http://skia.googlecode.com/svn/trunk@755 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake aggressive shader opts an option in GrUserConfig.h. Currently just controls...
bsalomon@google.com [Wed, 2 Feb 2011 22:42:20 +0000 (22:42 +0000)]
Make aggressive shader opts an option in GrUserConfig.h. Currently just controls whether color=white optimization is applied (eliminates reading color varying and modulation by color). This was already a compile time option just not exposed through user config.

git-svn-id: http://skia.googlecode.com/svn/trunk@754 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoMake enabling static rect VB configurable by user config file.
bsalomon@google.com [Wed, 2 Feb 2011 19:24:54 +0000 (19:24 +0000)]
Make enabling static rect VB configurable by user config file.

git-svn-id: http://skia.googlecode.com/svn/trunk@753 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoCleanup SkPDFTypfaceInfo and make it more generic.
vandebo@chromium.org [Wed, 2 Feb 2011 02:11:22 +0000 (02:11 +0000)]
Cleanup SkPDFTypfaceInfo and make it more generic.

Renamed to SkAdvancedTypefaceMetrics.
Include Em size and return all metrics in unscaled font units.
Make retrieval of advances optional.
Reorder SkAdvancedTypefaceMetrics to be somewhat logical.
Change the types of fields in SkAdvancedTypefaceMetrics to their minimum required size.

Review URL: http://codereview.appspot.com/4121049

git-svn-id: http://skia.googlecode.com/svn/trunk@752 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAttempt to simplify NPOT texture caps. Also fixes case where textures would unnecessa...
bsalomon@google.com [Tue, 1 Feb 2011 22:56:16 +0000 (22:56 +0000)]
Attempt to simplify NPOT texture caps. Also fixes case where textures would unnecessarily be bloated to POT. Adds setting of sampler's filter setting in paint conversion.

git-svn-id: http://skia.googlecode.com/svn/trunk@751 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Clean up ref counting.
vandebo@chromium.org [Tue, 1 Feb 2011 22:19:44 +0000 (22:19 +0000)]
[PDF] Clean up ref counting.

Return ref'd objs where possible enabling removal of many SkRefPtr<> variables.

Review URL: http://codereview.appspot.com/4029051

git-svn-id: http://skia.googlecode.com/svn/trunk@750 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoAdds ability to draw rects using a unit square vertex buffer. Useful when matrix...
bsalomon@google.com [Tue, 1 Feb 2011 19:12:40 +0000 (19:12 +0000)]
Adds ability to draw rects using a unit square vertex buffer. Useful when matrix/uniform changes are less expensive than sending new verts.

Adds optional matrix parameters to GrContext drawRect and drawRectToRect so that non-axis-aligned matrices can be drawn using these functions.

codereview Issue 4105049

git-svn-id: http://skia.googlecode.com/svn/trunk@749 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Fix bugs preventing gm from running with PDF support.
vandebo@chromium.org [Tue, 1 Feb 2011 01:04:00 +0000 (01:04 +0000)]
[PDF] Fix bugs preventing gm from running with PDF support.

Fix copy-paste ref counting bug.
Change NOT_IMPLEMENTED macro to only assert in debug mode.

Review URL: http://codereview.appspot.com/4080048

git-svn-id: http://skia.googlecode.com/svn/trunk@748 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years ago[PDF] Support image alpha channel plus a couple small fixes.
vandebo@chromium.org [Mon, 31 Jan 2011 19:35:43 +0000 (19:35 +0000)]
[PDF] Support image alpha channel plus a couple small fixes.

Fix bug in rendering paths with cubic segments.
Only compress data if the compressed size is smaller than the uncompressed size.

Review URL: http://codereview.appspot.com/4079048

git-svn-id: http://skia.googlecode.com/svn/trunk@747 2bbb7eff-a529-9590-31e7-b0007b416f81

13 years agoinitialize int var-args to placate chrome's runtime check
reed@google.com [Mon, 31 Jan 2011 14:24:48 +0000 (14:24 +0000)]
initialize int var-args to placate chrome's runtime check

git-svn-id: http://skia.googlecode.com/svn/trunk@746 2bbb7eff-a529-9590-31e7-b0007b416f81