Commit Graph

418 Commits

Author SHA1 Message Date
reed@google.com
33535f3c48 Reimplement drawBitmapRectToRect to correctly handle fraction srcRect.
The prev impl relied on drawBitmap "deducing" the destination rect by applying
the computed matrix to the bitmap's bounds. This cannot be done if the srcRect
is fractional, and therefore not representable w/ a bitmap.

The new impl computes the same matrix, but calls down to the device via drawRect
+ a bitmap_shader. This allows us to specfiy the dstRect explicitly.

The possible down-side is that we now rely on the device subclass to efficiently
handle draRect+shader, instead of calling its drawBitmap entry-point.

To give the device the chance to handle this differently, I now call through to
a new device virtual: drawBitmapRect. The default impl is to create the shader
and call drawRect, but a subclass can intercept that.

For now, the GPU override of drawBitmapRect is mimicing the old behavior (by
rounding the srcRect to an iRect). This preserves its ability to call drawBitmap
which handles very-large textures, but shows some gittering/imprecision, due to
the rounding. ... this is the same GPU behavior we have before this CL.
Review URL: https://codereview.appspot.com/6542065

git-svn-id: http://skia.googlecode.com/svn/trunk@5663 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-25 15:37:50 +00:00
tfarina@chromium.org
b1b7f70790 Add a header for OverView.cpp as well.
This fixes another FIXMEs.

Signed-off-by: Thiago Farina <tfarina@chromium.org>

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5576 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 01:52:20 +00:00
epoger@google.com
cbc4a5d96c Add file I forgot in https://code.google.com/p/skia/source/detail?r=5552
git-svn-id: http://skia.googlecode.com/svn/trunk@5554 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 18:52:10 +00:00
epoger@google.com
6a12178fb3 Add a header file for TransitionView.cpp
committed from https://codereview.appspot.com/6492119/ for Thiago Farina <tfarina@chromium.org>

git-svn-id: http://skia.googlecode.com/svn/trunk@5552 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-14 18:42:01 +00:00
robertphillips@google.com
178a267a6c Address warnings from clang build bot
http://codereview.appspot.com/6506111/



git-svn-id: http://skia.googlecode.com/svn/trunk@5518 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-13 13:25:30 +00:00
scroggo@google.com
d8a6cc814f Make texteffects gm work through serialization and pipe.
Move Line2DPathEffect (now Sk_) into a separate header file so it can
be shared and initialized.

Switch to the shared version in SampleAll and SampleSlides.

Remove the skip pipe flag from texteffects, since it can now be serialized.

I have a separate change to turn serialization on by default at https://codereview.appspot.com/6498121/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5512 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-12 18:53:49 +00:00
reed@google.com
43e1014591 update MS counter to show actual milliseconds
git-svn-id: http://skia.googlecode.com/svn/trunk@5458 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-10 11:52:52 +00:00
reed@google.com
7c57e0e7cc apend sample_grab file name with .png
git-svn-id: http://skia.googlecode.com/svn/trunk@5451 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-08 21:20:33 +00:00
reed@google.com
8d8847521e change duration of transition animation to 1, effectively removing it (for now)
git-svn-id: http://skia.googlecode.com/svn/trunk@5450 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-08 20:14:23 +00:00
skia.committer@gmail.com
11f869277c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5373 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 17:14:46 +00:00
reed@google.com
0a5c18ba79 (disabled) option to re-record a picture when loading
git-svn-id: http://skia.googlecode.com/svn/trunk@5366 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 13:32:47 +00:00
rmistry@google.com
ae933ce0ea Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part III of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6475053

git-svn-id: http://skia.googlecode.com/svn/trunk@5264 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:19:56 +00:00
scroggo@google.com
85cade0a10 Move tiling up into SampleWindow.
Now the tiles do not move with the view, and tiling persists when changing slides.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5146 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-17 13:29:50 +00:00
bungeman@google.com
b49d989997 Remove SK_FONTHOST_WIN_DW define.
git-svn-id: http://skia.googlecode.com/svn/trunk@5132 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 17:35:58 +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
robertphillips@google.com
a22e2117e4 Extended Inst counting to find "unknown" leaked object (SkTMaskGamma)
http://codereview.appspot.com/6453127/



git-svn-id: http://skia.googlecode.com/svn/trunk@5123 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 14:58:06 +00:00
reed@google.com
56b64a5331 change tiling to 16 tiles instead of 4
git-svn-id: http://skia.googlecode.com/svn/trunk@5120 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 20:44:36 +00:00
scroggo@google.com
e2dd973e4b Provide a key to go to the previous slide in SampleApp.
The left key now mirrors the right key, and goes to the previous slide.
It used to change the device type, which can still be done by pressing
'd' or using the menu.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5119 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 20:03:06 +00:00
reed@google.com
67b89eeeb0 add 't' to toggle tiling modes
Review URL: https://codereview.appspot.com/6446138

