Commit Graph

103 Commits

Author SHA1 Message Date
reed@google.com
e027a6ed9b adapt FontConfig to use SK_FONTHOST_USES_FONTMGR
BUG=

Review URL: https://codereview.chromium.org/21331003

git-svn-id: http://skia.googlecode.com/svn/trunk@10463 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 17:37:31 +00:00
bungeman@google.com
b8f3655d49 Update obvious deps.
This is a step toward targets declaring their deps in a sane fashion.
This change resolves cycles by forcing core to the root, then everything
in skia_lib pointing toward core as best possible, then everything
outside skia_lib depending on skia_lib for things in skia_lib. This
prevents double definitions where a symbol is provided by both the
skia_lib shared object and and a statically linked component of skia_lib.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/19823003

git-svn-id: http://skia.googlecode.com/svn/trunk@10231 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 14:39:45 +00:00
djsollen@google.com
2679ff8b8d refactor gyp to isolate freetype usage
R=bungeman@google.com

Review URL: https://codereview.chromium.org/19835002

git-svn-id: http://skia.googlecode.com/svn/trunk@10229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 14:12:56 +00:00
bungeman@google.com
899f1d854a Revert deps changes in r10220 and r10217.
Need to avoid linking in .a things which are already provided by .so things.


git-svn-id: http://skia.googlecode.com/svn/trunk@10222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-20 00:24:35 +00:00
bungeman@google.com
2b0ab9e13a Update obvious deps.
This is a step toward targets declaring their deps in a sane fashion.
This change resolves cycles by forcing core to the root,
then opts, ports, and utils depending on core, then everything else.
We will need some other change to resolve the fact that
core, opts, ports, and utils depend on each other and other targets which
depend on them. Outside of these targets, things look ok.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/19823003

git-svn-id: http://skia.googlecode.com/svn/trunk@10217 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 22:31:23 +00:00
bungeman@google.com
fc70a4ae59 Remove unneeded mention of SkThread_pthread.cpp in ports.gyp.
This was overlooked in r10105.


git-svn-id: http://skia.googlecode.com/svn/trunk@10200 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 18:51:10 +00:00
bungeman@google.com
f2e7dbb09f Split TLS implementation into its own translation unit.
SkTLS has it's own header separate from SkThread, and having SkThread own
the platform implementation of SkTLS is problematic with Chromium. The
simplest way to clean this up is to put the implementation in its own set
of files, where it is also more easily found.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/19240007

git-svn-id: http://skia.googlecode.com/svn/trunk@10105 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 14:59:24 +00:00
borenet@google.com
05d550ed36 GYP Changes and Scripts for Compiling Skia for ChromeOS
For now, this requires having a complete ChromeOS checkout.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/16099011

git-svn-id: http://skia.googlecode.com/svn/trunk@9505 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 15:52:19 +00:00
djsollen@google.com
2897931e87 Fix broken include path for directwrite backend
R=borenet@google.com

Review URL: https://codereview.chromium.org/16325006

git-svn-id: http://skia.googlecode.com/svn/trunk@9400 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-03 14:44:52 +00:00
djsollen@google.com
52f0297aaf Prepare skia for shared library build on android
This reapplies revision 9378 after the buildbot has been updated.

R=borenet@google.com, djsollen@google.com

Review URL: https://codereview.chromium.org/15855006

git-svn-id: http://skia.googlecode.com/svn/trunk@9395 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-03 12:10:19 +00:00
djsollen@google.com
a96627fd24 prepare skia for shared library build on android
R=borenet@google.com, djsollen@google.com

Committed: https://code.google.com/p/skia/source/detail?r=9378

Review URL: https://codereview.chromium.org/15855006

git-svn-id: http://skia.googlecode.com/svn/trunk@9379 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 20:09:47 +00:00
djsollen@google.com
cf5348f5aa prepare skia for shared library build on android
R=borenet@google.com, djsollen@google.com

Review URL: https://codereview.chromium.org/15855006

git-svn-id: http://skia.googlecode.com/svn/trunk@9378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 20:02:56 +00:00
bungeman@google.com
6cab1a4b6a Change SkStream.
https://codereview.chromium.org/15298009/


