Commit Graph

430 Commits

Author SHA1 Message Date
reed@google.com
8260a89586 move into utils
git-svn-id: http://skia.googlecode.com/svn/trunk@1563 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-13 14:02:52 +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
Scroggo
aed68d999b Make linux sample app work on my laptop. Reviewed at http://codereview.appspot.com/4568050/
git-svn-id: http://skia.googlecode.com/svn/trunk@1539 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-08 14:26:00 +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
bungeman@google.com
3b0a8da8a5 Add EGL context for Windows.
http://codereview.appspot.com/4517133/


git-svn-id: http://skia.googlecode.com/svn/trunk@1481 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-02 15:38:06 +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
bungeman@google.com
206c98ae40 Add gyp for bench and make run on Windows.
http://codereview.appspot.com/4528112/


git-svn-id: http://skia.googlecode.com/svn/trunk@1458 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-31 21:21:54 +00:00
vandebo@chromium.org
d897bfb76f [PDF] Add pages accessor to SkPDFDocument.
Also add SK_API to SkPDFPage::getFontResources.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1453 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-31 18:18:21 +00:00
Scroggo
f33d153732 Port the SampleApp (raster) to Android.
git-svn-id: http://skia.googlecode.com/svn/trunk@1452 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-31 17:10:21 +00:00
vandebo@chromium.org
3509f05081 Add more SK_API declarations to fix Chrome.
TBR=ctguil@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1445 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-30 20:52:33 +00:00
vandebo@chromium.org
f0ec2666d9 [PDF] Add plumbing and accessors so that Chrome can record the font types used in a PDF.
- Add a font type accessor to SkPDFFont.
- Plumb font resource retrivial up to SkPDFPage.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1444 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-29 05:55:42 +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
vandebo@chromium.org
19e3c1ed1b [PDF] Reuse the invert function object for xform object masks.
Review URL: http://codereview.appspot.com/4557046

git-svn-id: http://skia.googlecode.com/svn/trunk@1417 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-25 00:41:30 +00:00
vandebo@chromium.org
13d14a9dbd [PDF] Rename ContentEntryAccessor to ScopedContentEntry.
Review URL: http://codereview.appspot.com/4515134

git-svn-id: http://skia.googlecode.com/svn/trunk@1416 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-24 23:12:41 +00:00
vandebo@chromium.org
61d267879b [PDF] Fix regression - correct for fInitialTrnasform in form xobjects.
Chrome bug http://crbug.com/83658

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1415 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-24 23:02:07 +00:00
vandebo@chromium.org
b069c8cfcd [PDF] Add helper class to manage ContentEntry set up and completion.
This stack object helper class calls finishContentEntry when it goes out of scope, maintains the current content entry, and manages the dst form xobject when it is needed.  This can be made cleaner by moving the guts of SkPDFDevice into a core object, which can expose setUp/finishContentEntry as public, but that is left as a todo.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1409 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-24 17:19:38 +00:00
vandebo@chromium.org
481aef6833 [PDF] Add clip support and some optimizations for "complex" xfer modes.
For Clear, Src, Dst/Src-In/Out, we have to consider the current clip, and
potentially draw Dst, clipped to the inverse of the current clip before
doing the operation of interest.

For clear or src, if we haven't drawn anything, or the clip is empty, there's
nothing to be done.
For Src/Dst-In/Out, if either is empty, the result is empty.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1407 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-24 16:39:05 +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
80b09de87f add optoinal bytesRead argument (output) to playback()
git-svn-id: http://skia.googlecode.com/svn/trunk@1400 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-23 13:54:24 +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
bungeman@google.com
0e45441994 Add Mesa as a GL backend.
http://codereview.appspot.com/4545055/


git-svn-id: http://skia.googlecode.com/svn/trunk@1382 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-19 17:47:02 +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
vandebo@chromium.org
466f3d66f0 [PDF] Implement clear xfermode with a mask instead of pushing the clip down.
This approach is much less likely to use an SkRegion and ends up working better for Webkit.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1375 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 23:06:29 +00:00
vandebo@chromium.org
8989d31cf0 [PDF] Fix windows compile warning.
Review URL: http://codereview.appspot.com/4545056

git-svn-id: http://skia.googlecode.com/svn/trunk@1374 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-18 22:10:09 +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
reed@google.com
1fbb30051a add more keys
git-svn-id: http://skia.googlecode.com/svn/trunk@1357 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 20:44:54 +00:00
vandebo@chromium.org
ff3903202e [PDF] Improve path effect and drawPath(prePathMatrix) support.
Add path effect handling for drawPoints (via drawPath).
Move path effect handling from drawRect to drawPath.
Add prePathMatrix support to drawPath.

BUG=crbug.com/82849

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1354 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 18:58:44 +00:00
epoger@google.com
2047f00e46 get tests closer to passing for SKIA_SCALAR=fixed
http://codereview.appspot.com/4532064/



git-svn-id: http://skia.googlecode.com/svn/trunk@1351 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 17:36:59 +00:00
bungeman@google.com
16bab87a78 Add GL context creation for X so that gm can run GPU on Linux.
http://codereview.appspot.com/4548047/


git-svn-id: http://skia.googlecode.com/svn/trunk@1343 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-17 14:24:46 +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
07f3ee10d3 use SkPath for GrPath, removing GrPathIter entirely
http://codereview.appspot.com/4515071/



git-svn-id: http://skia.googlecode.com/svn/trunk@1335 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 17:21:57 +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
Scroggo
d757df2b1b Optimize colorfilter path when using a constant color.\nReviewed at http://codereview.appspot.com/4548041/
git-svn-id: http://skia.googlecode.com/svn/trunk@1328 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-16 13:11:16 +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
vandebo@chromium.org
6112c215fb [PDF] Add support for SrcIn, SrcOut, DstIn, DstOut xfermodes.
This change uses the soft mask (aka soft clip) functionality of PDF to implement the xfermodes.  It has to put existing content (dst) into a form xobject as well as putting the new (src) content into a different form xobject.  It then draws one of them with the other as the soft mask.
To accomplish this, we add a call to finishContentEntry after each call to setUpContentEntry - this is kind of a hack, but I don't see a better way to extract src.
Unfortunately, soft mask is specified in the Graphic State PDF object (and not in the form xobject), so when handling one of these modes, we add a one time GS object to set the soft mask and invoke a simple GS to reset the soft mask when done.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1320 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-13 03:50:38 +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
vandebo@chromium.org
78dad54080 [PDF] Fix Chrome crash - don't assume that SkDraw.fClipStack != NULL.
Chrome bug is crbug.com/82198.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1306 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-11 18:46:03 +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
25adce81ce [PDF] Add support for Clear, Src, Dst, DstOver xfermodes.
This uses the refactoring in http://codereview.appspot.com/4459041/ to add support for additional xfer modes.  Calling setupContentEntry may affect previous content entries (removing, reordering, or modifying their clip) and indicates to the caller if it should draw the new item or not.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1271 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 08:05:01 +00:00