Commit Graph

6020 Commits

Author SHA1 Message Date
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