git-svn-id: http://skia.googlecode.com/svn/trunk@9312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:43:31 +00:00
djsollen@google.com
bfae9d373c Add a fontConfig interface for android.
The contents of this CL are based on the SkFontHost_android.cpp found
in the android repository.

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/14731025

git-svn-id: http://skia.googlecode.com/svn/trunk@9219 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 16:53:50 +00:00
reed@google.com
381bb43efb add separate impl file for SkFontMgr_fontconfig, so we don't polute
SkFontHost_fontconfig, which should be sharable w/ android. Eventaully
we will remove that FontHost file completely, and just use the SkFontMgr.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/15077008

git-svn-id: http://skia.googlecode.com/svn/trunk@9114 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-13 19:43:59 +00:00
reed@google.com
292b1d4903 remove SkFontHost::OpenStream(), now subsumed by SkTypeface::openStream()
remove obsolete/abandoned SkFontHost_freetype_mac.cpp
Review URL: https://codereview.chromium.org/13008019

git-svn-id: http://skia.googlecode.com/svn/trunk@8342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-22 17:21:59 +00:00
reed@google.com
6c66d2f2b6 remove GetTable* APIs from SkFontHost, and rely on SkTypeface::onGetTable*
default impls call SkFontStream, and rely on SkTypeface::onOpenStream
Review URL: https://codereview.chromium.org/13001002

git-svn-id: http://skia.googlecode.com/svn/trunk@8310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 20:34:27 +00:00
reed@google.com
055180cb9c Use function-ptr instead of SkFontHost api to allow client to handle
loading GDI font data for fonts.
Review URL: https://codereview.chromium.org/12938004

git-svn-id: http://skia.googlecode.com/svn/trunk@8301 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 18:46:35 +00:00
scroggo@google.com
bb281f7f96 Improvements/additions to SkImageCache/SkLazyPixelRef.
SkPurgeableImageCache:
New image cache that uses virtual memory to store the pixels. Combines
features of SkAshmemImageCache (which has been removed) with SkPurgeableMemoryBlock, which has android and Mac versions.

SkImageCache:
Modified the API. pinCache now returns a status out parameter which
states whether the pinned memory retained the old data. This allows
allocAndPinCache to only be used for allocations.
Add a new debug only interface to purge unpinned data.
Updates to documentation, clarifying behavior.
Changed CachedStatus to MemoryStatus

SkLruImageCache:
Implement the new function purgeAllUnpinnedCaches and change implementation
of pinCache for the new behavior.

SkLazyPixelRef:
Rewrite onLockPixels to account for the new behavior of pinCache.

BitmapFactoryTest:
Test the new SkPurgeableImageCache.
Write tests which directly test the SkImageCaches.
Create a larger bitmap, since some of the SkImageCaches are designed
to handle large bitmaps.

bench_ and render_pictures:
Consolidate lazy_decode_bitmap into one function.
Allow using a flag to specify using the purgeable image cache.
Clean up some #includes.

Review URL: https://codereview.chromium.org/12433020

git-svn-id: http://skia.googlecode.com/svn/trunk@8207 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 21:37:39 +00:00
robertphillips@google.com
09f6c5c310 Fix android build
https://codereview.chromium.org/12896002/



git-svn-id: http://skia.googlecode.com/svn/trunk@8178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-17 15:40:59 +00:00
scroggo@google.com
d9ef3a21d4 Create a platform-dependent object for accessing purgeable memory.
Siphoned off from https://codereview.chromium.org/12433020/

Create a Skia class which can provide purgeable memory in a platform-
dependent way. Include an implementation for Ashmem and Mac/iOS.

Review URL: https://codereview.chromium.org/12645006

git-svn-id: http://skia.googlecode.com/svn/trunk@8176 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-15 18:08:09 +00:00
reed@google.com
822bde74b9 implement fonthost table methods directly in fontconfig backend, _tables now relegated to
android and windows...
Review URL: https://codereview.chromium.org/12395015

