Commit Graph

7610 Commits

Author SHA1 Message Date
reed@android.com
c9a1d4b519 add platformProcs() porting function
git-svn-id: http://skia.googlecode.com/svn/trunk@301 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-03 15:05:55 +00:00
reed@android.com
eef375bcd6 clean up SkBitmapProcState in preparation for adding porting-layer functions
git-svn-id: http://skia.googlecode.com/svn/trunk@300 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-03 14:45:45 +00:00
reed@android.com
ac98154faa add GetFileName api to SkFontHost
git-svn-id: http://skia.googlecode.com/svn/trunk@299 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-31 16:17:01 +00:00
reed@android.com
61608aaf93 fix #endif placement so it works when LCD support is not defined
git-svn-id: http://skia.googlecode.com/svn/trunk@298 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-31 14:52:54 +00:00
reed@android.com
4bda7a5e68 add opts for neon
git-svn-id: http://skia.googlecode.com/svn/trunk@297 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-30 20:40:47 +00:00
reed@android.com
ed7bd9b4d3 add opts files to the make
git-svn-id: http://skia.googlecode.com/svn/trunk@296 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-30 02:25:54 +00:00
reed@android.com
7d2e322bee add optimization table for blitproc functions
git-svn-id: http://skia.googlecode.com/svn/trunk@295 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-30 02:22:31 +00:00
reed@android.com
b6137c3139 remove auto-upscaling from base class (breaks model for allocators) but improve
the upscaling inside the png codec.



git-svn-id: http://skia.googlecode.com/svn/trunk@294 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-29 20:56:52 +00:00
agl@chromium.org
f18d876001 Add runtime detection for missing subpixel support in FreeType.
r291 added support for building on platforms where subpixel support
has been compiled out of FreeType. However, it turns out that there is
a common situation in which we build on platforms with subpixel
support, but have to run without it: people downloading Chromium from
the buildbots.

Because we this, we need a runtime solution. Modifying the conversion
routines for this seems suboptimal because the extra branches will
slow down everyone. So we probe subpixel support at runtime by trying
to install a low-pass filter. If we fail at this, then we map all the
SkScalerContext::Rec structures to remove subpixel mode.

http://codereview.appspot.com/98057


git-svn-id: http://skia.googlecode.com/svn/trunk@293 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-28 18:38:08 +00:00
agl@chromium.org
5ebd88eb24 Revert "Support subpixel text when FreeType is built without such support."
This reverts commit r291. It will be replaced with another solution in the next
commit.


git-svn-id: http://skia.googlecode.com/svn/trunk@292 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-28 18:38:04 +00:00
agl@chromium.org
ac3011c6d4 Support subpixel text when FreeType is built without such support.
On Fedora, at least, FreeType is built without subpixel support. It
tries to simulate subpixel mode by replicating the gray-values three
times. However, it fails to simulate the actions of the low-pass
filter and so doesn't add border around the glyphs. This patch adds a
compile-time constant, which is the number of bytes of filter border.
If this value is zero (because FreeType is simulating subpixel
support), then we add a transparent border ourselves when transforming
from FreeType rendered glyphs to masks.

http://codereview.appspot.com/96171


git-svn-id: http://skia.googlecode.com/svn/trunk@291 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-28 00:02:42 +00:00
reed@android.com
e4d0bc0b57 add filterrec logic for subpixel and slight-hinting
git-svn-id: http://skia.googlecode.com/svn/trunk@289 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-24 19:53:20 +00:00
agl@chromium.org
e61238b4f6 Build fix: add FilterRec for Windows.
Since we don't control the settings on Windows, I believe we may just
as well filter everything.

TBR=reed

http://codereview.appspot.com/97070


git-svn-id: http://skia.googlecode.com/svn/trunk@288 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-23 21:10:32 +00:00
reed@android.com
bfbd4fff66 fix uninitialized library variable
git-svn-id: http://skia.googlecode.com/svn/trunk@287 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-23 17:44:41 +00:00
reed@android.com
659aaf9e9a fix warnings (unused local var)
git-svn-id: http://skia.googlecode.com/svn/trunk@285 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-23 15:20:21 +00:00
agl@chromium.org
bd2724f672 Fix valgrind warnings triggered in vertical mode.
Now that Chrome is rendering subpixel text, I was able to try running
the renderer process under valgrind, which turned up a number of
issues.

First, I was calculating the stride of vertical LCD glyphs wrong
(typo).

Secondly, I was going horribly wrong when a glyph was being blitted at
the edge of a bitmap. I suspected something was wrong with the code,
but I wasn't clear enough with the structure of the code when writing
it to figure out what the correct solution was.

http://codereview.appspot.com/97059


git-svn-id: http://skia.googlecode.com/svn/trunk@284 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 21:50:59 +00:00
reed@android.com
36a4c2aa2d Add SkFontHost::FilterRect() which allows the font host to filter our request
before we turn it into a font-cache entry, for the cases where the scaler will
ignore and/or collapse certain feature requests (e.g. doesn't support all levels
of hinting)



git-svn-id: http://skia.googlecode.com/svn/trunk@283 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 19:52:11 +00:00
reed@android.com
f549369fcd rename SK_BUILD_SUBPIXEL to SK_SUPPORT_LCDTEXT to better match the name of the
feature (since we already have subpixel text support)

fix some debug-compile problems

update Makefile for lcd files



git-svn-id: http://skia.googlecode.com/svn/trunk@282 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 19:21:01 +00:00
reed@android.com
01f82da73b remove crufty #undefs
git-svn-id: http://skia.googlecode.com/svn/trunk@281 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 17:11:41 +00:00
reed@android.com
9da1ae3f35 fix NaN in path iterator
fix case where cubic is big/degenerate, and never returns a valid edge



git-svn-id: http://skia.googlecode.com/svn/trunk@280 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 17:06:15 +00:00
agl@chromium.org
84346211aa Remove unused variable to fix warning on Windows:
src\core\SkBlitter_ARGB32.cpp(362) : warning C4101: 'alpha32' : unreferenced local variable