git-svn-id: http://skia.googlecode.com/svn/trunk@5109 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-15 14:41:58 +00:00
rmistry@google.com
bda03db289 Fixing source files that do not have newlines at the end.
Found using the new unsubmitted newline_checker slave script:
piraeus.cnc.corp.google.com:10125/builders/Skia_House_Keeping/builds/5/steps/shell_1/logs/stdio
Review URL: https://codereview.appspot.com/6443124

git-svn-id: http://skia.googlecode.com/svn/trunk@5097 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 20:27:54 +00:00
mike@reedtribe.org
3d1cb97240 move texteffects from Sample to gm
git-svn-id: http://skia.googlecode.com/svn/trunk@5051 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 00:52:07 +00:00
reed@google.com
d74e710c00 remove SkShape (unused)
Review URL: https://codereview.appspot.com/6461069

git-svn-id: http://skia.googlecode.com/svn/trunk@5033 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 18:05:33 +00:00
mike@reedtribe.org
e012e0a341 privatize SkEdgeClipper.h
git-svn-id: http://skia.googlecode.com/svn/trunk@5027 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-09 01:26:07 +00:00
djsollen@google.com
c73dd5c688 Update SkFlattenable buffers to be more modular.
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...

1. Move flattenable buffers from SkFlattenable.h into
   their own header.
2. Update and Add new read write methods for better clarity
   and convenience.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:54:32 +00:00
bsalomon@google.com
2e40173c95 revert gpu-less mac sample app, remove busted sample (that has equivalent gm)
Review URL: https://codereview.appspot.com/6450088/



git-svn-id: http://skia.googlecode.com/svn/trunk@4954 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 19:25:10 +00:00
reed@google.com
b196374e6f --picture foo now works if foo is an image (.png, .jpeg) or a picture (.skp)
git-svn-id: http://skia.googlecode.com/svn/trunk@4944 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 13:39: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
chudy@google.com
4605a3f3ff Added --picture flag to SampleApp, loads individual skp.
Review URL: https://codereview.appspot.com/6452077

git-svn-id: http://skia.googlecode.com/svn/trunk@4895 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 17:58:01 +00:00
robertphillips@google.com
622a17091b Fixed minor memory leaks
http://codereview.appspot.com/6453066/



git-svn-id: http://skia.googlecode.com/svn/trunk@4866 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 19:23:02 +00:00
reed@google.com
076f4c9791 fix LayerDrawLooper to record its fFlagsMask
convert SampleDrawLooper to a GM



git-svn-id: http://skia.googlecode.com/svn/trunk@4854 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 14:32:38 +00:00
robertphillips@google.com
59f46b81f8 Fixed Windows compiler complaints
http://codereview.appspot.com/6392044



git-svn-id: http://skia.googlecode.com/svn/trunk@4511 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 17:30:58 +00:00
senorblanco@chromium.org
3a67a668db Add an SK_PRINTF_LIKE macro, which declares a function to have printf-like
semantics, allowing gcc and clang to check the format string against the
arguments.  Enable its use on SkString (printf, appendf, and prependf).  Also
define an SK_SIZE_T_SPECIFIER macro so there's a cross-platform way of
printing a size_t.

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



git-svn-id: http://skia.googlecode.com/svn/trunk@4485 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 18:22:08 +00:00
rileya@google.com
3e33258cd1 Added GPU implementation of 2-point conical gradient.
Review URL: https://codereview.appspot.com/6354062

git-svn-id: http://skia.googlecode.com/svn/trunk@4442 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 13:43:35 +00:00
scroggo@google.com
4f1f6bf050 Properly handle extracted bitmaps in cross process/shared addr space SkGPipe.
Use the pixel ref which we have already copied and the appropriate pixel ref
offset.

Turn SampleDrawBitmap into a GM to test this functionality.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4417 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-02 13:35:09 +00:00
reed@google.com
a23d048209 remove SkInstCnt tracking of SkViewRegistry
git-svn-id: http://skia.googlecode.com/svn/trunk@4352 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-26 20:15:42 +00:00
reed@google.com
814df5e851 don't add SkViewRegistry to SkInstCnt
git-svn-id: http://skia.googlecode.com/svn/trunk@4351 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-26 19:54:52 +00:00
scroggo@google.com
6eb0d62cc3 Register some flattenable factories.
Now, SkComposeShaders, SkDiscreteMapper, SkCosineMapper,
Line2DPathEffect, and SkTransparentShader can be flattened
and unflattened. This makes more of our samples work when
using a pipe.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4334 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-25 20:32:12 +00:00
djsollen@google.com
94e75ee46a Rename the existing flatten(void*) methods.
This change avoids naminc confusion with the SkFlattenable flatten methods and
also changes SkPath to use the void* model instead of taking a SkReader32.
Review URL: https://codereview.appspot.com/6299062