git-svn-id: http://skia.googlecode.com/svn/trunk@7959 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 16:28:33 +00:00
reed@google.com
8333d2adf9 enable fontconfig backend for fonthost on linux
git-svn-id: http://skia.googlecode.com/svn/trunk@7955 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 14:45:29 +00:00
mike@reedtribe.org
b103ed4e39 eliminate atsuii/coretext distinction, and rename to just _mac
git-svn-id: http://skia.googlecode.com/svn/trunk@7947 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-03 03:50:09 +00:00
reed@google.com
4e0d96b655 revert fontconfig gyp change for now (need to install it on housekeeper and chromeos bots)
git-svn-id: http://skia.googlecode.com/svn/trunk@7890 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:17:07 +00:00
reed@google.com
f0e92f3814 enable fontconfig by default in ports.gyp
git-svn-id: http://skia.googlecode.com/svn/trunk@7888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:06:52 +00:00
scroggo@google.com
f8d7d27313 Create SkLazyPixelRef which performs lazy decoding.
The new pixel ref behaves similarly to SkImageRef, with some key differences:
It does not depend on the images project.
It requires an SkImageCache, which handles allocation and caching of the pixel
memory.
It takes a function signature for decoding which decodes into already allocated
pixel memory rather than into an SkBitmap.

Add two implementations of SkImageCache: SkLruImageCache and SkAshmemImageCache.

Replace SkSerializationHelpers::DecodeBitmap with SkPicture::InstallPixelRefProc,
and update sites that referenced it.

SkBitmapFactory now sets the pixel ref to a new object of the new
class SkLazyPixelRef, provided it has an SkImageCache for caching.

Provide an option to do lazy decodes in render_pictures and bench_pictures.

SkPicture:
Eliminate the default parameters in the constructor.
If a proc for decoding bitmaps is installed, use it to decode any encoded
data in subpictures.
When parsing deserializing subpictures, check for success.
When serializing subpictures, pass the picture's bitmap encoder to the
subpicture's call to serialize.

Update BitmapFactoryTest to test its new behavior.

BUG=https://code.google.com/p/skia/issues/detail?id=1008
BUG=https://code.google.com/p/skia/issues/detail?id=1009

Review URL: https://codereview.appspot.com/7060052

git-svn-id: http://skia.googlecode.com/svn/trunk@7835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 21:38:35 +00:00
djsollen@google.com
528a556514 Fix android errors when unflattening an SkImageRef_ashmem object.
Review URL: https://codereview.appspot.com/7228071

git-svn-id: http://skia.googlecode.com/svn/trunk@7514 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 15:57:13 +00:00
robertphillips@google.com
3b0a9fe567 Update filter tool to allow more flexible filtering
https://codereview.appspot.com/7227055/



git-svn-id: http://skia.googlecode.com/svn/trunk@7492 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-31 15:56:22 +00:00
djsollen@google.com
276a2956f5 Add support for SkImageRef_ashmem.
This requires copying the ashmem utility wrapper functions from a
private android library into our source tree in order to be NDK
compliant.

Review URL: https://codereview.appspot.com/6846076

git-svn-id: http://skia.googlecode.com/svn/trunk@6488 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-19 19:34:23 +00:00
borenet@google.com
7158e6acca Improve NaCl support
- Add nacl_make script to build Skia targets for NaCl using gyp
- Add nacl_interface for command-line apps
- Add nacl_sample as front-end for SampleApp
- Add freetype to DEPS
- Various gyp tweaks for NaCl

TODO:
- Implement GL interface
- Implement font host
- Fix plumbing so that SampleApp works properly
Review URL: https://codereview.appspot.com/6671044

git-svn-id: http://skia.googlecode.com/svn/trunk@6245 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 17:43:44 +00:00
borenet@google.com
efb1d77ad2 Build Skia as a static library
- Roll GYP so that we get non-thin archives on Linux
- Add merge_static_libs.py
- Add skia_core_lib target which builds core, ports, opts*, and utils
- Replace dependencies on core/ports/opts/utils with skia_core_libs
- Rename exportable libraries with "skia_"
Review URL: https://codereview.appspot.com/6619049

git-svn-id: http://skia.googlecode.com/svn/trunk@5889 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 19:45:51 +00:00
caryclark@google.com
867cbd8bc2 first cut at making iOS work
Replace __arm__ with SK_CPU_ARM
add support for iOS simulator and device
fix const warning in iOSSampleApp
update gyp files