git-svn-id: http://skia.googlecode.com/svn/trunk@278 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 18:07:42 +00:00
agl@chromium.org
1a18cdc85f Mac: fix SkFontHost_mac.cpp to work with the new hinting interface.
git-svn-id: http://skia.googlecode.com/svn/trunk@277 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 18:05:59 +00:00
agl@chromium.org
2db1177fd5 Delete duplicated code.
patch went wrong and duplicated SkFontHost.cpp.


git-svn-id: http://skia.googlecode.com/svn/trunk@276 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 17:52:08 +00:00
agl@chromium.org
309485b7b5 Subpixel glyph rendering support.
This patch adds support for rendering subpixel glyphs (using
Freetype). In order to control this rendering see
SkPaint::setLCDRenderText in SkPaint.h.

To setup the LCD mode, see SkFontHost::SetSubpixelOrientation and
SkFontHost::SetSubpixelOrder in SkFontHost.h.

This patch also adds more fine grained control over hinting (again,
only for Freetype currently). One can now control the hinting with
SkPaint::setHinting.


git-svn-id: http://skia.googlecode.com/svn/trunk@275 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 17:41:32 +00:00
reed@android.com
a380ae4a9a fix quickReject() to handle perspective correctly (i.e. transform forward into
dst-space, and perform the clip-test there).



git-svn-id: http://skia.googlecode.com/svn/trunk@274 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 01:17:02 +00:00
reed@android.com
aa9152abbc add special proc for repeat 16->16 filter bitmap shader
git-svn-id: http://skia.googlecode.com/svn/trunk@273 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-17 21:24:56 +00:00
reed@android.com
2a679d27f8 remove obsolete header
git-svn-id: http://skia.googlecode.com/svn/trunk@272 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-17 15:28:17 +00:00
reed@android.com
83f7bc30af remove conditional build flag for mipmaps
remove obsolete SkBitmapShader.cpp file



git-svn-id: http://skia.googlecode.com/svn/trunk@271 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-17 02:42:41 +00:00
reed@android.com
48534f96b9 first cut at support for HW-specific blits/etc.
git-svn-id: http://skia.googlecode.com/svn/trunk@270 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-16 20:53:26 +00:00
reed@android.com
9ce2257729 quick return if we just want the bounds
git-svn-id: http://skia.googlecode.com/svn/trunk@269 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-16 14:50:54 +00:00
reed@android.com
a44b4cc797 try our first special-case shaderproc
git-svn-id: http://skia.googlecode.com/svn/trunk@268 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-16 02:03:58 +00:00
reed@android.com
7a99eb1c63 add shaderprocs for all-in-one special blits (matrix+sampler)
git-svn-id: http://skia.googlecode.com/svn/trunk@267 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-16 01:13:14 +00:00
reed@android.com
b4f404ac41 handle cap==round for drawPoints
git-svn-id: http://skia.googlecode.com/svn/trunk@266 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-10 17:02:17 +00:00
reed@android.com
b602b8e533 tweaks to 16bit shaders
fix typo-bug in 4444 blend case



