Commit Graph

433 Commits

Author SHA1 Message Date
tomhudson@google.com
7d04280a68 Extends skdiff to handle commands of the form
skdiff --chromium-release baseDir outputDir
  skdiff --chromium-debug baseDir outputDir
where baseDir is typically ../chromium/src.

Handles Chromium/WebKit layout tests: recursively traverses the
layout-test-results directory and compares -expected and -actual PNGs,
building a webpage showing the two images, their difference image,
and statistics, sorted by % of pixels difference. Respects all the
standard skdiff flags.

Also changes command line options named with words from starting with
a single hyphen to starting with two, falling in line with standards:
--threshold, --sortbymismatch, etc.



git-svn-id: http://skia.googlecode.com/svn/trunk@1856 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-14 13:15:55 +00:00
bungeman@google.com
1ddd7c3928 Change pdfTransform to asAffine.
http://codereview.appspot.com/4704044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1851 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-13 19:41:55 +00:00
bsalomon@google.com
b3b8dfa313 Fix path iter returned pt on close, test path close pt in unit test.
Review URL: http://codereview.appspot.com/4715044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1849 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-13 17:44:36 +00:00
tomhudson@google.com
333d6cb244 Remove a few old uses of SK_RESTRICT on references.
Conditionally #defines SK_RESTRICT to be __restrict on Win32;
this successfully compiles in VS2008.



git-svn-id: http://skia.googlecode.com/svn/trunk@1841 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-12 19:19:03 +00:00
reed@google.com
2b75f4279a add asABlur() to maskfilters, so devices like gpu and pdf can query them.
git-svn-id: http://skia.googlecode.com/svn/trunk@1816 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-07 13:43:38 +00:00
reed@google.com
9c49bc3e64 Allow texture-backed bitmaps to perform a read-back when lockPixels is called.
This means we have to be even more cautious about when we call lock, and we should
always check getTexture() first if we can handle a texture directly, rather than
forcing the read-back to get the bits.



git-svn-id: http://skia.googlecode.com/svn/trunk@1815 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-07 13:42:37 +00:00
reed@google.com
2be9e8b407 ColorShaders report no bitmaps, but only a color_gradient, which we now detect
on the gpu side.



git-svn-id: http://skia.googlecode.com/svn/trunk@1810 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-06 21:18:09 +00:00
reed@google.com
cde92111d5 remove SkDeviceFactory from the collective consciousness, now that devices know
how to create compatible siblings.



git-svn-id: http://skia.googlecode.com/svn/trunk@1808 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-06 20:00:52 +00:00
reed@google.com
37a201231b add SkEmptyShader, and return it from CreateBitmapShader if the bitmap is empty
(i.e. has no pixels at all)



git-svn-id: http://skia.googlecode.com/svn/trunk@1792 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-05 18:54:12 +00:00
epoger@google.com
9ef2d8382f Reverting r1775 at Mike and Brian's request
git-svn-id: http://skia.googlecode.com/svn/trunk@1786 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 21:12:20 +00:00
bsalomon@google.com
8bcc6f47b0 export SkAutoSTMalloc (for multi-dll chrome build)
Review URL: http://codereview.appspot.com/4643063/



git-svn-id: http://skia.googlecode.com/svn/trunk@1784 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 20:45:29 +00:00
tomhudson@google.com
0c8d93a940 Reworks r1770 so that users who have replaced SkUserConfig don't have to
make any changes to continue compiling successfully.



git-svn-id: http://skia.googlecode.com/svn/trunk@1779 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 17:08:26 +00:00
junov@google.com
22c8bb8ebd Fixing several issues with rendering blurred bitmaps with Ganesh
BUG=http://code.google.com/p/skia/issues/detail?id=305
REVIEW=http://codereview.appspot.com/4630073/



git-svn-id: http://skia.googlecode.com/svn/trunk@1775 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 22:16:06 +00:00
bsalomon@google.com
3582bf9e3d Remove GrAuto*Malloc, replace with SkAuto*Malloc
Review URL: http://codereview.appspot.com/4629088



git-svn-id: http://skia.googlecode.com/svn/trunk@1774 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 21:32:31 +00:00
reed@google.com
5d2fef0d83 fix asserts in new premul inline function
git-svn-id: http://skia.googlecode.com/svn/trunk@1773 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 21:17:22 +00:00
reed@google.com
0b8b3bb083 make inline version of premultiply, to speed up gradient creation.
We could speed-up again if we...
- respected kDither and only built 1/2 of the table for non-dither requests
- output simple params to the gpu rather than always a texture
- detected that we have no alpha, and then can skip premul per-entry



