reed@google.com
43c50c8c77
add reflection asColorMode to SkColorFilter (for gpu)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1126 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 15:50:52 +00:00
bsalomon@google.com
586f48cfa8
Add genID for SkBitmaps with raw pixels
...
Review URL: http://codereview.appspot.com/4413047/
git-svn-id: http://skia.googlecode.com/svn/trunk@1125 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 15:07:22 +00:00
mike@reedtribe.org
a8282ef8f9
add mask for paint-bits to layerdrawlooper
...
change addLayer variants that don't respect paint changes to return void
git-svn-id: http://skia.googlecode.com/svn/trunk@1123 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 01:22:45 +00:00
reed@google.com
c0d4aa2088
fix asMode() to always succeed if the xfermode was built from a Mode
...
update dox to reflect this
update test
git-svn-id: http://skia.googlecode.com/svn/trunk@1121 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 21:12:04 +00:00
wjmaclean@chromium.org
1fbf760a12
Fix SkFixed overflows in SkFixedSquare, SkGradientShader.
...
Return SK_FixedMax when overflow occurs.
git-svn-id: http://skia.googlecode.com/svn/trunk@1117 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 13:31:06 +00:00
reed@google.com
0716c63332
expand SkLayerDrawLooper to allow for an xfermode when transfering the paint's color,
...
and allow that the offset be applied pre or post
git-svn-id: http://skia.googlecode.com/svn/trunk@1115 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-12 18:32:06 +00:00
vandebo@chromium.org
75f97e452e
Generalize the flip origin argument to the PDF device constructor.
...
The argument still has a default value that does what most users will want, but provides more flexibility.
Chrome will use this change to support an initial translation of the origin to simulate a margin and to scale the entire content (needed on Windows).
When landing to Chrome, this will need http://codereview.chromium.org/6820038
Review URL: http://codereview.appspot.com/4373052
git-svn-id: http://skia.googlecode.com/svn/trunk@1111 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 23:24:18 +00:00
reed@google.com
24fb8e2cce
mark viewport APIs as deprecated
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1108 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:42:50 +00:00
reed@google.com
ad91799832
code style
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1106 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:01:12 +00:00
bsalomon@google.com
5877ffd5ea
Add APIs and plumbing for external rendertaret-textures w/ and w/out MSAA.
...
Review URL: http://codereview.appspot.com/4388049/
git-svn-id: http://skia.googlecode.com/svn/trunk@1102 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 17:58:48 +00:00
mike@reedtribe.org
4e1d3acc16
code style
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1095 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-10 01:04:37 +00:00
mike@reedtribe.org
2c8fc5a703
add init() to SkTLazy to create a default instance
...
use SkLazyPaint in internalDrawBitmap
git-svn-id: http://skia.googlecode.com/svn/trunk@1093 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-10 00:35:29 +00:00
mike@reedtribe.org
bcc1d33e94
coding style updates
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1090 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-09 19:16:54 +00:00
mike@reedtribe.org
0e2810be95
add optional bitflags to control which aspect of each layer's paint is applied
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1083 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-08 02:41:54 +00:00
reed@google.com
4e2b3d3fb1
Simplify drawloopers and drawfilters. This allows the canvas to keep its
...
promise that const SkPaint& stay const (so we don't have bugs if a const paint
is referenced from two threads in pictures)
git-svn-id: http://skia.googlecode.com/svn/trunk@1074 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-07 14:18:59 +00:00
reed@google.com
a076e9be17
use new template class SkTLazy for deferred paint initialization
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1070 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-06 20:17:29 +00:00
vandebo@chromium.org
139d84b263
Remove transitionary version of getAdvancedTypefaceMetrics. Webkit has been updated.
...
Review URL: http://codereview.appspot.com/4383041
git-svn-id: http://skia.googlecode.com/svn/trunk@1068 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-06 18:18:20 +00:00
vandebo@chromium.org
c7a38f38c9
Make SkFlate buffers statically sized (fixes Windows compile).
...
Review URL: http://codereview.appspot.com/4357054
git-svn-id: http://skia.googlecode.com/svn/trunk@1059 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 20:11:32 +00:00
bsalomon@google.com
669fdc4ed8
Adds read pixels to GrTexture and GrRenderTarget
...
Adds SkGrRenderTargetPixelRef for SkBitmaps that are backed by RTs that aren't textures.
Adds onReadPixels implementations for SkGr pixel ref types
git-svn-id: http://skia.googlecode.com/svn/trunk@1056 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 17:08:27 +00:00
reed@google.com
62ab7addb0
export SkDraw::ComputeRectType() and share that with SkGpuDevice
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1055 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-05 14:08:25 +00:00
vandebo@chromium.org
f71b2103d5
[PDF] Make the NOT_IMPLEMENTED macro not print anything by default.
...
Review URL: http://codereview.appspot.com/4351046
git-svn-id: http://skia.googlecode.com/svn/trunk@1050 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 19:46:31 +00:00
reed@google.com
761fb62b0e
reenable fast stroked rects, now that we correctly handle non-square scale
...
also, degenerate non-antialias rectangles now draw properly
git-svn-id: http://skia.googlecode.com/svn/trunk@1049 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 18:58:05 +00:00
mike@reedtribe.org
7ff678bc16
faster stroke rects
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1042 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-04 14:38:12 +00:00
reed@google.com
50dfa0130b
add pixelref->readPixels()
...
unimplemented (for now) on the gpu side
git-svn-id: http://skia.googlecode.com/svn/trunk@1037 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-01 19:05:36 +00:00
reed@google.com
f1ec465f87
add () to fix warning
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1033 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-01 14:30:00 +00:00
bsalomon@google.com
8fe72477f2
Add GrResource base class for ibs, texs, vbs, etc.
...
Add lostContext() to GrContext.
Review URL: http://codereview.appspot.com/4328044/
git-svn-id: http://skia.googlecode.com/svn/trunk@1026 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 21:26:44 +00:00
reed@google.com
a7d948523d
replace SkRefDict with SkMetaData (much more general)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1025 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 21:23:07 +00:00
ctguil@chromium.org
dfc5ffe478
Additional SK_API annotations needed for print preview on windows.
...
Review URL: http://codereview.appspot.com/4324042
git-svn-id: http://skia.googlecode.com/svn/trunk@1022 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 20:14:49 +00:00
vandebo@chromium.org
325cb9aa17
Improve the SkAdvancedTypefaceMetrics interface w.r.t. vertical advances.
...
Add a template function to type safe-combine bits of a bit field.
Review URL: http://codereview.appspot.com/4313053
git-svn-id: http://skia.googlecode.com/svn/trunk@1020 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 18:36:29 +00:00
reed@google.com
e733071abe
add refcnt helper to metadata
...
add unittests for metadata
git-svn-id: http://skia.googlecode.com/svn/trunk@1019 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 18:23:21 +00:00
reed@google.com
5e3496e555
move SkMetaData into core
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1018 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 17:10:42 +00:00
reed@google.com
9266fed56a
add getTopLayer(), so clients don't have to use a LayerIter just to get
...
the top. (very common for chrome)
git-svn-id: http://skia.googlecode.com/svn/trunk@1016 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 00:18:03 +00:00
vandebo@chromium.org
cae5fba82e
Store content streams in an SkStream instead of an SkString (64k size limit).
...
Review URL: http://codereview.appspot.com/4272070
git-svn-id: http://skia.googlecode.com/svn/trunk@1011 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-28 19:03:50 +00:00
reed@google.com
94f6a730bb
add experimental Relay class
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1010 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-28 03:47:18 +00:00
reed@google.com
7ff8d81290
add dox for drawPath, describing how to interpret the prePathMatrix.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1006 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-25 15:08:16 +00:00
reed@google.com
b123c9d997
Remove optional impl for SkClampMax that relied on not wrapping, as in fact
...
we do sometimes (e.g. gradients).
git-svn-id: http://skia.googlecode.com/svn/trunk@1003 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-24 19:17:31 +00:00
Scroggo
0f185c2709
Move zoomer into SampleApp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1002 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-24 18:35:50 +00:00
scroggo
7b11807968
Fix a crash.
...
http://codereview.appspot.com/4272065/
git-svn-id: http://skia.googlecode.com/svn/trunk@986 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-23 15:04:26 +00:00
reed@google.com
0a0a236c3b
Initialize fClip in SkBounder, in case doIRect() is called before it is used
...
inside a canvas (which calls setClip).
Export a global empty region. Used by SkBounder's constructor.
git-svn-id: http://skia.googlecode.com/svn/trunk@985 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-23 13:51:55 +00:00
reed@google.com
df49991eb3
add SkCreateTypefaceFromCTFont() to create a typeface directly from a CTFontRef
...
Compute the actual style from the returned CTFontRef, rather than assuming the
request will always be met.
git-svn-id: http://skia.googlecode.com/svn/trunk@979 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-22 14:07:59 +00:00
scroggo
08526c07f4
Add a 'fatbits' mode to unix sample app.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@978 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-22 14:03:21 +00:00
bsalomon@google.com
918261018f
Add GR_DLL builds to Ganesh (minimal exports for Chrome multi-dll for now).
...
Review URL: http://codereview.appspot.com/4301044/
git-svn-id: http://skia.googlecode.com/svn/trunk@970 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-21 19:51:57 +00:00
mike@reedtribe.org
dd0cd34067
allow window-subclass to handle dispatching click events (for resize)
...
add drag tracking to Draw
git-svn-id: http://skia.googlecode.com/svn/trunk@967 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-21 00:53:39 +00:00
mike@reedtribe.org
b7d956df46
add draw sample
...
git-svn-id: http://skia.googlecode.com/svn/trunk@966 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-20 20:19:16 +00:00
vandebo@chromium.org
57463e1908
Make SkDeviceFactory part of the API.
...
Review URL: http://codereview.appspot.com/4273081
git-svn-id: http://skia.googlecode.com/svn/trunk@965 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-19 17:27:49 +00:00
scroggo
b66365f5dd
Updates to the unix sample app.
...
Rather than placing pixels, use XPutImage to place the bitmap on screen.
Modify the color arrangements for 8888 when building the sample app, so
they agree with X.
Add a title to simple sample.
Include SkTouchGesture.
git-svn-id: http://skia.googlecode.com/svn/trunk@963 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 21:43:03 +00:00
reed@google.com
97fa34c5f0
change operator== to return bool instead of int
...
update dox formating
git-svn-id: http://skia.googlecode.com/svn/trunk@956 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 14:44:42 +00:00
bsalomon@google.com
c8ad63e5e4
Initial GYP file for skia / gr. Builds SampleApp on Mac, Windows, Linux.
...
Review URL: http://codereview.appspot.com/4282056/
git-svn-id: http://skia.googlecode.com/svn/trunk@955 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-18 14:29:44 +00:00
reed@google.com
9d07fec374
update dox for setLooper()
...
update some { } styles
git-svn-id: http://skia.googlecode.com/svn/trunk@948 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-16 20:02:59 +00:00
reed@google.com
52f57e1d11
add fling
...
git-svn-id: http://skia.googlecode.com/svn/trunk@946 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-16 12:10:02 +00:00
ctguil@chromium.org
109a2e3afa
Add SK_API to SkCreateTypefaceFromLOGFONT.
...
Review URL: http://codereview.appspot.com/4273062
git-svn-id: http://skia.googlecode.com/svn/trunk@945 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-16 00:31:36 +00:00
ctguil@chromium.org
7ffb1b21ab
Add code needed to build skia as a windows dll within the chromium project.
...
- Export/import skia APIs if SKIA_DLL is defined.
- This change has no effect on skia.
Review URL: http://codereview.appspot.com/4282042
git-svn-id: http://skia.googlecode.com/svn/trunk@944 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 21:27:08 +00:00
reed@google.com
f67e4cf4c1
add filterTextFlags() to SkDevice (virtual) to allow device subclasses to
...
filter what text features we try to use. The filtering allows for implementation
limitations to dictate when we turn off certain text features.
git-svn-id: http://skia.googlecode.com/svn/trunk@943 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 20:56:58 +00:00
reed@google.com
98539c607b
support lcd16 in text atlas (sans shader support)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@939 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 15:40:16 +00:00
scroggo
b7e9aee1ac
Add a sample application that runs on unix.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@938 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 15:15:15 +00:00
djsollen@google.com
cd9d69b9ce
Upstreaming changes from android.
...
- fix compile warnings in the GPU code
- upstream android specific code (ifdef protected)
- fail gracefully when a custom allocator fails
git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-14 20:30:14 +00:00
reed@google.com
e31241cfe3
undo recent addition of kLCD16_Format to FormatIsLCD()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@926 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-11 20:09:42 +00:00
vandebo@chromium.org
f77e27deb9
Use Type3 fonts for platforms that don't yet support SkFontHost::GetAdvancedTypefaceMetrics.
...
Review URL: http://codereview.appspot.com/4273041
git-svn-id: http://skia.googlecode.com/svn/trunk@922 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 22:50:28 +00:00
reed@google.com
8bd4c7964f
add kLCD16_Format to the list in FormatIsLCD()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@920 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 19:25:22 +00:00
bsalomon@google.com
498a623e2e
Remove offscreen GL support from SampleApp and SkOSWindow. This never worked anywhere but Mac and it doesn't work there anymore.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@918 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 18:24:15 +00:00
reed@google.com
f88d6765a5
check-point for kLCD16_Format mask support
...
disabled for now in SkPaint.cpp (for further testing)
git-svn-id: http://skia.googlecode.com/svn/trunk@917 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 15:06:27 +00:00
reed@google.com
63a6060fcd
add realloc() to SkAutoSMalloc, plus some documentation
...
git-svn-id: http://skia.googlecode.com/svn/trunk@913 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-10 13:07:35 +00:00
reed@google.com
981d479800
http://codereview.appspot.com/3980041/
...
Add blitmask procs (with optional platform acceleration)
patch by yaojie.yan
git-svn-id: http://skia.googlecode.com/svn/trunk@910 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-09 12:55:47 +00:00
vandebo@chromium.org
da912d61ed
[PDF] Add support for Shaders.
...
- Shaders, or as they are referred to in PDF, patterns, are drawn in the coordinate system of the initial page, so when we canonicalize them, we have to consider the current transform and where they are constructed.
- Image shaders are tiled by default, this makes repeat and mirror modes easy, but means we have to draw a pattern as large as the current clip to support clamp mode.
- Gradient shaders are implemented with type 4 functions, which are basically small snippets of post script code. I've tried to make the code generation modular and heavily commented to make it easy to understand or expand.
Review URL: http://codereview.appspot.com/4239061
git-svn-id: http://skia.googlecode.com/svn/trunk@905 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 18:31:02 +00:00
reed@google.com
ddbf4c85de
remove unused methods from SkRefPtr, as a check-point for better understanding
...
what we want to do with this class.
git-svn-id: http://skia.googlecode.com/svn/trunk@903 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 16:06:06 +00:00
reed@google.com
8cad58624b
add const to SkColorShader's asABitmap
...
git-svn-id: http://skia.googlecode.com/svn/trunk@900 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-08 14:51:44 +00:00
reed@google.com
7c2f27d788
make asABitmap() const
...
change private cache fields in gradient to be mutable
git-svn-id: http://skia.googlecode.com/svn/trunk@898 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-07 19:29:00 +00:00
bsalomon@google.com
bf4338cb3b
Fix Sample App on Win32 GL window resize, fix sk->gr convexity hint, fix grpath uninit warnings
...
Review URL http://codereview.appspot.com/4247055/
git-svn-id: http://skia.googlecode.com/svn/trunk@895 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 22:48:25 +00:00
reed@google.com
6f8f292aa7
add origin to device
...
used for interpreting the clipstack when a device is a layer
git-svn-id: http://skia.googlecode.com/svn/trunk@894 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 22:27:10 +00:00
ctguil@chromium.org
f966fd35cf
Add SkPDFUtils.cpp to build.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@893 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 21:47:04 +00:00
ctguil@chromium.org
9db86bb9cd
PDF Type3 Support.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@892 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 21:43:27 +00:00
bsalomon@google.com
5aaa69e433
Fixups for clipstack, convexity test for paths.
...
Review URL http://codereview.appspot.com/4250056/
git-svn-id: http://skia.googlecode.com/svn/trunk@891 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 20:29:08 +00:00
ctguil@chromium.org
0bc7bf5fe4
Implement SkScalerContext_Windows::generateGlyphCount() and provide access via SkGlyphCache interface.
...
* This will be used by PDF font code.
Review URL: http://codereview.appspot.com/4261042
git-svn-id: http://skia.googlecode.com/svn/trunk@888 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 19:04:57 +00:00
reed@google.com
9b74b1114a
export SkCreateTypefaceFromLOGFONT
...
git-svn-id: http://skia.googlecode.com/svn/trunk@886 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 15:56:12 +00:00
vandebo@chromium.org
094316bd28
[PDF] Restrict scalars to the range that PDF understands.
...
* Add a config flag to ignore the restrictions
* Apply restriction to both SkPDFScalar and scalars used in content streams.
* +/- 32,767 for the integer part.
* +/1 1/65536 for the fraction part.
Review URL: http://codereview.appspot.com/4240050
git-svn-id: http://skia.googlecode.com/svn/trunk@882 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-04 03:15:13 +00:00
reed@google.com
e280f1d164
bump SkStrAppendScalar_MaxSize to 15 to handle 3-digit exponents on some
...
platforms (like windows)
git-svn-id: http://skia.googlecode.com/svn/trunk@881 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 18:43:14 +00:00
vandebo@chromium.org
677cbedda7
Expose explicit functions to stringify float's and fixed's.
...
See http://codereview.appspot.com/4240050/
Review URL: http://codereview.appspot.com/4240068
git-svn-id: http://skia.googlecode.com/svn/trunk@880 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 18:20:12 +00:00
bsalomon@google.com
d302f1401b
Add support for clipstack to Gr. GrClip is now a list of rects and paths with set operations to combine them. The stencil buffer is used to perform the set operations to put the clip into the stencil buffer. Building Gr's clip from Skia's clipStack is currently disabled due to the fact that Skia's clipStack is relative to the root layer not the current layer. This will be fixed in a subsequent CL.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@878 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 13:54:13 +00:00
reed@google.com
1d12b1fd66
add setXYWH to rects
...
new tests for circles
git-svn-id: http://skia.googlecode.com/svn/trunk@877 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 13:23:35 +00:00
reed@google.com
8072e4fdc8
bump SkStrAppendScalar_MaxSize to 14 to accomodate the largest string now that
...
scalar->string uses %.8g. Floats have at most 8 significant digits, plus we add
more space for sign, decimal point and exponent.
add tests to check these limits.
git-svn-id: http://skia.googlecode.com/svn/trunk@872 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-01 15:44:08 +00:00
vandebo@chromium.org
0129410fbe
[PDF] Fix broken encoding conversion code for non-multibyte fonts.
...
Review URL: http://codereview.appspot.com/4245044
git-svn-id: http://skia.googlecode.com/svn/trunk@863 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-28 19:52:18 +00:00
reed@google.com
a67573e25f
http://codereview.appspot.com/4233041/
...
Add templated version of SkAutoTUnref.
Add unittests for it.
Remove unused helper apis on SkAutoUnref.
git-svn-id: http://skia.googlecode.com/svn/trunk@858 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-25 18:10:29 +00:00
vandebo@chromium.org
c2a9b7fe56
[PDF] Remove one copy of each content stream.
...
Review URL: http://codereview.appspot.com/4231044
git-svn-id: http://skia.googlecode.com/svn/trunk@856 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 23:22:30 +00:00
vandebo@chromium.org
f60a001d1a
[PDF] Change the way flip origin is done.
...
The PDF shader matrix is dependent on flip origin or not, so we need to set it at device creation time.
Review URL: http://codereview.appspot.com/4216046
git-svn-id: http://skia.googlecode.com/svn/trunk@855 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 23:14:04 +00:00
vandebo@chromium.org
112706d4c5
Add SkBitmap::getColor(int x, int y) - return the color of a pixel in a bitmap.
...
Review URL: http://codereview.appspot.com/4230041
git-svn-id: http://skia.googlecode.com/svn/trunk@854 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 22:50:55 +00:00
vandebo@chromium.org
d90c141feb
[PDF] Clean up SkPDFStream and make it inherit from SkPDFDict.
...
A stream is a dictionary (with a couple particular entries) plus the data.
The common parent is useful for the shader implementation.
Review URL: http://codereview.appspot.com/4221045
git-svn-id: http://skia.googlecode.com/svn/trunk@852 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 21:50:04 +00:00
reed@google.com
93c5f9e787
Guard globalRef() virtual with #ifdef ANDROID, as these are not implemented
...
nor called by Skia proper.
git-svn-id: http://skia.googlecode.com/svn/trunk@850 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 18:09:46 +00:00
reed@google.com
875b4ecef7
add isFixedWidth() to expose the newly added attribute
...
git-svn-id: http://skia.googlecode.com/svn/trunk@849 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 18:03:12 +00:00
vandebo@chromium.org
d3ae77965e
Add asAGradient shader extraction API.
...
Store initial gradient parameters.
Add compile asserts in GPU code for BitmapType ordering.
Review URL: http://codereview.appspot.com/4178063
git-svn-id: http://skia.googlecode.com/svn/trunk@845 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-24 00:21:06 +00:00
reed@google.com
7d7ca79c3e
add fClipStack optional field to SkDraw (it is always set by canvas)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@844 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-23 22:39:18 +00:00
djsollen@google.com
57f4969724
merge from android tree:
...
- optional parameters added to descriptorProc and allocPixels
- clip options to image decoders
- check for xfermode in blitter_a8
- UNROLL loops in blitrow
reviewed by reed@google.com
git-svn-id: http://skia.googlecode.com/svn/trunk@841 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-23 20:46:31 +00:00
reed@google.com
5b31b0f1ea
add fixed-width attribute to typeface
...
(patch from russellbrenner)
git-svn-id: http://skia.googlecode.com/svn/trunk@837 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-23 14:41:42 +00:00
bsalomon@google.com
57788b5ada
Fix warnings about struct being forward declared as a class
...
git-svn-id: http://skia.googlecode.com/svn/trunk@833 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 21:00:31 +00:00
reed@google.com
46799cd9f0
change virtual setMatrixClip() to take a SkClipStack parameter.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@831 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 20:56:26 +00:00
bsalomon@google.com
ffca400ef6
Make a separate path renderer object. Move enum types to GrTypes.h
...
Review URL http://codereview.appspot.com/4167067/
git-svn-id: http://skia.googlecode.com/svn/trunk@829 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 20:34:01 +00:00
reed@google.com
5c3d1471e4
add clipstack to canvas. not used yet, but will be for devices (e.g. gpu) that
...
want to see how the clip was built
git-svn-id: http://skia.googlecode.com/svn/trunk@824 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 19:12:23 +00:00
reed@google.com
4c09d5cd4b
rename SkDeque::Iter to SkDeque::F2BIter, since it runs front-to-back (in preparation
...
for another iter that runs back-to-front (B2FIter).
add unittest for Deque
git-svn-id: http://skia.googlecode.com/svn/trunk@821 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 13:16:38 +00:00
senorblanco@chromium.org
4868e6b221
[Committed on behalf of junov@chromium.org]
...
Fixed rendering of shadows under bitmaps.
Added an option to SkBlurMask to produce higher quality blurs.
The HQ blur option is propagated through SkBlurDrawLooper so that it can be invoked by WebKit for drawing shadows.
Added a shadow rendering test to gm.
Bugs fixed: 146, 150
Related Chromium bugs: 11153, 42654
Code review: http://codereview.appspot.com/4174049
git-svn-id: http://skia.googlecode.com/svn/trunk@818 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-18 19:03:01 +00:00
reed@google.com
40981ba42a
remove dead conditional code
...
git-svn-id: http://skia.googlecode.com/svn/trunk@811 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-18 12:57:26 +00:00
bsalomon@google.com
c6cf72381b
Hide alloc size vs content size below API
...
Remove old gl shaders class
Move texture matrix to sampler class
git-svn-id: http://skia.googlecode.com/svn/trunk@808 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-17 16:43:10 +00:00
reed@google.com
e686322eba
add no-check version of SkPackARGB32, for callers that want to deliberately
...
build a SkPMColor that may not be valid premultiplied (e.g. compatibility
with webgl)
see https://bugs.webkit.org/show_bug.cgi?id=54023
git-svn-id: http://skia.googlecode.com/svn/trunk@796 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-15 14:22:19 +00:00
vandebo@chromium.org
6f72d1eacd
Provide windows font host implementation needed to support TrueType text in pdf backend.
...
- Move AdvanceMetric template functions into new file SkAdvancedTypefaceMetrics.cpp
Review URL: http://codereview.appspot.com/4174041
git-svn-id: http://skia.googlecode.com/svn/trunk@789 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-14 23:19:59 +00:00
reed@google.com
077910e20c
add SkScalarIsFinite(), and use it for a more portable impl of SkRect::isValidCoords()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@775 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-08 21:56:39 +00:00
vandebo@chromium.org
4854327772
[PDF] Add support for xfermodes / blend modes.
...
- Change SkGraphicState to track and set the blend mode (xfermode) for modes built in to PDF (non porter duff modes + src over).
- Add SkXfermode::asMode() to retrieve xfermode as an enum for non porter duff modes.
- Move SkXfermode.cpp around a bit to support asMode() -- Generally move utility functions toward the top of the file.
- Make SkPDFFormXObject an isolated transparency group, as it used for saveLayer, which draws on transparent, not the device background.
- Set the graphic state in drawDevice and drawBitmap in order to get the right xfermode and alpha.
Review URL: http://codereview.appspot.com/4131043
git-svn-id: http://skia.googlecode.com/svn/trunk@774 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-08 19:28:07 +00:00
vandebo@chromium.org
79ac4fd6eb
[PDF] Change SkPDFFormXObject to not hold a reference to device.
...
This prevents two copies of the content stream from sticking around. It also fixes an invalid memory reference because SkCanvas::internalRestore deletes the device (maybe it should just unref) after drawing it onto the main device.
Review URL: http://codereview.appspot.com/4080056
git-svn-id: http://skia.googlecode.com/svn/trunk@773 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-08 19:22:40 +00:00
reed@google.com
3dd42b3c87
update dox for readPixels()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@772 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 22:44:43 +00:00
reed@google.com
88daf2803a
check for SK_BUILD_FOR_BREW
...
git-svn-id: http://skia.googlecode.com/svn/trunk@771 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 20:05:49 +00:00
wjmaclean@chromium.org
116b2bcd2c
Proposed fix for crash in Cr70244.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@764 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 17:48:37 +00:00
reed@google.com
82065d667f
remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
...
SkSafeRef() and SkSafeUnref().
This is basically a bug waiting to happen. An optimizing compiler can remove
checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on
precisely this check...
void SkRefCnt::safeRef() {
if (this) {
this->ref();
}
}
Since a compiler might skip the if-clause, it breaks the intention of this
method, hence its removal.
static inline void SkSafeRef(SkRefCnt* obj) {
if (obj) {
obj->ref();
}
}
This form is not ignored by an optimizing compile, so we use it instead.
git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 15:30:46 +00:00
vandebo@chromium.org
1aef2ed83c
[PDF] Start from an identity transform for drawDevice.
...
drawDevice, like drawSprite should start from the identity transform instead of applying the passed translation on top of the current transform.
Review URL: http://codereview.appspot.com/4023066
git-svn-id: http://skia.googlecode.com/svn/trunk@757 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-03 21:46:10 +00:00
reed@android.com
48cf8ac144
change forward decl of SkMatrix from struct (wrong) to class (correct)
...
fixes issue http://code.google.com/p/skia/issues/detail?id=139
git-svn-id: http://skia.googlecode.com/svn/trunk@755 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-03 15:51:56 +00:00
vandebo@chromium.org
c48b2b330f
Cleanup SkPDFTypfaceInfo and make it more generic.
...
Renamed to SkAdvancedTypefaceMetrics.
Include Em size and return all metrics in unscaled font units.
Make retrieval of advances optional.
Reorder SkAdvancedTypefaceMetrics to be somewhat logical.
Change the types of fields in SkAdvancedTypefaceMetrics to their minimum required size.
Review URL: http://codereview.appspot.com/4121049
git-svn-id: http://skia.googlecode.com/svn/trunk@752 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-02 02:11:22 +00:00
vandebo@chromium.org
f7c157610f
[PDF] Clean up ref counting.
...
Return ref'd objs where possible enabling removal of many SkRefPtr<> variables.
Review URL: http://codereview.appspot.com/4029051
git-svn-id: http://skia.googlecode.com/svn/trunk@750 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-01 22:19:44 +00:00
vandebo@chromium.org
1cfa2c4586
[PDF] Support image alpha channel plus a couple small fixes.
...
Fix bug in rendering paths with cubic segments.
Only compress data if the compressed size is smaller than the uncompressed size.
Review URL: http://codereview.appspot.com/4079048
git-svn-id: http://skia.googlecode.com/svn/trunk@747 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-31 19:35:43 +00:00
vandebo@chromium.org
befebb8a84
[PDF] Honor srcRect in drawBitmap.
...
Review URL: http://codereview.appspot.com/4083045
git-svn-id: http://skia.googlecode.com/svn/trunk@745 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-29 01:38:50 +00:00
reed@google.com
9d0d195ca4
update dox on bitmap configs
...
document testing build-flag for large bitmaps
git-svn-id: http://skia.googlecode.com/svn/trunk@744 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-28 22:19:22 +00:00
vandebo@chromium.org
8af0b36165
Fix windows build.
...
Review URL: http://codereview.appspot.com/3996048
git-svn-id: http://skia.googlecode.com/svn/trunk@739 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 21:59:00 +00:00
reed@google.com
dea520fc93
move into core for now, so we can build SkFontHost_FreeType.cpp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@738 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 20:32:23 +00:00
reed@google.com
c93a17f2df
fix mac build (don't need typedef struct foo foo)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@733 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-26 04:37:53 +00:00
reed@google.com
3636ed558f
embed a refdict inside SkDevice
...
udate unittests to test refdict's destructor
git-svn-id: http://skia.googlecode.com/svn/trunk@731 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 23:50:57 +00:00
reed@google.com
0e190d0e12
add refdict class, for holding a dictionary of reference-counted objects
...
-- experimental
git-svn-id: http://skia.googlecode.com/svn/trunk@730 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 23:36:05 +00:00
vandebo@chromium.org
02cc5aa736
Update SkPDFDevice::drawPath signature to match SkDevice.
...
Review URL: http://codereview.appspot.com/4068044
git-svn-id: http://skia.googlecode.com/svn/trunk@729 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 22:06:29 +00:00
vandebo@chromium.org
2a22e10ab2
Add Truetype and Type 1 font embedding support
...
Sorry this is such a large CL. It was very exploratory for me to make this
work.
- Add an interface to SkFontHost to retrieve font information and provide NULL implementations on all platforms except Linux.
- Segment large Type 1 fonts into fonts with shared resources with 255 glyphs each.
- Convert the various Type 1 formats to the form PDF wants.
- Update font as we draw text instead of as part of the graphical state.
- Remove built-in font support, we can't really use it.
Other changes I can pull out to a separate CL if you like.
- Add SkTScopedPtr class.
- Fix double free of resources.
- Fix bug in resource unique-ifying code.
- Don't print anything for any empty clip path.
- Fix copy paste error - MiterLimit.
- Fix sign extension bug in SkPDFString
- Fix FlateTest rename that was missed on a previous commit.
Review URL: http://codereview.appspot.com/4082042
git-svn-id: http://skia.googlecode.com/svn/trunk@728 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 21:01:34 +00:00
reed@google.com
c921843d85
fixes for some warnings:
...
- #if of something that was not defined
- explicit constructor call for baseclass in copy-constructor of subclass
http://code.google.com/p/skia/issues/detail?id=112
git-svn-id: http://skia.googlecode.com/svn/trunk@727 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 19:05:12 +00:00
reed@google.com
37a3133d20
fix comments for U8CPU and S16CPU
...
http://code.google.com/p/skia/issues/detail?id=113
git-svn-id: http://skia.googlecode.com/svn/trunk@723 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-25 14:55:42 +00:00
bsalomon@google.com
5782d712ff
Rev the GrContext interface. Context has draw* functions that take a new GrPaint object. Removed many of the lower-level GrGpu function call-throughs on context.
...
Remove unused/unsupported point size (we don't draw non-hairline points using GL points).
Change current* getter functions to get* for consistency.
Fix bounds when drawing inverse-filled paths.
git-svn-id: http://skia.googlecode.com/svn/trunk@718 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-21 21:03:59 +00:00
bsalomon@google.com
2e7b43d33c
Remove notion of default rendertarget. This doesn't map well to usage patterns outside sample app. Make binding between SkGpuDevice and a GrRenderTarget more explicit. Create method on GrContext to wrap the current target in the 3D API with a GrRenderTarget.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@706 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-18 20:57:22 +00:00
reed@google.com
d3b13bd5af
initialize SkGlyph::fMaskFormat to avoid valgrind warnings
...
rebaseline gradients now that we dither our 32bit src
git-svn-id: http://skia.googlecode.com/svn/trunk@692 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-13 16:33:36 +00:00
reed@google.com
7b201d2254
expose gpu-device-factory
...
use that factory in gpucanvas, rather than overriding createDevice
note: I think we now don't need the canvas parameter in device-factory
git-svn-id: http://skia.googlecode.com/svn/trunk@684 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-11 18:59:23 +00:00
reed@google.com
4b22602383
add getter/setter for device-factory on canvas
...
git-svn-id: http://skia.googlecode.com/svn/trunk@683 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-11 18:32:13 +00:00
reed@google.com
232a660169
remove obsolete, unsupported sound files
...
git-svn-id: http://skia.googlecode.com/svn/trunk@679 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-07 15:34:36 +00:00
reed@google.com
5a8a131d8a
update dox to reflect that the default colorspace is CGColorSpaceCreateDeviceRGB()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@676 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 16:29:02 +00:00
reed@google.com
1fcd51e6b2
add template macro to "safely" perform casts w/o breaking strict-aliasing
...
fix aliasing warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@674 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-05 15:50:27 +00:00
reed@google.com
72cf4927e5
fix build for scalar==fixed
...
git-svn-id: http://skia.googlecode.com/svn/trunk@671 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 19:58:20 +00:00
reed@android.com
4aaee0aecd
static inline eliminates multiple definitions (and makes it zero-cost, since
...
it will be inlined)
git-svn-id: http://skia.googlecode.com/svn/trunk@668 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 01:29:52 +00:00
reed@android.com
ad789ee56f
make inline helper static, so it can be included from than one .cpp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@667 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-03 19:52:17 +00:00
reed@android.com
38669c12c5
add colorspace option to SkBitmap -> CGImageRef utility (patch from nico)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@666 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-03 13:48:50 +00:00
reed@google.com
51df9e3fe3
add gpu to gm tool
...
add pass-through read/write pixels API to canvas
git-svn-id: http://skia.googlecode.com/svn/trunk@660 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 19:29:18 +00:00
reed@google.com
873cb1e23b
add gpu to the default makefile
...
move skia-gpu files into skia/src/gpu
git-svn-id: http://skia.googlecode.com/svn/trunk@653 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 15:00:45 +00:00
reed@google.com
c31ce1076c
add for quick gl-offscreen context (so we can draw and then readpixels for GM)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@645 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-21 16:26:39 +00:00
reed@google.com
d642329293
remove ZLIB include from SkUserConfig for how (doesn't work on mac sampleapp) but,
...
add it to Makefile if SKIA_PDF_SUPPORT is true
Use compile_assert (yea!)
git-svn-id: http://skia.googlecode.com/svn/trunk@643 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 20:53:13 +00:00
reed@google.com
0770044da6
add option to write PDFs from gm
...
fix some compile warnings (reorder initializers, init local ptr)
git-svn-id: http://skia.googlecode.com/svn/trunk@642 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 19:46:07 +00:00
reed@android.com
f2b98d67dc
merge with changes for GPU backend
...
git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:26:13 +00:00
senorblanco@chromium.org
29e5054dd0
Fix perf regression in Color32.
...
The regression was due to the fact that we were calling PlatformColorProc() for
every span (which in turns makes CPUID, a fairly expensive call). Since we draw
a lot of rects, and rects have 1-pixel wide spans for the vertical segments,
that's a lot of CPUID.
Fixed by cacheing the result of PlatformColorProc(), as is done for the other
platform-specific blitters.
Review URL: http://codereview.appspot.com/3669042/
git-svn-id: http://skia.googlecode.com/svn/trunk@636 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-16 19:07:45 +00:00
senorblanco@chromium.org
c3856384e4
SSE2 optimizations for 32bit Color operation.
...
[Patch from weiwei.li@intel.com ]
SSE2 optimization has been added by Stephen White before, this improves the skia
performance on SSE2-supporting platform. (please refer to below issues)
Issue 171055: More SSE2ification
Issue 157141: More SSE2ification
Issue 150060: minor tweaks to SSE2 code for -fPIC
Issue 144072: SSE2 optimizations for 32bit blending blitters
This CL implements SSE2 optimizations for the 32bit Color operation. Like above
issues, it uses CPUID to detect for SSE2 and changes the platform procs at
runtime as well. The 32bit Color operation is heavily used on Chrome HTML5
canvas operations. Take Microsoft IE test drives Pulsating Bubbles as example
(http://ie.microsoft.com/testdrive/Performance/PulsatingBubbles/Default.xhtml ),
if running this cases on Chrome, the overhead of 32bit Color operation is about
40~50%. So this CL will make skia performance more better, and also make Chrome
HTML5 canvas performance more better.
Additional, this CL has passed the skia bench & tests validation, the result is
pretty good. We also apply this CL to the latest chromium, and re-run Microsoft
IE test drives Pulsating Bubbles, the performance is improved by almost 9~10%.
git-svn-id: http://skia.googlecode.com/svn/trunk@633 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-13 15:27:20 +00:00
senorblanco@chromium.org
ec7a30cc86
Upstream mulDiv255Ceil() from WebKit to the skia repository.
...
(Patch by Noel Gordon (noel.gordon@gmail.com ))
Review URL: http://codereview.appspot.com/3466042
git-svn-id: http://skia.googlecode.com/svn/trunk@632 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-07 21:07:56 +00:00
senorblanco@chromium.org
038aff623d
Patch by Mike Lawther (mikelawther@chromium.org).
...
The HTML5 canvas client of BlurDrawLooper needs the option to not apply the
canvas transform to the blur offset.
see
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-elemen ...
- "The shadowOffsetX and shadowOffsetY attributes specify the distance that the
shadow will be offset in the positive horizontal and positive vertical distance
respectively. Their values are in coordinate space units. They are not affected
by the current transformation matrix."
This patch is part of fixing
http://code.google.com/p/chromium/issues/detail?id=64647 .
Review URL: http://codereview.appspot.com/3391041/
git-svn-id: http://skia.googlecode.com/svn/trunk@631 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-06 23:45:58 +00:00
vandebo@chromium.org
a09ef977b6
Add deflate support to SkPDFStream.
...
Review URL: http://codereview.appspot.com/3326043
git-svn-id: http://skia.googlecode.com/svn/trunk@627 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-01 22:17:20 +00:00
wjmaclean@chromium.org
86bff1f008
Add safe size/copy functions to Skia.
...
This patch adds four methods to SkBitmap. There are two functions to return
"safe size", defined as the number of pixels from the value returned by
getPixels() to the end of the allocated buffer.
There is one version of fillPixels() to copy the bitmap instance into an
external buffer (with specified size, and using specified stride), and another
fillPixels() to copy from an external buffer to the instance bitmap. In the
latter case the specified height, width and pixel format must match that used by
the bitmap instance, although the specified stride may be any value at least as
large as the minimum stride for the specified geometry. It is assumed that the
external buffer is of size at least (height - 1)*stride + width *
bytesPerPixel.
Both fillPixels() functions return false if the copy is not possible with the
specified parameters.
Review URL: http://codereview.appspot.com/2837041/
git-svn-id: http://skia.googlecode.com/svn/trunk@625 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-11-16 20:22:41 +00:00
vandebo@chromium.org
28be72b63e
PDF: Add text support with a font framework (font embedding to come).
...
Supports fakeBold, underline, strikethrough, mode (fill, stroke, both), size, skew, alignment (left, center, right).
Missing is drawFontOnPath and font lookup and embedding.
Changed SkPDFString to support how it is used from drawText methods.
Moved compile assert into SkTypes.
Moved constants and utility function used to support fakeBold, underline, and strikethrough into higher level locations.
Review URL: http://codereview.appspot.com/2946041
git-svn-id: http://skia.googlecode.com/svn/trunk@624 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-11-11 21:37:00 +00:00