git-svn-id: http://skia.googlecode.com/svn/trunk@265 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-10 15:58:53 +00:00
reed@android.com
32a4249cbd make a deep copy in CreateCGImageRef if we're 565, but first upscale to 32bit.
this at least draws the right colors, since we're 565 and CG only supports 1555
(unless someone knows how to tell CG we're 565...)

Fix ws in picturerecord

Enable dither in sample gradients, so the 4444 case isn't so ugly



git-svn-id: http://skia.googlecode.com/svn/trunk@264 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-10 03:33:52 +00:00
reed@android.com
dafaf7ac4d speedup 16bit shaders in the blitRect case
faster 32->16 blend by using the expand_16 intermediate format



git-svn-id: http://skia.googlecode.com/svn/trunk@263 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-10 03:05:59 +00:00
reed@android.com
b4e22d62da check for underflow in restore() during picture record, and ignore it
git-svn-id: http://skia.googlecode.com/svn/trunk@262 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-09 15:20:25 +00:00
reed@android.com
1134426f6b respect preferred config when png is index-based
git-svn-id: http://skia.googlecode.com/svn/trunk@261 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 20:09:23 +00:00
reed@android.com
40443b2371 fix (aaaargh) white-space
git-svn-id: http://skia.googlecode.com/svn/trunk@260 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 15:11:19 +00:00
reed@android.com
31745581ca use scalarcomparetype in matrix tests, so we don't do anything tricky
(unnecessary) when floats are fast



git-svn-id: http://skia.googlecode.com/svn/trunk@259 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 14:46:11 +00:00
reed@android.com
187d559590 add dox for scalarcomparetype
use internal mutable version of drawPath when we've cons'd up a path on behalf
of a rect



git-svn-id: http://skia.googlecode.com/svn/trunk@258 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 14:03:56 +00:00
reed@android.com
b9b9a18ab4 use genericRGB space to ensure that we decode exactly the pixels we encode
add -r option to gm to read and compare against known images



git-svn-id: http://skia.googlecode.com/svn/trunk@256 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 02:54:47 +00:00
reed@android.com
6189877c50 add support for encoding Index8 bitmaps into png
git-svn-id: http://skia.googlecode.com/svn/trunk@254 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-07 19:38:01 +00:00
reed@android.com
3d06a8c38d add FIXME to comment
git-svn-id: http://skia.googlecode.com/svn/trunk@253 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-07 18:19:59 +00:00
reed@android.com
e18f9dff7a initialize fShapeCount in init()
git-svn-id: http://skia.googlecode.com/svn/trunk@252 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-07 13:25:15 +00:00
reed@android.com
084ad42b91 fix white-space
git-svn-id: http://skia.googlecode.com/svn/trunk@251 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-07 13:20:37 +00:00
deanm@chromium.org
da94699149 Optimize some alpha blending modes.
- Inline the component calculation helpers.
- Reorder the computation in plus_modeproc.

This doubles the performance of plus_modeproc.

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


git-svn-id: http://skia.googlecode.com/svn/trunk@250 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-03 12:54:24 +00:00
reed@android.com
8433b5db1a more checks for null shapes in pictures
git-svn-id: http://skia.googlecode.com/svn/trunk@249 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-03 02:52:27 +00:00
reed@android.com
1c12abe350 fix gradients with alpha to convert to premul *after* the intermediate color
has been computed, othewise we can't distinguish 0x00000000 from 0x00FF0000
Add fast case for index blit where we read 4 src pixels at a time



git-svn-id: http://skia.googlecode.com/svn/trunk@248 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-02 15:01:02 +00:00
reed@android.com
ab840b81a9 remove (ack) test code in lineargradient when pos array is null
git-svn-id: http://skia.googlecode.com/svn/trunk@247 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-01 17:00:03 +00:00
deanm@chromium.org
bff8e29eaf Fix a precedence error in an assert in the fontconfig host.
Review URL: http://codereview.appspot.com/90060


git-svn-id: http://skia.googlecode.com/svn/trunk@246 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-01 07:49:44 +00:00
reed@android.com
a545a5598e fix config check to include SkColorPriv.h so we don't get the warning w/o need
git-svn-id: http://skia.googlecode.com/svn/trunk@245 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 17:07:19 +00:00
reed@android.com
4516f4786f use sk_bzero instead of bzero, since it isn't always available.
git-svn-id: http://skia.googlecode.com/svn/trunk@244 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 16:25:36 +00:00
reed@android.com
4b7577b042 add unittest for matrix::flatten
define constant for max value flatten/unflatten can return (so clients can put
the buffer on the stack)



git-svn-id: http://skia.googlecode.com/svn/trunk@243 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 16:14:41 +00:00
reed@android.com
0ad336f8c6 add shape flatten so they work properly in pictures
add flatten/unflatten to matrix



git-svn-id: http://skia.googlecode.com/svn/trunk@242 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 16:02:20 +00:00
reed@android.com
09b84a00f7 add shape recording to pictuures (sans serialization)
git-svn-id: http://skia.googlecode.com/svn/trunk@240 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-26 20:22:26 +00:00
reed@android.com
0baf193754 detect nearly translate-only matrices when drawing bitmaps (for speed)
rename setXfermode(Mode) to setXfermodeMode(Mode) for sanity
fix memory leak in setXfermode(Mode)



git-svn-id: http://skia.googlecode.com/svn/trunk@239 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-24 12:41:42 +00:00
reed@android.com
d66eef7101 fix memory leak in new setXfermode()
git-svn-id: http://skia.googlecode.com/svn/trunk@238 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-24 12:29:16 +00:00
reed@android.com
048522dd2a remove remaining references to porterduff
git-svn-id: http://skia.googlecode.com/svn/trunk@236 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-23 12:19:41 +00:00
reed@android.com
845fdaca17 remove deprecated use of porterduff enum
git-svn-id: http://skia.googlecode.com/svn/trunk@235 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-23 03:01:32 +00:00
reed@android.com
8ede49268d merge in change from chrome to detect when the byte order for 8888 requires
additional CGBitmapInfo flags (e.g. for bigendian)



git-svn-id: http://skia.googlecode.com/svn/trunk@233 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-22 20:04:33 +00:00
reed@android.com
a0f5d1546d move xfermode modes from porterduff into xfermode itself
git-svn-id: http://skia.googlecode.com/svn/trunk@232 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-22 17:38:10 +00:00
reed@android.com
8015dd83ae almost there on gm (need to fix image writes/reads/compares)
move SkAutoGraphics into SkGraphics.h
add [] operators to SkString



git-svn-id: http://skia.googlecode.com/svn/trunk@228 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-21 00:49:18 +00:00
reed@android.com
90e764e3d9 update to latest api (need a test for this port!)
git-svn-id: http://skia.googlecode.com/svn/trunk@225 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-19 20:35:36 +00:00
deanm@chromium.org
5c44d321d0 Make sure we have a non-null FreeType face before dereferencing it.
This prevents a NULL pointer crash in generateFontMetrics with some fonts.

Patch by Lei Zhang.  Original Chromium bug: http://code.google.com/p/chromium/issues/detail?id=13007

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


git-svn-id: http://skia.googlecode.com/svn/trunk@224 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-19 08:57:16 +00:00
reed@android.com
a16cb97c89 really fix gif movie registration
git-svn-id: http://skia.googlecode.com/svn/trunk@223 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-18 20:26:58 +00:00
reed@android.com
5df93eada5 fix stupid tabs
git-svn-id: http://skia.googlecode.com/svn/trunk@222 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-18 18:52:22 +00:00
reed@android.com
8540a79396 add registrar for gif movie
git-svn-id: http://skia.googlecode.com/svn/trunk@221 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-18 17:53:12 +00:00
reed@android.com
0ea42c1d2c fallback to drawing a line if the cubic is still too curvy, even if we've
exhausted our recursive attempts to subdivide.

Fixes trying to stroke this cubic (width==1.0)

    path.moveTo(460.2881309415525, 303.250847066498);
    path.cubicTo(463.36378422175284, 302.1169735073363,
                 456.32239330810046, 304.720354932878,
                 453.15255460013304, 305.788586869862);



git-svn-id: http://skia.googlecode.com/svn/trunk@219 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-17 19:21:01 +00:00
reed@android.com
31d1c64bd5 ws fixes
git-svn-id: http://skia.googlecode.com/svn/trunk@217 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-15 18:45:19 +00:00
reed@android.com
9a74d31345 create separate opaque version of rgb16 blitter
git-svn-id: http://skia.googlecode.com/svn/trunk@216 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-15 15:56:35 +00:00
reed@android.com
b3ade9d1b0 add optional Format* parameter to decoder helper functions.
git-svn-id: http://skia.googlecode.com/svn/trunk@215 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-15 13:04:45 +00:00
reed@android.com
5119bdb952 add shader flag kConstInY_Flag
this signals blitters that the shader will return the same results for a given
x value, independent of y. Useful inside blitRect(), where it can cache the
first call to shadeSpan() and reuse it on all subsequent scans. Works with
(non-rotated) linear-gradients, and Nx1 bitmaps.



git-svn-id: http://skia.googlecode.com/svn/trunk@214 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 21:27:03 +00:00
reed@android.com
b2c5f2d260 make the same prerounding fix for the shadeSpan16 case
git-svn-id: http://skia.googlecode.com/svn/trunk@213 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 20:09:24 +00:00
reed@android.com
c552a43c7f preround our fx fractional coordiante, so we get rounded integers (0..255) when
stepping through the gradient.



git-svn-id: http://skia.googlecode.com/svn/trunk@212 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 20:02:50 +00:00
reed@android.com
b34086a37f add experimental state tracker for opengl
git-svn-id: http://skia.googlecode.com/svn/trunk@211 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 19:49:30 +00:00
deanm@chromium.org
1220e1c28a Some Linux / 64-bit compile fixes.
Review URL: http://codereview.appspot.com/63189


git-svn-id: http://skia.googlecode.com/svn/trunk@209 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-11 12:26:47 +00:00
reed@android.com
199f108f14 only call SkDevice::gainFocus() if we're actually drawing to a different device.
Saves overhead when using GL.



git-svn-id: http://skia.googlecode.com/svn/trunk@207 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-10 02:12:47 +00:00
reed@android.com
829c83c7c9 fix odd-pixel bug in mipmap downsamplers (thanks brett)
git-svn-id: http://skia.googlecode.com/svn/trunk@204 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-08 12:05:31 +00:00
reed@android.com
bbff1d507a add SkParsePath to go to/from SVG strings (e.g. "M0,0 L10,20")
git-svn-id: http://skia.googlecode.com/svn/trunk@203 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 16:21:03 +00:00
reed@android.com
ec3d6e5a2f update for cache updates
git-svn-id: http://skia.googlecode.com/svn/trunk@202 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 14:43:55 +00:00
reed@android.com
9b46e77ec2 fix dumpcanvas to recurse on pictures and shapes
add cached bitmap for gradients to avoid thrashing textures in gl



git-svn-id: http://skia.googlecode.com/svn/trunk@201 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 12:24:41 +00:00
deanm@chromium.org
1599a4332a Replace nil -> NULL in the views code.
Review URL: http://codereview.appspot.com/67139


git-svn-id: http://skia.googlecode.com/svn/trunk@200 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-04 15:37:11 +00:00
reed@android.com
6b82d1adc6 add isConvex() hit to SkPath, to be used to speed up fills and opengl
set linewidth in gldevice for hair rects
remove some cruft from samples
add more gl-unimpl messages



git-svn-id: http://skia.googlecode.com/svn/trunk@199 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-03 02:35:01 +00:00
reed@android.com
4a7fd2bd27 initialize fFlags in gradients
fix trailing WS in SkGLDevice



git-svn-id: http://skia.googlecode.com/svn/trunk@198 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-02 19:46:20 +00:00
reed@android.com
9e0c2fcdaf fix break in setConfig() where we always reset the bitmap
remove use of non-standard ssize_t in SkSfntUtils.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@197 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-02 18:54:28 +00:00
agl@chromium.org
6b8cb256e6 Style only change to make SkBitmap to make it build with VC2005.
TBR=reed


git-svn-id: http://skia.googlecode.com/svn/trunk@196 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-01 23:52:37 +00:00
reed@android.com
daa200eba2 add unimpl macro to help track bugs
git-svn-id: http://skia.googlecode.com/svn/trunk@195 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-01 21:18:36 +00:00
reed@android.com
24cfaa7751 update includes for android for gl backend
git-svn-id: http://skia.googlecode.com/svn/trunk@194 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-01 19:48:56 +00:00
agl@chromium.org
af59d51206 fontconfig: allow fallback for certain magical font names.
http://codereview.appspot.com/63169
http://code.google.com/p/chromium/issues/detail?id=10665

Patch-by: Evan Martin


git-svn-id: http://skia.googlecode.com/svn/trunk@193 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-01 19:20:38 +00:00
reed@android.com
44a6312cf6 call notifyPixelsChanged() when the pages are flipped in pageflippixelref
update samples



git-svn-id: http://skia.googlecode.com/svn/trunk@192 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-30 02:40:28 +00:00
reed@android.com
89bb83abb4 fix trailing-ws
initialize fFlags in bitmapprocshader



git-svn-id: http://skia.googlecode.com/svn/trunk@191 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-29 21:30:42 +00:00
reed@android.com
25fc5b9f0a update SDL port to support OpenGL
need to separate out SK_BUILD_FOR_MAC when we need to know where certain OS
headers are, and SK_BUILD_FOR_SDL when we are choosing an SkOSWindow variant...



git-svn-id: http://skia.googlecode.com/svn/trunk@190 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-29 03:40:05 +00:00
reed@android.com
aa5a7db64a move shapes subclasses into effects
git-svn-id: http://skia.googlecode.com/svn/trunk@188 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-27 01:20:10 +00:00
reed@android.com
c3a8c5fb38 create offscreen surface so we can set its RGB ordering to match our internals
git-svn-id: http://skia.googlecode.com/svn/trunk@187 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-26 13:27:48 +00:00
reed@android.com
671cd65678 add SDL support
git-svn-id: http://skia.googlecode.com/svn/trunk@182 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-22 20:44:12 +00:00
reed@android.com
149e2f6159 add SkSafeRef / SkSafeUnref as inline static functions, to use in place of our
existing obj->safeRef(), which is unsafe since it can its 'if (this)' can be
optimized away by some compilers.

fix some overflows in mimpmap generation



git-svn-id: http://skia.googlecode.com/svn/trunk@181 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-22 14:39:03 +00:00
reed@android.com
72dcd3a3c1 init bounds to empty if we return false from getClipBounds()
We were already doing that in one place (empty clip), but now we do it in the
other as well (matrix not invertible).



git-svn-id: http://skia.googlecode.com/svn/trunk@179 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-18 15:46:29 +00:00
reed@android.com
f48f281766 shapes checkpoint: move matrix into groupshape and out of shape
git-svn-id: http://skia.googlecode.com/svn/trunk@178 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-18 04:20:55 +00:00
reed@android.com
3b89515707 fix parse error:
Issue 63053: Fixed parse error in XML



git-svn-id: http://skia.googlecode.com/svn/trunk@177 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-18 00:47:46 +00:00
reed@android.com
22dbaaf405 Fix reference count on openStream
Issue 62067: SkFontHost_linux.cpp: Reference counting problem



git-svn-id: http://skia.googlecode.com/svn/trunk@176 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-18 00:43:58 +00:00
reed@android.com
ed0bfb015a fix impl of drawPicture
git-svn-id: http://skia.googlecode.com/svn/trunk@175 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-13 21:01:21 +00:00
reed@android.com
f76bacff7f add SkSize for dimensions
add SkShape baseclass, in the hopes of having SkPicture inherit from that, and 
also using shapes as the extension mechanism for things like animated-gif



git-svn-id: http://skia.googlecode.com/svn/trunk@174 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-13 14:00:33 +00:00
weita@google.com
25e9834c03 Honor pref config in image decoding whenever possible.
git-svn-id: http://skia.googlecode.com/svn/trunk@173 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-11 16:06:22 +00:00
agl@chromium.org
b9890c133f Typo fix for VDMX parsing in Chromium.
TBR=reed


git-svn-id: http://skia.googlecode.com/svn/trunk@170 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-07 00:48:12 +00:00
reed@android.com
fbaa88d969 add canCopyTo(), to preflight if copyTo can succeed. update unittests for it
git-svn-id: http://skia.googlecode.com/svn/trunk@169 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-06 17:44:34 +00:00
reed@android.com
311c82db31 fix copyTo to only copy the minimum pixels per row, and to lock the src before
trying to access its colorTable. Update unittest for copyTo. Add sample for
using a mask to clip a layer.



git-svn-id: http://skia.googlecode.com/svn/trunk@168 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-05 23:13:23 +00:00
reed@android.com
7a56108264 add simple port of memory APIs, to be used as a template for other platforms
that may want to add new_handler logic or other hooks.



git-svn-id: http://skia.googlecode.com/svn/trunk@167 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-04 19:24:56 +00:00
reed@android.com
a6260ff569 update license header
git-svn-id: http://skia.googlecode.com/svn/trunk@166 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-04 18:52:54 +00:00
reed@android.com
a8a8b8b80e check for 0 upem in freetype
add 32bit-overflow check



git-svn-id: http://skia.googlecode.com/svn/trunk@165 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-04 15:00:11 +00:00
weita@google.com
f9ab99aaad Allow copying an Index8 bitmap when srcConfig and dstConfig are both
Index8.

Also, change the logic of SkBitmap.copyTo() to do memcpy() if srcConfig
and dstConfig are the same.


git-svn-id: http://skia.googlecode.com/svn/trunk@164 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-03 18:23:30 +00:00
agl@chromium.org
df8ecfbcff Add fontconfig support.
Fontconfig is usually found on Linux systems and handles
configuration, parsing and caching issues involved with enumerating
and matching fonts.

This patch adds SkFontHost methods based on fontconfig.


git-svn-id: http://skia.googlecode.com/svn/trunk@162 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-28 17:30:01 +00:00
reed@android.com
862e91be02 handle interlacing
git-svn-id: http://skia.googlecode.com/svn/trunk@161 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-28 15:27:07 +00:00
reed@android.com
543ed9352c add ADD xfermode
safely handle (don't draw) if the size of SkMask exceeds 31bits



git-svn-id: http://skia.googlecode.com/svn/trunk@159 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-24 12:43:40 +00:00
reed@android.com
b2f92f07d7 fix mac build
git-svn-id: http://skia.googlecode.com/svn/trunk@158 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-23 05:06:33 +00:00
agl@chromium.org
cc3096ba6d Sync with Chromium's fork
* Add the following font metrics fields:
    + fAvgCharWidth
    + fXMin
    + fXMax
    + fXHeight

* Add \#if 0'ed includes for the Freetype headers for Xcode, scons and
  other tools which chase headers.

* Correctly render 1bpp fonts (mostly Chinese fonts at small sizes)


git-svn-id: http://skia.googlecode.com/svn/trunk@157 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-22 22:09:04 +00:00
reed@android.com
304b59e2ad trivial: fix ws
git-svn-id: http://skia.googlecode.com/svn/trunk@156 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-14 15:10:55 +00:00
reed@android.com
9781ca5866 add SkSfntUtils to parse some known truetype tables
add comments and cleanup to count_tables in SkFontHost_tables.cpp
fix transparency bug in gifs
use (alpha+1) for blending in srcover mode, to ensure opaque results



git-svn-id: http://skia.googlecode.com/svn/trunk@155 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-14 14:28:22 +00:00
agl@chromium.org
fc3ac327d8 SkFontHost_tables: fix minor bugs
http://codereview.appspot.com/33092


git-svn-id: http://skia.googlecode.com/svn/trunk@154 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-13 21:43:40 +00:00
reed@android.com
467a3dc89a implement generateCountGlyphs using new font table apis
git-svn-id: http://skia.googlecode.com/svn/trunk@150 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-08 05:27:00 +00:00
reed@android.com
d6638e644e add Table apis to SkFontHost
need to implement in _win backend



git-svn-id: http://skia.googlecode.com/svn/trunk@149 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-08 05:03:52 +00:00
reed@android.com
9c970453fd import portability fixes from Chrome around floats
move porting functions for SkDebugf into /ports directory



git-svn-id: http://skia.googlecode.com/svn/trunk@147 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-03 14:26:10 +00:00
reed@android.com
41bccf55b5 extend gradients to handle (by clamping) the first and last color position if
it is not at 0 or 1.



git-svn-id: http://skia.googlecode.com/svn/trunk@146 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-03 13:33:51 +00:00
reed@android.com
2043f7d009 replace floorf() with sk_float_floor(), so it builds on platforms w/o floorf
git-svn-id: http://skia.googlecode.com/svn/trunk@145 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-02 21:11:14 +00:00
reed@android.com
d252db03d9 API change: SkPath computeBounds -> getBounds
git-svn-id: http://skia.googlecode.com/svn/trunk@140 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-01 18:31:44 +00:00
reed@android.com
6c924ad46c add -pict option to bench, which draws everything through a picture, and then
compares the result to the original draws



git-svn-id: http://skia.googlecode.com/svn/trunk@139 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-31 03:48:49 +00:00
reed@android.com
aefd2bc757 Add SkChunkAlloc::unalloc() to undo the last allocation, useful if the caller wants to treat the allocats like temp memory (see PictureRecord)
Call unalloc if a paint (or other cached object) is already in our list for picture recording
Use correct CompareType macro in SkCanvas::quickReject



git-svn-id: http://skia.googlecode.com/svn/trunk@138 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-30 21:02:14 +00:00
reed@android.com
f459a4949d make bitmap width/height 32bits, matching the API
git-svn-id: http://skia.googlecode.com/svn/trunk@137 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-27 12:33:50 +00:00
reed@android.com
3eab80cc1f rename drawable to drawing for now, so we don't collide with animator
remove sk_throw in pixelref. a debug statement is enough.



git-svn-id: http://skia.googlecode.com/svn/trunk@136 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-24 18:47:35 +00:00
reed@android.com
6c14b43a84 use static_cast
fix comments



git-svn-id: http://skia.googlecode.com/svn/trunk@135 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-23 20:11:11 +00:00
reed@android.com
8898363b2e add check/hack to avoid drawing outside of the clip for hairlines
git-svn-id: http://skia.googlecode.com/svn/trunk@134 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-23 16:05:19 +00:00
reed@android.com
ae64551e2e check-point for drawables (experimental)
git-svn-id: http://skia.googlecode.com/svn/trunk@133 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-23 03:27:38 +00:00
reed@android.com
fcce647c0b pull latest from android
git-svn-id: http://skia.googlecode.com/svn/trunk@132 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-20 12:23:07 +00:00
reed@android.com
4ddfe357da check for NaN in path iterator (otherwise we have an infinite loop)
git-svn-id: http://skia.googlecode.com/svn/trunk@131 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-20 12:16:09 +00:00
reed@android.com
797d51acd2 forgot to initialize fFactory in the unflatten constructor
git-svn-id: http://skia.googlecode.com/svn/trunk@130 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-20 12:08:57 +00:00
reed@android.com
04225dcdec build with -Wall
fix associated warnings (at least on gcc 4.0.1)



git-svn-id: http://skia.googlecode.com/svn/trunk@129 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-20 04:59:37 +00:00
reed@android.com
49f0ff25a0 promote SkMask's rowBytes to 32bits, since its bounds is a 32bit rect
be sure a rect is sorted before using it as the path's bounds cache



git-svn-id: http://skia.googlecode.com/svn/trunk@128 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-19 21:52:42 +00:00
reed@android.com
79b2cd1be5 fix capitalization for system includes
git-svn-id: http://skia.googlecode.com/svn/trunk@127 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-18 19:10:34 +00:00
reed@android.com
eff416bec1 fix heapsort
git-svn-id: http://skia.googlecode.com/svn/trunk@126 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-18 03:08:15 +00:00
reed@android.com
a14ea0e930 Simplify font-chaining (fallbacks) to have fonthost just return the next
logical fontID.
Extend ImageRef to accept an imagedecoder factory, to replace calling the std
one.



git-svn-id: http://skia.googlecode.com/svn/trunk@125 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-17 17:59:53 +00:00
reed@android.com
3555591c15 add sanity checks to handles extremely large coordinates or filter margins.
Should not hurt features (we hope), but is an easy way to survive malicious
values on a small-memory machine like a handset.



git-svn-id: http://skia.googlecode.com/svn/trunk@123 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-16 18:46:55 +00:00
turk@google.com
dfb6fb5669 Add missing file.
git-svn-id: http://skia.googlecode.com/svn/trunk@122 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-16 17:34:27 +00:00
reed@android.com
1337a7b14c see prev. checkin (missed these files). Change ownership rule for streams to the
skia std. of receiver calls ref() if it needs to, but regardless, the caller
always manages/balances its own ownership.



git-svn-id: http://skia.googlecode.com/svn/trunk@121 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-16 13:56:10 +00:00
turk@google.com
6f8491bf76 Initial implementation of polygon trianagulation. It seems to be robust and passes the associated tests,
but has some problems:
(1) it generates T-vertices;
(2) it only works with right-handed outer contours;
(3) The sort and search are inefficient.


git-svn-id: http://skia.googlecode.com/svn/trunk@119 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-13 22:05:46 +00:00
reed@android.com
590ef3fd3a remember to specify the bloody font tag in the constructor!
git-svn-id: http://skia.googlecode.com/svn/trunk@118 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-10 04:02:30 +00:00
reed@android.com
330578d67d mac fonts sort of work now
- haven't tested rotation yet
- spacing/bounds still look bad



git-svn-id: http://skia.googlecode.com/svn/trunk@117 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-09 18:12:13 +00:00
reed@android.com
0bf64d48cc implement fontmetrics
git-svn-id: http://skia.googlecode.com/svn/trunk@116 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-09 17:22:22 +00:00
reed@android.com
ea446b9bc5 check-point (2) on mac fonts
- simplify typeface factories



git-svn-id: http://skia.googlecode.com/svn/trunk@115 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-09 15:25:11 +00:00
reed@android.com
60dfdbc1ae minor check-point for switching to glyphs
git-svn-id: http://skia.googlecode.com/svn/trunk@114 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-09 14:51:39 +00:00
reed@android.com
5e5adfd12c migrate more legacy unittests into tests/
SkParse yet to be cleaned up



git-svn-id: http://skia.googlecode.com/svn/trunk@113 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-07 03:39:23 +00:00
reed@android.com
62533ed6bb fix leak in Deserialize
git-svn-id: http://skia.googlecode.com/svn/trunk@112 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-06 15:57:26 +00:00
reed@android.com
fb12c3e6ba fix ref() in CreateTypeface
fix comment in SkDraw.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@111 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-05 20:43:42 +00:00
reed@android.com
b1d9d2ef28 Significant cleanup in api, and more importantly in sementics, of SkFontHost
- FindTypeface is now CreateTypeface, and what it returns is always considered
    a new instance, even if it is from a cache (in which case it will have been
    ref()'d. The caller must always balance its ownership by calling unref() on
    the result when they are done.
- CloseStream is gone, since the caller can/must call stream->unref() when they
    are done using it.
- ResolveTypeface is now ValidFontID, and just returns a bool.



git-svn-id: http://skia.googlecode.com/svn/trunk@109 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 17:37:51 +00:00
reed@android.com
069b827f8e API cleanup: rename typeface Create to CreateFromName, and remove default arg
git-svn-id: http://skia.googlecode.com/svn/trunk@108 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 15:31:48 +00:00
reed@android.com
0650c6ca12 Move SkTSort.h back to private, and instead allow in the makefile for tests to
see private headers. This also means the tests don't have to use ../.. to find
the private header they want.



git-svn-id: http://skia.googlecode.com/svn/trunk@107 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 14:02:44 +00:00
turk@google.com
7d3a58a5e4 Format more consistently with the rest of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@106 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 01:33:35 +00:00
reed@android.com
ef772ddb86 remove unimplemented (and uncalled) SkTypeface::Hash()
git-svn-id: http://skia.googlecode.com/svn/trunk@105 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-03 21:20:49 +00:00
reed@android.com
1116fb25e5 change srcover (and dstover) to use the faster thought slightly less accurate
computation of the scale factor (+1 instead of SkAlpha255To256). This has the
upside of guaranteeing that if the dst is opaque (alpha==255), it will always
stay opaque.



git-svn-id: http://skia.googlecode.com/svn/trunk@104 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-03 20:31:12 +00:00
turk@google.com
5755a2a9ab Unit test and bug fixes for cubic Bezier clipping.
git-svn-id: http://skia.googlecode.com/svn/trunk@102 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-03 02:56:05 +00:00
turk@google.com
4896f9e017 Add cubic clipping, similar to that of quad clipping. Both Newton-Raphson and Bisection are implemented, because it is not clear which one will yield the highest performance on a given platform. Bisection is turned on as the default.
git-svn-id: http://skia.googlecode.com/svn/trunk@101 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-02 20:00:00 +00:00
reed@android.com
98de2bdbd1 explicitly call "our" version of clipPath in the case when clipRect needs to
turn itself into a path when the matrix rotates. This avoids infinite recursion
when the canvas is subclassed (e.g. SkPicture's recording canvas).



git-svn-id: http://skia.googlecode.com/svn/trunk@100 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-02 19:41:36 +00:00
reed@android.com
3abec1d7c3 add initial unittests for Path
add operator== for paths
still need to implement isRect!



git-svn-id: http://skia.googlecode.com/svn/trunk@99 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-02 05:36:20 +00:00
reed@android.com
a396a16d53 add tests (unittests) to Makefile
move SkTSort.h into public includes



git-svn-id: http://skia.googlecode.com/svn/trunk@98 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-28 18:26:14 +00:00
reed@android.com
d8730ea8b2 more tests (need more meat in there)
git-svn-id: http://skia.googlecode.com/svn/trunk@97 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-27 22:06:06 +00:00
reed@android.com
ed673310e2 add initial unittest framework (tests)
move some previous unittests out of core classes and into tests



git-svn-id: http://skia.googlecode.com/svn/trunk@96 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-27 16:24:51 +00:00
reed@android.com
3469c76c40 Handle kA8 bitmaps drawing through a matrix (was infinitely recursive)
git-svn-id: http://skia.googlecode.com/svn/trunk@95 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-24 19:03:20 +00:00
reed@android.com
ff7f389c8a Oops, CreateTypeface takes over ownership of the stream, instead of just ref()
This should be changed, for until it is, fix CreateTypefaceFromFile to not call
unref() if the typeface got created.



git-svn-id: http://skia.googlecode.com/svn/trunk@94 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-20 21:11:40 +00:00
reed@android.com
1bfd0ca780 Implement CreateTypefaceFromFile
git-svn-id: http://skia.googlecode.com/svn/trunk@93 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-20 14:22:36 +00:00
reed@android.com
ae814c809e add picture-record option to speedup complex clips
remove hack that stopped picture-playback from culling on clipPath() result



git-svn-id: http://skia.googlecode.com/svn/trunk@92 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-13 14:56:09 +00:00
reed@android.com
9b0390626f remove white-space
git-svn-id: http://skia.googlecode.com/svn/trunk@91 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-11 15:09:58 +00:00
reed@android.com
62900b4c64 handle failure when creating a scalercontext
git-svn-id: http://skia.googlecode.com/svn/trunk@90 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-11 15:07:19 +00:00
reed@android.com
d9c0f0b57a check for non-invertible matrices in getClipBounds()
git-svn-id: http://skia.googlecode.com/svn/trunk@89 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-06 22:39:37 +00:00
reed@android.com
c07d23a6e2 Chop quads exactly on the clip bounds, so we don't spend CPU cycles walking them
when we're above or below the clip.

Still to do:
- chop in X to avoid 16.16. overflow in the edgelist
- apply the same logic for cubics (tho much harder math)



git-svn-id: http://skia.googlecode.com/svn/trunk@88 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-06 13:30:58 +00:00
reed@android.com
3c2b7e8b5e explicitly define the gHead for the codec llist
git-svn-id: http://skia.googlecode.com/svn/trunk@85 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-27 01:43:36 +00:00
reed@android.com
45bcb22e7a update header path (from android)
git-svn-id: http://skia.googlecode.com/svn/trunk@84 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-26 23:54:06 +00:00
reed@android.com
f523e25da0 add BitmapBench
git-svn-id: http://skia.googlecode.com/svn/trunk@83 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-26 23:15:37 +00:00
reed@android.com
7b830a1d27 update makefile for newly moved Factories
git-svn-id: http://skia.googlecode.com/svn/trunk@77 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-22 13:41:08 +00:00
reed@android.com
00bf85a986 pull from android: use registry to build up list of image codecs
git-svn-id: http://skia.googlecode.com/svn/trunk@76 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-22 13:04:56 +00:00
reed@android.com
9db6087c0e oops, add images_files.mk
rename options with prefix SKIA_



git-svn-id: http://skia.googlecode.com/svn/trunk@75 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-21 15:07:03 +00:00
reed@android.com
f13c6e113c Remove unneeded SK_BUILD_FOR_... checks in SkBitmap.h
git-svn-id: http://skia.googlecode.com/svn/trunk@72 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-19 19:10:24 +00:00
reed@android.com
c990603b78 make these compile w/o SK_CAN_USE_FLOAT
git-svn-id: http://skia.googlecode.com/svn/trunk@70 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-16 16:21:28 +00:00
reed@android.com
4cb8bd18d9 add crude Makefile (someone please help!)
make SkFloatBits.cpp compile w/o floats



git-svn-id: http://skia.googlecode.com/svn/trunk@69 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-16 16:15:37 +00:00
reed@android.com
fc25abdabf fix warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-15 14:38:33 +00:00
reed@android.com
b50a60c463 fix formatting issues
git-svn-id: http://skia.googlecode.com/svn/trunk@67 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-14 17:51:08 +00:00
reed@android.com
6f25297d93 fix multiple warnings (e.g. hidden virtuals, unused static functions)
update freetype version-check for const



git-svn-id: http://skia.googlecode.com/svn/trunk@66 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-14 16:46:16 +00:00
reed@android.com
563771e865 update to build with the latest SkFontHost interface
not runtime tested yet



git-svn-id: http://skia.googlecode.com/svn/trunk@65 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-14 14:16:46 +00:00
reed@android.com
0becfc5b76 add optimization for width==1 bitmaps in shader procs
odd warning fixes and cleanup



git-svn-id: http://skia.googlecode.com/svn/trunk@63 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-13 13:26:44 +00:00
reed@android.com
2e86178f2b remove obsolete state
git-svn-id: http://skia.googlecode.com/svn/trunk@62 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-12 16:00:23 +00:00
reed@android.com
5c80ea17d4 first pass at clean up of the 3 config files
- note that SkUserConfig.h no longer actually does anything



git-svn-id: http://skia.googlecode.com/svn/trunk@60 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-08 17:49:50 +00:00
reed@android.com
b08eb2b3bc separate image encode and decode
remove obsolete build-flag for encode



git-svn-id: http://skia.googlecode.com/svn/trunk@56 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-06 20:16:26 +00:00
joe.gregorio
092590b88d Initial automake and autoconf files to build core into libskia.a.
git-svn-id: http://skia.googlecode.com/svn/trunk@55 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-06 17:03:16 +00:00
joe.gregorio
acb8fb07bf Initial automake and autoconf files to build core into libskia.a.
git-svn-id: http://skia.googlecode.com/svn/trunk@54 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-06 17:02:39 +00:00
reed@android.com
6e073b9e2b remove defines for strcasecmp (issue #5)
support setMatrix in pictures



git-svn-id: http://skia.googlecode.com/svn/trunk@53 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-06 15:03:30 +00:00
reed@android.com
1550a42d96 pull from android - add createfromfile entry-point
git-svn-id: http://skia.googlecode.com/svn/trunk@51 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 20:10:57 +00:00
reed@android.com
0b82e02b6a explicitly include SkGlyphCache.h, since it is no longer brought in by SkDraw.h
git-svn-id: http://skia.googlecode.com/svn/trunk@50 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 19:04:23 +00:00
reed@android.com
da342a8917 update more sample code to new compose shader header
git-svn-id: http://skia.googlecode.com/svn/trunk@48 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 18:37:08 +00:00
reed@android.com
0ae6b245f2 add mac image-encoding
add 'f' to sampleapp, which writes a png file for the currnet screen



git-svn-id: http://skia.googlecode.com/svn/trunk@47 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 16:49:54 +00:00
reed@android.com
0767e4742e add CG imagedecoder (still needs encoding)
update some sample files to not use obsolete SkShaderExtras.h



git-svn-id: http://skia.googlecode.com/svn/trunk@46 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 16:06:51 +00:00
reed@android.com
76aa34bf8e add text to hostapp sample
rename duplicate of SkSVGPath.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@45 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 01:27:39 +00:00
reed@android.com
4df53b0597 don't promote top/left to a fixed, when what we want is just an int
git-svn-id: http://skia.googlecode.com/svn/trunk@44 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-22 22:12:55 +00:00
reed@android.com
03ca3d19c4 move CreateTypefaceFromFile into fonthost porting layer, so we don't force a given port to have mmap access.
update core.proj as some headers have changed location



git-svn-id: http://skia.googlecode.com/svn/trunk@43 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-22 15:35:46 +00:00
reed@android.com
2b26cac4fd downgrade project files to 10.4 so more clients can use them
downgrade some CG calls in test apps to not require 10.5 apis
remove leftover printf in SkOSWindow_Mac.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@42 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-22 02:33:11 +00:00
reed@android.com
0680d6c7ca use native mac fonthost
add 444 and (fake) 565 support in cg



git-svn-id: http://skia.googlecode.com/svn/trunk@41 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-19 19:46:15 +00:00
reed@android.com
6efdc47afc first cut at event-based test app
git-svn-id: http://skia.googlecode.com/svn/trunk@37 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-19 18:24:35 +00:00
reed@android.com
0d55f1e73c move cg utils out of xcode and into src/include
git-svn-id: http://skia.googlecode.com/svn/trunk@35 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 19:26:11 +00:00
reed@android.com
fadd796fc5 make this header public (at least for now)
git-svn-id: http://skia.googlecode.com/svn/trunk@34 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 19:04:43 +00:00
reed@android.com
9fb1731ef2 move core files into core (were in images, but are required for core library)
git-svn-id: http://skia.googlecode.com/svn/trunk@31 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 17:50:13 +00:00
reed@android.com
689411a87c fix compile by using the right (new) name for SkComposeShader.h
git-svn-id: http://skia.googlecode.com/svn/trunk@29 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 02:52:32 +00:00
reed@android.com
e3be725d2b merge in from android: fix unichar->utf8 conversion
git-svn-id: http://skia.googlecode.com/svn/trunk@28 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 16:22:13 +00:00
reed@android.com
8a1c16ff38 grab from latest android
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 15:59:43 +00:00