git-svn-id: http://skia.googlecode.com/svn/trunk@1772 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 21:06:22 +00:00
junov@google.com
4ee7ae5dcf Adding the notion of a volatile bitmap to SkBitmap.
Volatility is a hint that indicates that the contents of a bitmap 
are ephemeral. SkGpuDevice will not preserve volatile bitmaps
in its texture cache, and will use textures from a pool of
keyless (recyclable) textures to avoid the performance hit of
texture allocation and release.

A subsequent change is required in webkit in order to take advantage
of this optimization. putImageData, and other methods that create
temporary bitmaps will have to mark their bitmaps as volatile.
before rendering them through skia.



git-svn-id: http://skia.googlecode.com/svn/trunk@1769 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 17:30:49 +00:00
tomhudson@google.com
3a1f6a06cc SkStringPrintf helper fucntion + a new unit test for it.
git-svn-id: http://skia.googlecode.com/svn/trunk@1766 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-30 14:39:52 +00:00
reed@google.com
33114e0e59 remove unused and untested SkPath::subdivide()
git-svn-id: http://skia.googlecode.com/svn/trunk@1732 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-28 11:57:12 +00:00
reed@google.com
314e9b3ba0 add ptr/len and SkData versions of Deflate()
git-svn-id: http://skia.googlecode.com/svn/trunk@1726 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-27 17:41:22 +00:00
reed@google.com
effc5016f0 remove obsolete text codepaths
git-svn-id: http://skia.googlecode.com/svn/trunk@1725 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-27 16:44:46 +00:00
reed@google.com
5667afc5cb remove drawShape from canvas api
git-svn-id: http://skia.googlecode.com/svn/trunk@1723 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-27 14:42:15 +00:00
reed@google.com
7453d0e450 use general SkWStream for parameter
git-svn-id: http://skia.googlecode.com/svn/trunk@1719 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 20:45:40 +00:00
reed@google.com
8a85d0c493 replace detach/getStream apis on dynamicwstream with SkData
http://codereview.appspot.com/4657046/



git-svn-id: http://skia.googlecode.com/svn/trunk@1714 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 19:12:12 +00:00
tomhudson@google.com
317d540409 New benchmark for SkMatrix::computeType().
Utility function in SkMatrix to make benchmarking more accurate.



git-svn-id: http://skia.googlecode.com/svn/trunk@1710 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 18:30:49 +00:00
reed@google.com
3a31ac1cf5 add (replacing SkDataRef)
git-svn-id: http://skia.googlecode.com/svn/trunk@1698 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 13:11:05 +00:00
reed@google.com
8d0b5770f8 rename public SkDataRef to SkData
rename animator's internal SkData to SkDataInput



git-svn-id: http://skia.googlecode.com/svn/trunk@1697 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-24 13:07:31 +00:00
reed@google.com
70442a6cf7 add copyToData() to dyanamicwstream
git-svn-id: http://skia.googlecode.com/svn/trunk@1695 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-23 21:48:04 +00:00
caryclark@google.com
1eeaf0ba23 Add support for 8 bits/component glyphs, to
better match the fonts produced by CoreText on OS/X.

M    include/config/SkUserConfig.h
M    include/core/SkMask.h
M    include/core/SkScalerContext.h
M    src/core/SkBlitter_ARGB32.cpp
M    src/core/SkScalerContext.cpp
M    src/core/SkPaint.cpp
M    src/gpu/SkGrFontScaler.cpp
M    src/ports/SkFontHost_mac_coretext.cpp
M    src/ports/SkFontHost_mac.cpp
M    gpu/include/GrTypes.h
M    gpu/src/GrAtlas.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@1672 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-22 13:19:43 +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
reed@google.com
6bac947cd5 Add option in flattening to write factory names inline, as we are recording.
SkGPipe needs this, since it cannot (unlike SkPicture) see all of the factories
before it hands its data to the reader.

In this mode, the writer embedds the factory name the first time it sees it,
and then after that writes an index (referencing the fFactorySet). The reader
installs an empty array, and as it encounters names, appends them to that array
so that subsequent indices can be used to retrieve the previously named factory.