git-svn-id: http://skia.googlecode.com/svn/trunk@4215 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 18:30:46 +00:00
scroggo@google.com
b073d920c9 Add a tiled pipe mode to SampleApp.
Using the "Pipe" checkbox in SamleApp, you can now
toggle amongst three states: no pipe, a normal pipe
(or others depending on #defines), and a tiled pipe.
You can also use shift + p to toggle.
Review URL: https://codereview.appspot.com/6303055

git-svn-id: http://skia.googlecode.com/svn/trunk@4213 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 15:35:03 +00:00
caryclark@google.com
e3510507b7 one more warning suppressed (make unused code
avoid bit rot)

git-svn-id: http://skia.googlecode.com/svn/trunk@4191 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:13:40 +00:00
caryclark@google.com
02939ce4bd fix warnings on Mac in ssamplecode
Fix these class of warnings:
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation

The changes prefer to link in dead code in the debug build
with 'if (false)' than to comment it out, but trivial cases
are commented out or sometimes deleted if it appears to be
a copy/paste error.
Review URL: https://codereview.appspot.com/6301044

git-svn-id: http://skia.googlecode.com/svn/trunk@4183 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:09:51 +00:00
robertphillips@google.com
07ef911f18 Fixed Linux compiler complaints
http://codereview.appspot.com/6269045/



git-svn-id: http://skia.googlecode.com/svn/trunk@4135 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-04 13:22:14 +00:00
reed@google.com
1830c7aa3c --pictureDir foo will load serialized pictures <>.skp from the foo directory
git-svn-id: http://skia.googlecode.com/svn/trunk@4132 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-04 12:05:43 +00:00
reed@google.com
fd4be26c42 Change patheffect to take a (new) StrokeRec object, which encapsulates the fill
or stroke parameters for a path.

Today, the patheffect only sees if the caller was going to stroke or fill, and
if stroke, it just sees the width. With this change, the effect can see all of the
related parameters (e.g. cap/join/miter). No other change is intended at this
time.

After this change, I hope to use this additional data to allow SkDashPathEffect
to, at times, apply the stroke as part of its effect, which may be much more
efficient than first dashing, and then reading that and stroking it.

Most of these files changed just because of the new parameter to filterPath. The
key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp
Review URL: https://codereview.appspot.com/6250051

git-svn-id: http://skia.googlecode.com/svn/trunk@4048 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-25 01:04:12 +00:00
reed@google.com
d3521f1a8d revert 4046 -- GM:pathfill failed on one bot, maybe uninitialized memory somewhere?
git-svn-id: http://skia.googlecode.com/svn/trunk@4047 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-24 20:32:22 +00:00
reed@google.com
9797272edf Change patheffect to take a (new) StrokeRec object, which encapsulates the fill
or stroke parameters for a path.

Today, the patheffect only sees if the caller was going to stroke or fill, and if
stroke, it just sees the width. With this change, the effect can see all of the
related parameters (e.g. cap/join/miter). No other change is intended at this
time.

After this change, I hope to use this additional data to allow SkDashPathEffect
to, at times, apply the stroke as part of its effect, which may be much more
efficient than first dashing, and then reading that and stroking it.

Most of these files changed just because of the new parameter to filterPath. The
key changes are in SkPathEffect.[h,cpp], SkPaint.cpp and SkScalerContext.cpp
Review URL: https://codereview.appspot.com/6249050

git-svn-id: http://skia.googlecode.com/svn/trunk@4046 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-24 20:13:57 +00:00
robertphillips@google.com
67febd9506 Converted AAClips SampleApp slide to GM:simpleaaclip
http://codereview.appspot.com/6220043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4025 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-22 12:14:50 +00:00
tomhudson@google.com
ffe39bd3b6 Fix type errors and a few warnings for Visual Studio 2010 64-bit build.
We're still far from 64b statically safe, mostly around SkReader32.h
and the address-alignment code in GrTypes.h.
Original code provided by jianliang79.

http://code.google.com/p/skia/issues/detail?id=601



git-svn-id: http://skia.googlecode.com/svn/trunk@3994 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 15:38:00 +00:00
robertphillips@google.com
2470b25ac8 Updated AAClips Sample slide and complexclip2 GM to exercise AA clipping
http://codereview.appspot.com/6212047/

will require image rebaselining



git-svn-id: http://skia.googlecode.com/svn/trunk@3943 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 17:03:16 +00:00
robertphillips@google.com
706f6212c6 Fixes for Windows Release compiler complaints (overflow in const arith)
http://codereview.appspot.com/6210056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3926 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 17:51:23 +00:00