Commit Graph

331 Commits

Author SHA1 Message Date
reed@android.com
0e3c664250 use rowbytes instead of bounds.width()
git-svn-id: http://skia.googlecode.com/svn/trunk@356 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-18 13:41:56 +00:00
reed@android.com
ab7ac026d2 more float/double precision tweaks
git-svn-id: http://skia.googlecode.com/svn/trunk@355 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-18 13:38:43 +00:00
reed@android.com
0b9e2dbf2f use doubles in matrix.invert() to keep more precision, needed for subtle
bugs when drawing stretched bitmaps (like ninepatch) at nasty scale factors
like 1.5 (where the inverse matrix steps 0.333333, 1.0, 1.666667, etc.)



git-svn-id: http://skia.googlecode.com/svn/trunk@354 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-16 17:00:17 +00:00
reed@android.com
ed881c2704 add neon opts for matrix procs
git-svn-id: http://skia.googlecode.com/svn/trunk@353 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-15 14:10:42 +00:00
reed@android.com
ebdeeb8a01 don't magically convert to hairline unless we're < 1.0 in both X and Y. The new routine both checks,
and if legal, returns the new width which will be used to compute a modulated alpha.



git-svn-id: http://skia.googlecode.com/svn/trunk@352 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-03 21:45:49 +00:00
reed@android.com
e9d0060f4d add decode bench
add dictionary for bench tools to see optional cmdline args



git-svn-id: http://skia.googlecode.com/svn/trunk@351 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-02 21:12:42 +00:00
reed@android.com
34e85803c2 update
git-svn-id: http://skia.googlecode.com/svn/trunk@350 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-02 21:11:44 +00:00
reed@android.com
47ca036e29 add
git-svn-id: http://skia.googlecode.com/svn/trunk@349 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-02 02:07:45 +00:00
reed@android.com
de2e7fb96d more unittests (already found/fixed some bugs)
git-svn-id: http://skia.googlecode.com/svn/trunk@348 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-02 02:07:32 +00:00
reed@android.com
e50025a656 rename std words to be UPPER CASE (ugh)
add initial unittests for std words (more to do)



git-svn-id: http://skia.googlecode.com/svn/trunk@347 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-01 21:00:44 +00:00
reed@android.com
113244f1e1 add tests for extractAlpha
git-svn-id: http://skia.googlecode.com/svn/trunk@346 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-31 21:04:24 +00:00
reed@android.com
289e4fca43 add missing files
git-svn-id: http://skia.googlecode.com/svn/trunk@345 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-31 18:04:51 +00:00
reed@android.com
19a89f287f add boolean tests and IF/ELSE/END
git-svn-id: http://skia.googlecode.com/svn/trunk@344 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-30 03:24:51 +00:00
reed@android.com
f56e295e88 experimental hack to write a forth engine to drive skia
git-svn-id: http://skia.googlecode.com/svn/trunk@343 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-29 21:30:25 +00:00
reed@android.com
a03a70124d return noErr in clickhandler, so we can get mousemoved events
git-svn-id: http://skia.googlecode.com/svn/trunk@342 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-29 20:33:39 +00:00
reed@android.com
a964028843 http://code.google.com/p/skia/issues/detail?id=32
Detect when we no longer have a valid range for chopping due to finite float
precision, and just return a degenerate cubic at the end.



git-svn-id: http://skia.googlecode.com/svn/trunk@341 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-28 20:06:54 +00:00
reed@android.com
28937283e1 fix gaps in antialiased hairlines (thanks to preda)
expand SampleHairline text to check for clip violations



git-svn-id: http://skia.googlecode.com/svn/trunk@340 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-28 15:34:46 +00:00
reed@android.com
3c9b2a4a0e expand SkShader's flag kConstInY to 16 and 32 variants, allowing a shader
(like gradients) to support predithering. If they do, then they would suppress
kConstInY16, since they no longer are const.

The blitters now check for each flag separately, so we don't have to give up
const-in-Y in the 32bit case, since in that mode we don't care about dithering.