Some of the existing patheffects did not register their factory names, so those
changes are also part of this CL. Annoyingly, to register your factory using the
current scheme, it has to be in the public section of the class definition.




git-svn-id: http://skia.googlecode.com/svn/trunk@1663 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-21 19:24:00 +00:00
reed@google.com
fd0ffcf486 change string read/write to store length as full 32-bit value. This simplifies
the internal logic, and allows SkFlattenable to rely on this when distinguishing
between 0 and indices (which will soon be negative) and string-lengths.



git-svn-id: http://skia.googlecode.com/svn/trunk@1660 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-21 15:43:11 +00:00
reed@google.com
2d54d06adc update dox
git-svn-id: http://skia.googlecode.com/svn/trunk@1657 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-21 12:19:28 +00:00
bsalomon@google.com
e97f0856a8 Add createNewCompatibleDevice. Allow devices to have a NULL factory and saveLayer will fall back on createNewCompatibleDevice.
Review URL: http://codereview.appspot.com/4633044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1625 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-17 13:10:25 +00:00
reed@google.com
af951c9bc4 make SkDevice constructors explicit between offscreen and on/direct
http://codereview.appspot.com/4632044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1620 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-16 19:10:39 +00:00
epoger@google.com
1fd56dc6e1 Implement SkPoint::Normalize() for SK_SCALAR_IS_FIXED and add performance warning to its declaration
http://codereview.appspot.com/4582043/



git-svn-id: http://skia.googlecode.com/svn/trunk@1602 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-15 18:04:58 +00:00
tomhudson@google.com
a87cd2af4c Increase compatibility with clang, mostly around SK_RESTRICT.
Attempting to fix up our use of __restrict__ so Chrome can enable it.



git-svn-id: http://skia.googlecode.com/svn/trunk@1597 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-15 16:50:27 +00:00
reed@google.com
ca1f5e2a5d style and warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@1590 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-14 19:31:24 +00:00
reed@google.com
35ae8ea9be add SkDataRef (for future use)
git-svn-id: http://skia.googlecode.com/svn/trunk@1588 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-14 19:18:26 +00:00
reed@google.com
7d26c590f6 add 2nd parameter to SkFontHost::NextLogicalFont()
needed by android to map different styles of fallback fonts



git-svn-id: http://skia.googlecode.com/svn/trunk@1562 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-13 13:01:10 +00:00
epoger@google.com
80afbf08eb #include <math.h> if SK_SCALAR_IS_FIXED but SK_CAN_USE_FLOAT
git-svn-id: http://skia.googlecode.com/svn/trunk@1561 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-09 22:16:28 +00:00
reed@google.com
a87e065870 add SkFixedFloorToFixed
git-svn-id: http://skia.googlecode.com/svn/trunk@1524 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-07 13:38:39 +00:00
reed@google.com
542e035dcd remove unneeded check for thumb. see http://codereview.appspot.com/4539048/
git-svn-id: http://skia.googlecode.com/svn/trunk@1477 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-02 13:45:33 +00:00
reed@google.com
3fb5187647 speed-up SkMatrix::preScale by 3x, by special-casing it instead of just calling
concat. Inspired by the profile of the fishtank site



git-svn-id: http://skia.googlecode.com/svn/trunk@1462 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-01 15:11:22 +00:00
twiz@google.com
c0c4d22bac Removal of obsolete interface, SkMatrixClipObserver.
git-svn-id: http://skia.googlecode.com/svn/trunk@1435 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-26 14:57:48 +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
epoger@google.com
b28b5e4e26 Warn when an SkScalar is passed into SkIntToScalar() (converted twice)
http://codereview.appspot.com/4548051/



git-svn-id: http://skia.googlecode.com/svn/trunk@1405 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-24 14:51:57 +00:00
reed@google.com
dde0956375 add cross-process option to gpipe
add unittests for reader32 and writer32



git-svn-id: http://skia.googlecode.com/svn/trunk@1397 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-23 12:21:05 +00:00
ctguil@chromium.org
c7d9f9d8ae Expose SkComposeShader as SK_API.
This is used by the ChromeOS build of Chrome.
Review URL: http://codereview.appspot.com/4548054

git-svn-id: http://skia.googlecode.com/svn/trunk@1396 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-20 22:16:08 +00:00
bsalomon@google.com
27661181d7 Fix windows color order
Review URL: http://codereview.appspot.com/4553048/