https://code.google.com/p/skia/issues/detail?id=900
tracks fixing missing arm assembly
Review URL: https://codereview.appspot.com/6552045

git-svn-id: http://skia.googlecode.com/svn/trunk@5606 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 15:45:41 +00:00
caryclark@google.com
35f5ac9738 update gyp files to build on iOS
Note that there's a hack in SkImageDecoder_CG.cpp --
the necessary defines are included directly. This
is temporary until I can figure out how to include
them properly.
Review URL: https://codereview.appspot.com/6523044

git-svn-id: http://skia.googlecode.com/svn/trunk@5586 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 15:41:18 +00:00
borenet@google.com
a98eb919a2 Add NaCl port of Skia
Initial commit. This is far from done.
Review URL: https://codereview.appspot.com/6428064

git-svn-id: http://skia.googlecode.com/svn/trunk@5398 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-04 21:09:40 +00:00
bungeman@google.com
fd668cfffe Fix greenish text rendering on Linux.
https://codereview.appspot.com/6484048/


git-svn-id: http://skia.googlecode.com/svn/trunk@5280 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-24 17:46:11 +00:00
rmistry@google.com
d6176b0dca Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part II of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6474054

git-svn-id: http://skia.googlecode.com/svn/trunk@5263 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:14:13 +00:00
george@mozilla.com
c59b5dac90 Split out SkFontHost_FreeType into common files
Review URL: https://codereview.appspot.com/6442092

git-svn-id: http://skia.googlecode.com/svn/trunk@5246 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 00:39:08 +00:00
bungeman@google.com
6ca0a5da6c Don't try to build SkFontHost_win_dw.cpp on non-Windows platforms.
git-svn-id: http://skia.googlecode.com/svn/trunk@5129 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 16:23:09 +00:00
bungeman@google.com
e8f0592ae8 DirectWrite font host for skia.
https://codereview.appspot.com/5417063/


git-svn-id: http://skia.googlecode.com/svn/trunk@5128 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 16:13:40 +00:00
borenet@google.com
af73091b56 Set bench/gm/tests as explicit dependencies of SkiaAndroidApp (trunk)
Hopefully this fixes the flaky Android build.
Review URL: https://codereview.appspot.com/6461067

git-svn-id: http://skia.googlecode.com/svn/trunk@5032 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 15:54:28 +00:00
bungeman@google.com
97efada074 Gamma correcting masks.
https://codereview.appspot.com/6244068/


git-svn-id: http://skia.googlecode.com/svn/trunk@4841 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-30 20:40:50 +00:00
djsollen@google.com
9714516a0d Add SkFontDescriptor for serializing fonts.
Review URL: https://codereview.appspot.com/6250080

git-svn-id: http://skia.googlecode.com/svn/trunk@4106 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 19:55:08 +00:00
bungeman@google.com
a02bc1519c WeakRefCnt
http://codereview.appspot.com/5649046/


git-svn-id: http://skia.googlecode.com/svn/trunk@3978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:21:56 +00:00
bungeman@google.com
5a64e58ebb Revert 3538.
git-svn-id: http://skia.googlecode.com/svn/trunk@3539 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 14:51:56 +00:00
bungeman@google.com
29b63dc863 Correct dependencies in gyp files.
http://codereview.appspot.com/5934044/


git-svn-id: http://skia.googlecode.com/svn/trunk@3538 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 14:28:59 +00:00
epoger@google.com
aa3b6a965e Make all gyp targets automatically include common.gypi
Do this, rather than including common.gypi explicitly in all our gyp files, so that gyp files we use but do not maintain (e.g., third_party/externals/libjpeg/libjpeg.gyp) will include common.gypi too.
Review URL: https://codereview.appspot.com/5820068

git-svn-id: http://skia.googlecode.com/svn/trunk@3411 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-16 13:52:49 +00:00
reed@google.com
61c22047dc add SkCreateDataProviderFromStream to SkCGUtils
implement SkFontHost create_from_file/stream using SkCGUtils