git-svn-id: http://skia.googlecode.com/svn/trunk@339 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-27 19:28:37 +00:00
reed@android.com
2a4d1ff189 allow the gamma to be changed at runtime
git-svn-id: http://skia.googlecode.com/svn/trunk@338 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-26 18:09:58 +00:00
reed@android.com
ff3e92d2f8 show the hairlines after each test iteration
git-svn-id: http://skia.googlecode.com/svn/trunk@337 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-25 20:40:04 +00:00
reed@android.com
c64599649b special case 1x1 bitmaps when drawn as a shader (treat as a solid color)
git-svn-id: http://skia.googlecode.com/svn/trunk@336 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-25 19:15:31 +00:00
reed@android.com
593847a0e0 fix overflow in qsort compare proc
git-svn-id: http://skia.googlecode.com/svn/trunk@335 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-25 18:14:50 +00:00
reed@android.com
0da41dbf5b add detach() method
git-svn-id: http://skia.googlecode.com/svn/trunk@334 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-25 16:03:59 +00:00
reed@android.com
1cdcb5138f fix warning in sampler
lock pixels when we extract alpha
disabling hinting when linear-text is set



git-svn-id: http://skia.googlecode.com/svn/trunk@333 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-24 19:11:00 +00:00
reed@android.com
69255fb503 update gm images with new corrected dithering
git-svn-id: http://skia.googlecode.com/svn/trunk@332 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-22 03:48:59 +00:00
reed@android.com
cafc9f9e80 fixes around isOpaque and dithering
- copyTo() now preserves isOpaqueness, and BitmapCopyTest tests it
- bitmap shader doesn't claim to have shadespan16 if dithering is on, since its
  sampler doesn't auto-dither (note that gradients do auto-dither in their
  16bit sampler)
- blitter setup just relies on the shader to report if its 16bit sampler can be
  called (allowing gradients to say yes regardless of dither, but bitmaps to say
  no if dithering is on)



git-svn-id: http://skia.googlecode.com/svn/trunk@331 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-22 03:44:57 +00:00
senorblanco@chromium.org
c41513c4da Add a sanity check to MaskSuperBlitter::blitH(), to avoid a subsequent
crash in *Blitter::blitMask(), and add some more asserts.

http://codereview.appspot.com/110050
http://crbug.com/17569



git-svn-id: http://skia.googlecode.com/svn/trunk@330 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-21 22:00:12 +00:00
deanm@chromium.org
d5ed395048 Fix compliation on gcc-4.3 and ARMv5T
- smulbb is only on ARMv5TE and above (p316, ARM Architecture Reference Manual)
 - an empty clobber list causes a compiler error with my compiler, gcc-4.3.2

Patch by Joel Stanley <joel@jms.id.au>

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


git-svn-id: http://skia.googlecode.com/svn/trunk@329 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-21 17:17:35 +00:00
reed@android.com
755dd4773d respect dither setting in index8->565 sprite case
git-svn-id: http://skia.googlecode.com/svn/trunk@328 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-20 21:29:45 +00:00
deanm@chromium.org
8430cd15bc Fix flipped text orientation on Windows.
Review URL: http://codereview.appspot.com/104105


