Commit Graph

43441 Commits

Author SHA1 Message Date
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
reed@android.com
4226396806 add BitmapCopyTest. Still need to consider the src==no_config case
git-svn-id: http://skia.googlecode.com/svn/trunk@163 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-01 04:00:01 +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
af459795e3 add skiamge (in tools/) that decodes and encodes images
git-svn-id: http://skia.googlecode.com/svn/trunk@160 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-24 19:52:53 +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
add8808a42 update for config/ directory
git-svn-id: http://skia.googlecode.com/svn/trunk@153 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-12 01:49:38 +00:00
reed@android.com
eeb3b7ff98 support -android mode when running tests, which spews out android specific
formatting for their testing env.



git-svn-id: http://skia.googlecode.com/svn/trunk@152 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-09 04:06:54 +00:00
reed@android.com
c4d409012c move SkUserConfig.h into include/config/ so it can be replaced by changing the
include search list at the Makefile level



git-svn-id: http://skia.googlecode.com/svn/trunk@151 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-08 18:05:24 +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
16690af1c2 update SkPostConfig.h to unset LEAN_AND_MEAN if it set it before including <windows.h>
git-svn-id: http://skia.googlecode.com/svn/trunk@148 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-06 16:09:53 +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
a3c0588694 add sample for gradients
git-svn-id: http://skia.googlecode.com/svn/trunk@144 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-02 20:49:39 +00:00
reed@android.com
80e39a77b1 cleanup formating (e.g. no trailing spaces)
git-svn-id: http://skia.googlecode.com/svn/trunk@143 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-02 16:59:40 +00:00
reed@android.com
57b799e951 rename tests/main to testmain.cpp
add ANDROID specific work-around for double-cinit bug



git-svn-id: http://skia.googlecode.com/svn/trunk@142 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-01 20:26:42 +00:00
reed@android.com
953ce8dcb7 rename bench's main to benchmain.cpp, to avoid multiple files with same name
git-svn-id: http://skia.googlecode.com/svn/trunk@141 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-01 18:38:43 +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
452f844f64 disable cubic test for now (currently broken)
git-svn-id: http://skia.googlecode.com/svn/trunk@124 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-16 18:47:55 +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
reed@android.com
791f5a11f2 Change (correct) SkImageRef's ownership rule for streams to the skia standard
pattern: the receiver will call ref() if it chooses when passed to a constructor
or setter, so the caller must balance its ownership itself. This matches how all
other refcnt objects are handled.



git-svn-id: http://skia.googlecode.com/svn/trunk@120 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-16 13:53:11 +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