git-svn-id: http://skia.googlecode.com/svn/trunk@3249 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 15:29:00 +00:00
reed@google.com
17aa07df01 add unittest for FontHost (just tables at the moment)
git-svn-id: http://skia.googlecode.com/svn/trunk@3233 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 14:51:10 +00:00
djsollen@google.com
60abb078e5 Merge changes from the android repo upstream to Skia
Review URL: https://codereview.appspot.com/5545070

git-svn-id: http://skia.googlecode.com/svn/trunk@3199 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-15 18:49:15 +00:00
djsollen@google.com
62b24b1c80 Fix android build and cleanup references to SkMMapStream
Review URL: http://codereview.appspot.com/5489050

git-svn-id: http://skia.googlecode.com/svn/trunk@2877 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 16:16:22 +00:00
caryclark@google.com
d26147adbb add optional manual global initialization
M    include/effects/SkAvoidXfermode.h
M    include/effects/SkDiscretePathEffect.h
M    include/effects/Sk1DPathEffect.h
M    include/effects/Sk2DPathEffect.h
M    include/effects/SkBlurDrawLooper.h
M    include/effects/SkPixelXorXfermode.h
M    include/effects/SkDashPathEffect.h
M    include/effects/SkColorMatrixFilter.h
M    include/effects/SkEmbossMaskFilter.h
M    include/effects/SkLayerDrawLooper.h
M    include/effects/SkGroupShape.h
M    include/effects/SkBlurImageFilter.h
M    include/effects/SkRectShape.h
A    include/effects/SkEffects.h
M    include/effects/SkCornerPathEffect.h
M    include/effects/SkGradientShader.h
M    include/effects/SkBlurMaskFilter.h
M    include/effects/SkLayerRasterizer.h
M    include/core/SkMallocPixelRef.h
M    include/core/SkFlattenable.h
M    include/core/SkShape.h
M    include/core/SkPixelRef.h
M    include/core/SkGraphics.h
M    include/core/SkPathEffect.h
M    include/core/SkPostConfig.h
M    include/core/SkXfermode.h
M    include/core/SkColorFilter.h
M    include/images/SkFlipPixelRef.h
M    include/images/SkImageRef_GlobalPool.h
M    src/effects/SkDashPathEffect.cpp
M    src/effects/SkColorMatrixFilter.cpp
M    src/effects/SkBlurImageFilter.cpp
M    src/effects/SkGroupShape.cpp
M    src/effects/SkCornerPathEffect.cpp
M    src/effects/SkGradientShader.cpp
M    src/effects/SkBlurMaskFilter.cpp
M    src/effects/SkAvoidXfermode.cpp
M    src/effects/Sk2DPathEffect.cpp
M    src/effects/SkBlurDrawLooper.cpp
M    src/effects/SkPixelXorXfermode.cpp
M    src/effects/SkColorFilters.cpp
M    src/effects/SkLayerDrawLooper.cpp
M    src/effects/SkRectShape.cpp
A    src/effects/SkEffects.cpp
M    src/effects/SkLayerRasterizer.cpp
M    src/effects/SkDiscretePathEffect.cpp
M    src/effects/Sk1DPathEffect.cpp
A    src/effects/SkEffects_none.cpp
M    src/core/SkPixelRef.cpp
M    src/core/SkGraphics.cpp
M    src/core/SkFlattenable.cpp
M    src/core/SkBitmapProcShader.h
M    src/core/SkPathEffect.cpp
M    src/core/SkShape.cpp
M    src/core/SkXfermode.cpp
M    src/core/SkMallocPixelRef.cpp
M    src/core/SkBitmapProcShader.cpp
M    src/images/SkFlipPixelRef.cpp
M    src/images/SkImageRef_GlobalPool.cpp
A    src/ports/SkGlobalInitialization_chromium.cpp
M    src/ports/SkImageRef_ashmem.h
M    src/ports/SkImageRef_ashmem.cpp
A    src/ports/SkGlobalInitialization_default.cpp
M    gyp/effects.gyp
M    gyp/tools.gyp
M    gyp/ports.gyp



git-svn-id: http://skia.googlecode.com/svn/trunk@2876 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-15 14:16:43 +00:00
caryclark@google.com
afcb55c8cb move ports into its own gyp file
git-svn-id: http://skia.googlecode.com/svn/trunk@2874 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 17:12:04 +00:00