Commit Graph

25 Commits

Author SHA1 Message Date
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
borenet@google.com
db2e25a7d4 Fix NoGPU build
Some link settings were set in the wrong targets

git-svn-id: http://skia.googlecode.com/svn/trunk@6246 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-01 18:01:08 +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
tfarina@chromium.org
e5877e6d9c Delete SkWidget.cpp, which has been #ifdef'ed out for 4+ years.
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5942 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-12 23:29:40 +00:00
borenet@google.com
b364eb6c87 Fix ANGLE build
Removed this in r5889.
Review URL: https://codereview.appspot.com/6651051

git-svn-id: http://skia.googlecode.com/svn/trunk@5904 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:23:46 +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
tfarina@chromium.org
e229e92ea5 Remove deprecated SkOSWindow_wxwidgets.h
It seems we never really supported WxWidgets.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5708 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-27 13:44:57 +00:00
bsalomon@google.com
cf8fb1f6f0 Create GPU-less build of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
bungeman@google.com
37946b5b2e Move animated view headers to correct directory.
git-svn-id: http://skia.googlecode.com/svn/trunk@4524 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 21:54:31 +00:00
robertphillips@google.com
021bce94a3 Delivering .gyp files to enable building & linking w/ ANGLE on Windows
http://codereview.appspot.com/5933057/



git-svn-id: http://skia.googlecode.com/svn/trunk@3580 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-02 20:42:26 +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
bungeman@google.com
802eee956c Move SkTextBox.h from utils to views.
git-svn-id: http://skia.googlecode.com/svn/trunk@3531 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 20:01:06 +00:00
bungeman@google.com
5e41b37b23 Remove circular dependency of views and animator.
http://codereview.appspot.com/5874056/


git-svn-id: http://skia.googlecode.com/svn/trunk@3473 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 14:11:43 +00:00
epoger@google.com
c62923d6ad Move unix_test_app/main.cpp to src/views/unix/skia_unix.cpp
Review URL: https://codereview.appspot.com/5881048

git-svn-id: http://skia.googlecode.com/svn/trunk@3466 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 15:37:22 +00:00
bungeman@google.com
cbd76ae138 Utils must not depend on Views.
http://codereview.appspot.com/5867051/


git-svn-id: http://skia.googlecode.com/svn/trunk@3459 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 20:59:49 +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
djsollen@google.com
6ff82553df Add support for building Android SampleApp.
Review URL: http://codereview.appspot.com/5342051

git-svn-id: http://skia.googlecode.com/svn/trunk@2617 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-07 15:43:57 +00:00
yangsu@google.com
a8540416f6 Switched Mac SampleApp to use Cocoa, removed the seperate CocoaSampleApp, moved dependencies out of experimental
git-svn-id: http://skia.googlecode.com/svn/trunk@2190 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-30 14:40:49 +00:00
epoger@google.com
8846cb22ce Create new 'skia_os' variable to replace use of 'OS' in most places.
http://codereview.appspot.com/4627085



git-svn-id: http://skia.googlecode.com/svn/trunk@1782 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 20:20:07 +00:00
epoger@google.com
5351b373b3 combine target_defaults.gypi into common.gypi
http://codereview.appspot.com/4654080



git-svn-id: http://skia.googlecode.com/svn/trunk@1780 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-01 17:16:26 +00:00
senorblanco@chromium.org
52bbe140a3 Remove some files from views.gyp that already being compiled into utils.gyp
(already done for Linux, this change does the same for Mac and Win).

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



git-svn-id: http://skia.googlecode.com/svn/trunk@1654 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-20 19:46:42 +00:00
epoger@google.com
0a030cde4e fix gyp-generated xcode project files for SampleApp and other targets
see http://codereview.appspot.com/4515181/



git-svn-id: http://skia.googlecode.com/svn/trunk@1482 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-02 19:52:14 +00:00
senorblanco@chromium.org
907afcadfa Add a missing include path for the linux build of utils.gyp. Remove the Linux
utils files from the build of views.a, since they're already being compiled into
utils.a, since it was causing unnecessary rebuilds (the same could probably be
done for linux and mac).  Remove the commented-out SkImageDecoder_libpvjpeg.cpp,
which has been removed from SVN.  

http://codereview.appspot.com/4532105/



git-svn-id: http://skia.googlecode.com/svn/trunk@1476 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-01 20:55:45 +00:00
epoger@google.com
ae85aea58e split skia.gyp into separate gypfile for each source dir
see http://codereview.appspot.com/4527084/

Now, to build out/Debug/SampleApp on Linux, do the following:

cd trunk/gyp
rm -rf Makefile *mk *.Makefile out
./gyp_skia -fmake --ignore-environment "--toplevel-dir=$PWD" \
  -Icommon.gypi "--depth=$PWD" SampleApp.gyp
make



git-svn-id: http://skia.googlecode.com/svn/trunk@1446 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-31 13:50:51 +00:00