git-svn-id: http://skia.googlecode.com/svn/trunk@327 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 23:09:52 +00:00
reed@android.com
b049eab2e7 update location of SkNWayCanvas.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@326 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 19:58:53 +00:00
reed@android.com
92a50eaab9 close out previous contour (so we don't miss the last segment)
git-svn-id: http://skia.googlecode.com/svn/trunk@325 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 19:27:37 +00:00
reed@android.com
6c5f6f25b4 add 'r' (rotate) 's' (scale) options to SampleApp to test those matrix ops on
all slides

add beforeChild/afterChild methods for parents to wack the canvas before/after
it draws. These are called after the std child-view translate and clip, unlike
beforeChildren/afterChildren



git-svn-id: http://skia.googlecode.com/svn/trunk@324 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 16:08:38 +00:00
reed@android.com
a2b2c4ba53 fix typo in matrix proc index computation, where we were always taking the
perspective case when affine would have been enough (and lots faster).



git-svn-id: http://skia.googlecode.com/svn/trunk@323 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 15:47:14 +00:00
reed@android.com
4c128c4917 add method to compute max count for a given buffer size in the bitmap shader.
fix bug in quad loop of fill_sequential where we were going one quad too far.



git-svn-id: http://skia.googlecode.com/svn/trunk@322 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 13:54:37 +00:00
reed@android.com
a3122b9b1e bzero SkPaint in its constructor, to allow us to cleanly use memcmp in our
operator==, given that we may be padded and not know how to init those pad bytes



git-svn-id: http://skia.googlecode.com/svn/trunk@321 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-13 20:38:25 +00:00
reed@android.com
07d1f008b3 add special matrixprocs when the matrix is at most translate. These are faster
(somewhat) than their scale counterparts, but are also numerically exact for
any size bitmaps. The scale versions, because they operate in a scaled 65535
space, are not always exact for large images (due to SK_Fixed1 / width) loss of
bits



git-svn-id: http://skia.googlecode.com/svn/trunk@320 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-13 19:35:48 +00:00
reed@android.com
f7d5726730 test for non-scaled bitmap tiles
git-svn-id: http://skia.googlecode.com/svn/trunk@319 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-13 19:33:44 +00:00
reed@android.com
4d85059920 add benchmark for repeat-tile bitmaps
git-svn-id: http://skia.googlecode.com/svn/trunk@318 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-12 20:30:58 +00:00
senorblanco@chromium.org
feef49c4d1 Add some SkASSERT's, to try to track down a reliability issue in Chrome.
http://codereview.appspot.com/105075
http://crbug.com/17569



git-svn-id: http://skia.googlecode.com/svn/trunk@317 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-12 20:21:49 +00:00
reed@android.com
0c1cda7e6b remove unneeded (empty) virtual destructor
git-svn-id: http://skia.googlecode.com/svn/trunk@316 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-12 18:51:06 +00:00
reed@android.com
95dbb9c038 fixes wacky build on android. no other explanation received
git-svn-id: http://skia.googlecode.com/svn/trunk@315 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-11 20:01:33 +00:00
reed@android.com
fb03cc7b49 fix validate() to note that an empty path can (by side-effect) have an empty but
translated fBounds



git-svn-id: http://skia.googlecode.com/svn/trunk@314 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-11 19:54:35 +00:00
agl@chromium.org
558434a9e1 FreeType: fix garbled bitmap glyphs.
At some point (probably in one of the LCD patches), the fMaskFormat
for bitmap glyphs changed from kA8 to kBW. Formerly, bitmap glyphs
were always transformed into A8 format. With this patch, we check the
fMaskFormat and pick the correct transform at run time.

http://code.google.com/p/chromium/issues/detail?id=18531
http://codereview.appspot.com/104071


git-svn-id: http://skia.googlecode.com/svn/trunk@313 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-11 17:22:38 +00:00
agl@chromium.org
4484d23ab4 Remove assertion in getAddrLCD.
Because the underlying mask extends a pixel to the left and right (or
top and bottom on vertical LCDs), the requested pixel can actaully be
one pixel outside the bounds, thus this assertion is incorrect.

http://codereview.appspot.com/105077


git-svn-id: http://skia.googlecode.com/svn/trunk@312 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-11 17:21:21 +00:00
reed@android.com
cd21c809a9 remove dead code
git-svn-id: http://skia.googlecode.com/svn/trunk@311 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-11 15:35:36 +00:00
agl@chromium.org
e0d089900e FreeType: don't use bitmap strikes when antialiasing
If the user requested anti-aliasing then we don't use bitmap strikes
in the font. The consensus among our Japanese users is that this
results in the best quality.

http://code.google.com/p/chromium/issues/detail?id=18333

http://codereview.appspot.com/105050


git-svn-id: http://skia.googlecode.com/svn/trunk@310 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-07 19:19:23 +00:00
reed@android.com
152f748386 more neon work:
- remove neon-specific functions that were not faster than the C version
- move the neon filter function to its own header, so it could be use in more places



git-svn-id: http://skia.googlecode.com/svn/trunk@309 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-07 19:14:34 +00:00
reed@android.com
cf45bf8439 update make for nwaycanvas
remove obsolete opts_neon dir



git-svn-id: http://skia.googlecode.com/svn/trunk@308 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-04 19:21:28 +00:00
reed@android.com
29348cb061 add -forceFilter to bench tool
move some utils out of effects/



git-svn-id: http://skia.googlecode.com/svn/trunk@307 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-04 18:17:15 +00:00