git-svn-id: http://skia.googlecode.com/svn/trunk@1379 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-19 15:57:44 +00:00
reed@google.com
05ea1810a2 move SHIFT default definitions from SkColorPriv.h to SkPostConfig.h, so that
clients don't accidentally see them defined on some platforms when they only
include SkTypes.h, and not others.



git-svn-id: http://skia.googlecode.com/svn/trunk@1373 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 21:24:16 +00:00
reed@google.com
02b5331078 encode current LCD orientation and order into font-cache-key
git-svn-id: http://skia.googlecode.com/svn/trunk@1368 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 19:00:53 +00:00
bsalomon@google.com
f2d91557b2 separate coverage stages from color stages.
Review URL: http://codereview.appspot.com/4538064/



git-svn-id: http://skia.googlecode.com/svn/trunk@1339 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 20:56:06 +00:00
reed@google.com
4b4fb3a52c fully expand the initialization for rect (android compiler didn't like {0})
git-svn-id: http://skia.googlecode.com/svn/trunk@1336 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 18:24:19 +00:00
reed@google.com
b54455e440 Change getConvexity() to now compute it if the value is set to kUnkown.
Change behavior for degenerate paths: now those return kConvex instead of kUnknown



git-svn-id: http://skia.googlecode.com/svn/trunk@1330 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 14:16:04 +00:00
reed@google.com
04863fa14a add Convexity enum to SkPath
git-svn-id: http://skia.googlecode.com/svn/trunk@1324 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-15 04:08:24 +00:00
reed@google.com
af8edcc477 update dox
git-svn-id: http://skia.googlecode.com/svn/trunk@1318 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-12 22:31:01 +00:00
twiz@google.com
246bd0f271 git-svn-id: http://skia.googlecode.com/svn/trunk@1292 2bbb7eff-a529-9590-31e7-b0007b416f81 2011-05-10 23:10:26 +00:00
reed@google.com
f2eb5ab780 fix bug where we wrote uninitialized data to the flatten stream for shaders.
Both shader and gradient_shader write matrices to the flatten stream. However, they were
just calling write(&matrix, sizeof(SkMatrix)) and the matrix can contain lazily-computed
function ptrs as part of its internal cache. Thus two matrices that are logically the
same may write different bytes.

This is a problem because picture relies on flattening objects and then using the
flatten stream as a key into its cache. This matrix-write bug effectively kills the
effectiveness of the cache for shaders.

The fix is to write proper read/write functions for matrix (and region btw). These
call through to the existing low-level flatten routines (which just write into a
memory ptr).



git-svn-id: http://skia.googlecode.com/svn/trunk@1290 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-10 22:56:42 +00:00
bsalomon@google.com
cc4dac3dac Make GrMatrix an alias of SkMatrix. Add new methods to SkMatrix.
Review URL: http://codereview.appspot.com/4538043/

Checked in on behalf of reed@ with some additional work (remove the do-nother sk->gr matrix converter).



git-svn-id: http://skia.googlecode.com/svn/trunk@1289 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-10 13:52:42 +00:00
bsalomon@google.com
ee9aa30457 Fixes from Sk/Gr rect unification.
git-svn-id: http://skia.googlecode.com/svn/trunk@1288 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 22:32:52 +00:00
vandebo@chromium.org
6744d498fc [PDF] Add a ToUnicode mapping for fonts.
This makes text in PDFs searchable and copy&paste-able.

Code from arthurhsu@chromium.org.  Original review: http://codereview.appspot.com/4428082/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1280 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 18:13:47 +00:00
reed@google.com
20efde71b4 Share code with SkRect
http://codereview.appspot.com/4523046/



git-svn-id: http://skia.googlecode.com/svn/trunk@1277 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 17:00:02 +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
reed@google.com
7744c205f2 use SkPoint, creating an alias for GrPoint
http://codereview.appspot.com/4498041/



git-svn-id: http://skia.googlecode.com/svn/trunk@1268 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 19:26:26 +00:00
bsalomon@google.com
fc29629525 Replace GrStringBuilder with SkString. First step in cleaning up the shader generator. Slight performance hit when creating a new shader (<10% of total shader gen time on my Windows box is spent in building our string before handing it to GL). Much of this can be recovered by better usage pattern of SkString in coming revisions.
Review URL: http://codereview.appspot.com/4465053/ 



git-svn-id: http://skia.googlecode.com/svn/trunk@1266 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 13:53:47 +00:00
bsalomon@google.com
0aa6c3e212 Tab -> spaces
git-svn-id: http://skia.googlecode.com/svn/trunk@1264 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 13:02:10 +00:00
reed@google.com
185d3d016d add SkScalarIsInt()
git-svn-id: http://skia.googlecode.com/svn/trunk@1262 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-06 12:18:08 +00:00
reed@google.com
a571c99228 don't require a ptr unless size > 0
git-svn-id: http://skia.googlecode.com/svn/trunk@1259 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-05 20:04:44 +00:00
reed@google.com
8d90eeba09 add find()
git-svn-id: http://skia.googlecode.com/svn/trunk@1243 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-04 18:03:00 +00:00
reed@google.com
3048d4fd4e remove deprecated getViewport/setViewport
git-svn-id: http://skia.googlecode.com/svn/trunk@1235 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-04 13:50:34 +00:00
reed@google.com
acd471f47c updated pipe
git-svn-id: http://skia.googlecode.com/svn/trunk@1231 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-03 21:26:46 +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
reed@google.com
7894b92b57 code style
git-svn-id: http://skia.googlecode.com/svn/trunk@1229 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-03 15:41:49 +00:00
reed@google.com
2f3dc9dc4c add typefacecache
speedup lcd blits
clean up some samples



git-svn-id: http://skia.googlecode.com/svn/trunk@1220 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-02 17:33:45 +00:00
reed@google.com
3b521d0533 update dox
code style



git-svn-id: http://skia.googlecode.com/svn/trunk@1215 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-29 11:53:41 +00:00
mike@reedtribe.org
e9e08cc7b2 rename SkPtrRecorder and related wrappers to SkPtrSet, since that is the pattern
is it providing. Also add a templated wrapper to handle typecasting of ptr types.



git-svn-id: http://skia.googlecode.com/svn/trunk@1214 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-29 01:44:52 +00:00
mike@reedtribe.org
e8f754a41c update dox
git-svn-id: http://skia.googlecode.com/svn/trunk@1213 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-29 01:02:43 +00:00
tomhudson@google.com
4b33d28eb3 New 'skdiff' tool to compare two directories full of files, write diff images
into a third directory, and create a summary web page with metrics for easy
inspection of the results.



git-svn-id: http://skia.googlecode.com/svn/trunk@1200 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-27 15:39:30 +00:00
tomhudson@google.com
1447c6f7f4 Add missing flattenable registrations and CreateProc() functions;
fixes gm --serialize xfermode test case.



git-svn-id: http://skia.googlecode.com/svn/trunk@1199 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-27 14:09:52 +00:00
reed@google.com
f31663403b http://codereview.appspot.com/4436057/
Tag some more API headers with SK_API so they are exposed
when doing a DLL build.



git-svn-id: http://skia.googlecode.com/svn/trunk@1193 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 20:06:08 +00:00
reed@google.com
c009111446 http://codereview.appspot.com/4438070/
update SK_API for non-windows builds



git-svn-id: http://skia.googlecode.com/svn/trunk@1192 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 20:04:16 +00:00
reed@google.com
5b3d5349be add helper available()
git-svn-id: http://skia.googlecode.com/svn/trunk@1188 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 17:49:03 +00:00
mike@reedtribe.org
ea4ac97dec make SkDeviceFactory reference counted
git-svn-id: http://skia.googlecode.com/svn/trunk@1180 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 11:48:33 +00:00
reed@google.com
1a32d4aed2 add SK_API
git-svn-id: http://skia.googlecode.com/svn/trunk@1178 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-25 20:02:38 +00:00
reed@google.com
739456585a devolve flattening parameters to their base classes
e.g. FlattenableReadBufer -> Reader32



git-svn-id: http://skia.googlecode.com/svn/trunk@1174 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-25 19:04:27 +00:00
mike@reedtribe.org
4135f28932 code style
git-svn-id: http://skia.googlecode.com/svn/trunk@1158 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-20 11:04:30 +00:00
reed@google.com
6b7aee387d optimize when we have a colorfilter, but no shader or xfermode
git-svn-id: http://skia.googlecode.com/svn/trunk@1152 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-19 18:36:09 +00:00
reed@google.com
13659f1f8d handle overflow
note: gradient caller doesn't so we can still draw wrong when the caller
converts its initial fx from float->fixed. Perhaps SkClampRange should offer
a float interface as well.



git-svn-id: http://skia.googlecode.com/svn/trunk@1149 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-18 19:59:38 +00:00
reed@google.com
63c1ad82fc add fFx1 field, returning where to start the iterator for fCount1 range
add unittest



git-svn-id: http://skia.googlecode.com/svn/trunk@1145 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-18 14:15:36 +00:00
bsalomon@google.com
8c3ff17e2c Add DLL exports (Fixes Multi-DLL build in Chrome against TOT skia)
git-svn-id: http://skia.googlecode.com/svn/trunk@1137 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-15 15:42:24 +00:00
reed@google.com
73ccb980e9 move header
fix warning in release build



git-svn-id: http://skia.googlecode.com/svn/trunk@1136 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-15 15:31:03 +00:00
djsollen@google.com
f5dbe2f00f Upstream android changes.
reviewed by: reed


git-svn-id: http://skia.googlecode.com/svn/trunk@1134 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-15 13:41:26 +00:00
reed@google.com
2a98181f04 add SkCanvas::clear(SkColor color) to call the new virtual clear on device.
git-svn-id: http://skia.googlecode.com/svn/trunk@1131 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 18:59:28 +00:00
bsalomon@google.com
398109cc3e rename SkDevice::eraseColor to clear and make virtual.
Properly flush in GrContext before calling GrGpu::clear()

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1130 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 18:40:27 +00:00
reed@google.com
43c50c8c77 add reflection asColorMode to SkColorFilter (for gpu)
git-svn-id: http://skia.googlecode.com/svn/trunk@1126 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 15:50:52 +00:00
bsalomon@google.com
586f48cfa8 Add genID for SkBitmaps with raw pixels
Review URL: http://codereview.appspot.com/4413047/



git-svn-id: http://skia.googlecode.com/svn/trunk@1125 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 15:07:22 +00:00
reed@google.com
c0d4aa2088 fix asMode() to always succeed if the xfermode was built from a Mode
update dox to reflect this
update test



git-svn-id: http://skia.googlecode.com/svn/trunk@1121 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 21:12:04 +00:00
wjmaclean@chromium.org
1fbf760a12 Fix SkFixed overflows in SkFixedSquare, SkGradientShader.
Return SK_FixedMax when overflow occurs.

git-svn-id: http://skia.googlecode.com/svn/trunk@1117 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 13:31:06 +00:00
reed@google.com
24fb8e2cce mark viewport APIs as deprecated
git-svn-id: http://skia.googlecode.com/svn/trunk@1108 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:42:50 +00:00
reed@google.com
ad91799832 code style
git-svn-id: http://skia.googlecode.com/svn/trunk@1106 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:01:12 +00:00
mike@reedtribe.org
4e1d3acc16 code style
git-svn-id: http://skia.googlecode.com/svn/trunk@1095 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-10 01:04:37 +00:00
mike@reedtribe.org
2c8fc5a703 add init() to SkTLazy to create a default instance
use SkLazyPaint in internalDrawBitmap



git-svn-id: http://skia.googlecode.com/svn/trunk@1093 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-10 00:35:29 +00:00
mike@reedtribe.org
bcc1d33e94 coding style updates
git-svn-id: http://skia.googlecode.com/svn/trunk@1090 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-09 19:16:54 +00:00
reed@google.com
4e2b3d3fb1 Simplify drawloopers and drawfilters. This allows the canvas to keep its
promise that const SkPaint& stay const (so we don't have bugs if a const paint
is referenced from two threads in pictures)



git-svn-id: http://skia.googlecode.com/svn/trunk@1074 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-07 14:18:59 +00:00
reed@google.com
a076e9be17 use new template class SkTLazy for deferred paint initialization
git-svn-id: http://skia.googlecode.com/svn/trunk@1070 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-06 20:17:29 +00:00
vandebo@chromium.org
139d84b263 Remove transitionary version of getAdvancedTypefaceMetrics. Webkit has been updated.
Review URL: http://codereview.appspot.com/4383041

git-svn-id: http://skia.googlecode.com/svn/trunk@1068 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-06 18:18:20 +00:00
vandebo@chromium.org
c7a38f38c9 Make SkFlate buffers statically sized (fixes Windows compile).
Review URL: http://codereview.appspot.com/4357054

git-svn-id: http://skia.googlecode.com/svn/trunk@1059 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 20:11:32 +00:00
reed@google.com
62ab7addb0 export SkDraw::ComputeRectType() and share that with SkGpuDevice
git-svn-id: http://skia.googlecode.com/svn/trunk@1055 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 14:08:25 +00:00
reed@google.com
761fb62b0e reenable fast stroked rects, now that we correctly handle non-square scale
also, degenerate non-antialias rectangles now draw properly



git-svn-id: http://skia.googlecode.com/svn/trunk@1049 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 18:58:05 +00:00
mike@reedtribe.org
7ff678bc16 faster stroke rects
git-svn-id: http://skia.googlecode.com/svn/trunk@1042 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 14:38:12 +00:00
reed@google.com
50dfa0130b add pixelref->readPixels()
unimplemented (for now) on the gpu side



git-svn-id: http://skia.googlecode.com/svn/trunk@1037 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-01 19:05:36 +00:00
reed@google.com
f1ec465f87 add () to fix warning
git-svn-id: http://skia.googlecode.com/svn/trunk@1033 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-01 14:30:00 +00:00
reed@google.com
a7d948523d replace SkRefDict with SkMetaData (much more general)
git-svn-id: http://skia.googlecode.com/svn/trunk@1025 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 21:23:07 +00:00
ctguil@chromium.org
dfc5ffe478 Additional SK_API annotations needed for print preview on windows.
Review URL: http://codereview.appspot.com/4324042

git-svn-id: http://skia.googlecode.com/svn/trunk@1022 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 20:14:49 +00:00
vandebo@chromium.org
325cb9aa17 Improve the SkAdvancedTypefaceMetrics interface w.r.t. vertical advances.
Add a template function to type safe-combine bits of a bit field.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1020 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 18:36:29 +00:00
reed@google.com
e733071abe add refcnt helper to metadata
add unittests for metadata



git-svn-id: http://skia.googlecode.com/svn/trunk@1019 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 18:23:21 +00:00
reed@google.com
5e3496e555 move SkMetaData into core
git-svn-id: http://skia.googlecode.com/svn/trunk@1018 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 17:10:42 +00:00
reed@google.com
9266fed56a add getTopLayer(), so clients don't have to use a LayerIter just to get
the top. (very common for chrome)



git-svn-id: http://skia.googlecode.com/svn/trunk@1016 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 00:18:03 +00:00
reed@google.com
94f6a730bb add experimental Relay class
git-svn-id: http://skia.googlecode.com/svn/trunk@1010 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-28 03:47:18 +00:00
reed@google.com
7ff8d81290 add dox for drawPath, describing how to interpret the prePathMatrix.
git-svn-id: http://skia.googlecode.com/svn/trunk@1006 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-25 15:08:16 +00:00
reed@google.com
b123c9d997 Remove optional impl for SkClampMax that relied on not wrapping, as in fact
we do sometimes (e.g. gradients).



git-svn-id: http://skia.googlecode.com/svn/trunk@1003 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-24 19:17:31 +00:00
reed@google.com
0a0a236c3b Initialize fClip in SkBounder, in case doIRect() is called before it is used
inside a canvas (which calls setClip).

Export a global empty region. Used by SkBounder's constructor.



git-svn-id: http://skia.googlecode.com/svn/trunk@985 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-23 13:51:55 +00:00
mike@reedtribe.org
b7d956df46 add draw sample
git-svn-id: http://skia.googlecode.com/svn/trunk@966 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-20 20:19:16 +00:00
vandebo@chromium.org
57463e1908 Make SkDeviceFactory part of the API.
Review URL: http://codereview.appspot.com/4273081

git-svn-id: http://skia.googlecode.com/svn/trunk@965 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-19 17:27:49 +00:00
reed@google.com
97fa34c5f0 change operator== to return bool instead of int
update dox formating



git-svn-id: http://skia.googlecode.com/svn/trunk@956 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 14:44:42 +00:00
bsalomon@google.com
c8ad63e5e4 Initial GYP file for skia / gr. Builds SampleApp on Mac, Windows, Linux.
Review URL: http://codereview.appspot.com/4282056/

git-svn-id: http://skia.googlecode.com/svn/trunk@955 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 14:29:44 +00:00
reed@google.com
9d07fec374 update dox for setLooper()
update some { } styles



git-svn-id: http://skia.googlecode.com/svn/trunk@948 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-16 20:02:59 +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
reed@google.com
f67e4cf4c1 add filterTextFlags() to SkDevice (virtual) to allow device subclasses to
filter what text features we try to use. The filtering allows for implementation
limitations to dictate when we turn off certain text features.



git-svn-id: http://skia.googlecode.com/svn/trunk@943 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 20:56:58 +00:00
reed@google.com
98539c607b support lcd16 in text atlas (sans shader support)
git-svn-id: http://skia.googlecode.com/svn/trunk@939 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 15:40:16 +00:00
djsollen@google.com
cd9d69b9ce Upstreaming changes from android.
- fix compile warnings in the GPU code
- upstream android specific code (ifdef protected)
- fail gracefully when a custom allocator fails



git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-14 20:30:14 +00:00
reed@google.com
e31241cfe3 undo recent addition of kLCD16_Format to FormatIsLCD()
git-svn-id: http://skia.googlecode.com/svn/trunk@926 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-11 20:09:42 +00:00
reed@google.com
8bd4c7964f add kLCD16_Format to the list in FormatIsLCD()
git-svn-id: http://skia.googlecode.com/svn/trunk@920 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 19:25:22 +00:00
reed@google.com
f88d6765a5 check-point for kLCD16_Format mask support
disabled for now in SkPaint.cpp (for further testing)



git-svn-id: http://skia.googlecode.com/svn/trunk@917 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 15:06:27 +00:00
reed@google.com
63a6060fcd add realloc() to SkAutoSMalloc, plus some documentation
git-svn-id: http://skia.googlecode.com/svn/trunk@913 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 13:07:35 +00:00
reed@google.com
981d479800 http://codereview.appspot.com/3980041/
Add blitmask procs (with optional platform acceleration)
patch by yaojie.yan



git-svn-id: http://skia.googlecode.com/svn/trunk@910 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-09 12:55:47 +00:00
reed@google.com
ddbf4c85de remove unused methods from SkRefPtr, as a check-point for better understanding
what we want to do with this class.



git-svn-id: http://skia.googlecode.com/svn/trunk@903 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 16:06:06 +00:00
reed@google.com
8cad58624b add const to SkColorShader's asABitmap
git-svn-id: http://skia.googlecode.com/svn/trunk@900 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 14:51:44 +00:00
reed@google.com
7c2f27d788 make asABitmap() const
change private cache fields in gradient to be mutable



git-svn-id: http://skia.googlecode.com/svn/trunk@898 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-07 19:29:00 +00:00
reed@google.com
6f8f292aa7 add origin to device
used for interpreting the clipstack when a device is a layer



git-svn-id: http://skia.googlecode.com/svn/trunk@894 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 22:27:10 +00:00
ctguil@chromium.org
0bc7bf5fe4 Implement SkScalerContext_Windows::generateGlyphCount() and provide access via SkGlyphCache interface.
* This will be used by PDF font code.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@888 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 19:04:57 +00:00
reed@google.com
e280f1d164 bump SkStrAppendScalar_MaxSize to 15 to handle 3-digit exponents on some
platforms (like windows)



git-svn-id: http://skia.googlecode.com/svn/trunk@881 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 18:43:14 +00:00
vandebo@chromium.org
677cbedda7 Expose explicit functions to stringify float's and fixed's.
See http://codereview.appspot.com/4240050/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@880 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 18:20:12 +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
reed@google.com
1d12b1fd66 add setXYWH to rects
new tests for circles



git-svn-id: http://skia.googlecode.com/svn/trunk@877 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 13:23:35 +00:00
reed@google.com
8072e4fdc8 bump SkStrAppendScalar_MaxSize to 14 to accomodate the largest string now that
scalar->string uses %.8g. Floats have at most 8 significant digits, plus we add
more space for sign, decimal point and exponent.

add tests to check these limits.



git-svn-id: http://skia.googlecode.com/svn/trunk@872 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-01 15:44:08 +00:00
reed@google.com
a67573e25f http://codereview.appspot.com/4233041/
Add templated version of SkAutoTUnref.
Add unittests for it.
Remove unused helper apis on SkAutoUnref.



git-svn-id: http://skia.googlecode.com/svn/trunk@858 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-25 18:10:29 +00:00
vandebo@chromium.org
112706d4c5 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
2011-02-24 22:50:55 +00:00
reed@google.com
93c5f9e787 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
2011-02-24 18:09:46 +00:00