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
vandebo@chromium.org
8c1d88dcfb
Remove include of SkGLDevice.h from SkGLCanvas.h
...
The '#include "SkGLDevice.h"' from include/core/SkDevice.h requires internal
Skia code to be added to the include search paths when using the deprecated API.
This change adds back SkGLCanvas.cpp to avoid exposing SkGLDevice.h to the
public API.
The change also includes an explicit virtual destructor on SkDeviceFactory to
silence a -Wnon-virtual-dtor warning and allow for -Werror.
Original Issue: http://codereview.appspot.com/3009041/
Review URL: http://codereview.appspot.com/2994042
git-svn-id: http://skia.googlecode.com/svn/trunk@623 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-11-11 00:49:41 +00:00
vandebo@chromium.org
7e2ff7cf7d
Add clipping support and some small fixes.
...
Reorganize how the PDF graphic state stack is managed (fixing several bugs incidentally).
Style: fix variables with underscores.
Bug: fix image matrix application order, which enabled a small refactor.
Review URL: http://codereview.appspot.com/2771042
git-svn-id: http://skia.googlecode.com/svn/trunk@622 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-11-03 23:55:28 +00:00
vandebo@chromium.org
eb6c7596af
Add PDF support for drawDevice using a form xobject.
...
This depends on:
http://codereview.appspot.com/2719041
http://codereview.appspot.com/2720041
http://codereview.appspot.com/2721041
Review URL: http://codereview.appspot.com/2710042
git-svn-id: http://skia.googlecode.com/svn/trunk@621 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-26 19:54:45 +00:00
vandebo@chromium.org
a518086928
Several cleanups:
...
Fix the spelling of resource in several places
Make getResouce(resourceList) part of SkPDFObject
make SkDynamicMemoryWStream::getOffset and SkPDFPage::getMediaBox const
Add a temporary NOT_IMPLEMENTED macro instead of using SkASSERT
Review URL: http://codereview.appspot.com/2721041
git-svn-id: http://skia.googlecode.com/svn/trunk@619 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-26 19:48:49 +00:00
vandebo@chromium.org
35fc62b960
Move the device capability method to SkDevice.
...
These are not the capabilities of the factory, but of the device. Additionally, it is more often needed when you have a device then when you have a factory, which caused creating of a new factory.
Review URL: http://codereview.appspot.com/2720041
git-svn-id: http://skia.googlecode.com/svn/trunk@618 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-26 19:47:30 +00:00
vandebo@chromium.org
ddbbd805b5
Cleanup/unify matrix transform for PDF backend.
...
Review URL: http://codereview.appspot.com/2719041
git-svn-id: http://skia.googlecode.com/svn/trunk@617 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-26 19:45:06 +00:00
vandebo@chromium.org
99a45d3b5a
Fix SkDraw::validate to work with vector Devices.
...
Vector devices don't have a (valid) fBitmap, so pass in width and height.
Review URL: http://codereview.appspot.com/2718041
git-svn-id: http://skia.googlecode.com/svn/trunk@616 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-26 19:44:10 +00:00
vandebo@chromium.org
9b49dc0db8
First pieces of SkPDFDevice. Supports:
...
Matrix transforms.
Rendering bitmaps.
Basic paint parameters.
Rendering rectangles, points, lines, polygons.
Render a paint to the page.
Review URL: http://codereview.appspot.com/2584041
git-svn-id: http://skia.googlecode.com/svn/trunk@614 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-20 22:23:29 +00:00
scarybeasts@gmail.com
17f694b038
Clamp the maximum size of glyph width we will attempt to render.
...
Review URL: http://codereview.appspot.com/2519045
git-svn-id: http://skia.googlecode.com/svn/trunk@607 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-18 23:29:36 +00:00
vandebo@chromium.org
b70ae310bb
Fix a memory leak in the new Canvas/Device workflow.
...
The previous change made it difficult to inherit from SkCanvas without leaking memory. By making SkDeviceFactory not reference counted, the right thing happens more naturally, just NewCanvas : public SkCanvas(new NewDeviceFactory()) {...}
Review URL: http://codereview.appspot.com/2530042
git-svn-id: http://skia.googlecode.com/svn/trunk@605 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-15 18:58:19 +00:00
vandebo@chromium.org
8d84fac294
Refactor SkCanvas so that backends don't need to override it.
...
Methods or classes that should go away are marked deprecated. The only thing I know of that breaks backward compatibility is SkCanvas((SkDevice*)NULL), but that is fairly unlikely to occur in the wild because that constructor had a default value of NULL.
Review URL: http://codereview.appspot.com/2103045
git-svn-id: http://skia.googlecode.com/svn/trunk@604 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-13 22:13:05 +00:00
vandebo@chromium.org
d877fdbb6e
High level pdf classes and pdf specific interface.
...
The guts of the implementation will be in SkPDFDevice and below. This is a first implementation of everything above that point.
Review URL: http://codereview.appspot.com/2342043
git-svn-id: http://skia.googlecode.com/svn/trunk@602 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-12 23:08:13 +00:00
vandebo@chromium.org
f66025d59a
Address senorblanco's comments on r600.
...
Don't inline constructors and destructors.
Include license in test file.
A few nits
Also, cleanup a couple compile warnings.
Review URL: http://codereview.appspot.com/2279043
git-svn-id: http://skia.googlecode.com/svn/trunk@601 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-01 23:26:55 +00:00
vandebo@chromium.org
8459d4e5e3
Initial PDF backend commit: directories, build rules, primitives
...
This change establishes and tests the building blocks of the PDF file format.
For now, PDF code is not compiled by default.
Review URL: http://codereview.appspot.com/1950044
git-svn-id: http://skia.googlecode.com/svn/trunk@600 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-09-24 22:25:30 +00:00
reed@android.com
ce4e53a234
add abstract wrapper for platform-specific bitmap backends
...
git-svn-id: http://skia.googlecode.com/svn/trunk@596 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-09-09 16:01:26 +00:00
agl@chromium.org
c9c9ebbc29
Make SKColorSetARGB() a macro when not building debug.
...
This allows GCC to avoid generating static initializers for code that
uses it.
Patch by: Dave Moore
http://codereview.appspot.com/1883043/show
git-svn-id: http://skia.googlecode.com/svn/trunk@592 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-28 17:10:30 +00:00
reed@android.com
097a351353
add SkRegion::setRects(), and its unit tests
...
git-svn-id: http://skia.googlecode.com/svn/trunk@588 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-13 18:35:14 +00:00
kbr@chromium.org
2e086190e5
Added optional "ambiguous" outgoing argument to XRay queries so that
...
calling code may choose different y-coordinates for better robustness.
Tested and verified manually inside O3D.
BUG=none
TEST=none
Review URL: http://codereview.appspot.com/1695051
git-svn-id: http://skia.googlecode.com/svn/trunk@586 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-07 22:20:35 +00:00
reed@android.com
4040861465
oops, also update dox for saveLayerAlpha
...
git-svn-id: http://skia.googlecode.com/svn/trunk@585 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-02 17:24:23 +00:00
reed@android.com
ad164b2025
update dox for saveLayer()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@584 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-02 17:20:51 +00:00
agl@chromium.org
a2c71cbd51
Add support for forcing autohinting.
...
http://codereview.appspot.com/1651044/show
git-svn-id: http://skia.googlecode.com/svn/trunk@580 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-06-17 20:49:17 +00:00
reed@android.com
f59799139b
rename round, ceil, etc. to avoid some platform macros
...
git-svn-id: http://skia.googlecode.com/svn/trunk@577 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-06-15 00:57:50 +00:00
reed@android.com
e89d3ec443
Fix 64-bit Mac warnings/memory corruption
...
git-svn-id: http://skia.googlecode.com/svn/trunk@569 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-05-18 21:23:30 +00:00
reed@android.com
033e03cb19
export line counts
...
git-svn-id: http://skia.googlecode.com/svn/trunk@568 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-05-18 21:17:43 +00:00
reed@android.com
5ee64ad6b5
update to match latest skia apis
...
git-svn-id: http://skia.googlecode.com/svn/trunk@566 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-05-17 14:34:13 +00:00
agl@chromium.org
5f6a0762f1
Add a SkTypeface::CreateForChars() function.
...
This allows us to do font fallback for strange scripts.
Added empty stubs to the implementations on all platforms.
Patch-by: Evan Martin
Signed-off-by: Adam Langley
http://codereview.appspot.com/950041
git-svn-id: http://skia.googlecode.com/svn/trunk@557 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-20 22:06:40 +00:00
reed@android.com
756f6dd82d
dox
...
git-svn-id: http://skia.googlecode.com/svn/trunk@556 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-16 20:56:00 +00:00
reed@android.com
b00cd7258c
add SkRefPtr class (for testing at the moment)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@555 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-16 20:35:47 +00:00
reed@android.com
337d42626b
remove obsolete header
...
git-svn-id: http://skia.googlecode.com/svn/trunk@544 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-13 13:40:58 +00:00
reed@android.com
9aa8b32233
add SKIA_VERSION_[MAJOR, MINOR, PATCH] in header and SkGraphics API
...
git-svn-id: http://skia.googlecode.com/svn/trunk@542 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-13 13:22:54 +00:00
reed@android.com
2687ae05cb
add more MakeFoo factories for SkRect
...
git-svn-id: http://skia.googlecode.com/svn/trunk@541 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-12 21:21:59 +00:00
reed@android.com
735b790150
fix dither-to-4444 to keep the alpha value >= colors
...
git-svn-id: http://skia.googlecode.com/svn/trunk@534 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-04-06 21:03:33 +00:00
reed@android.com
8381e007dc
add inherit-from-root-transform flag (for fixed-positioning)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@532 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-03-23 20:10:46 +00:00
reed@android.com
3f1f06a26b
add optional pref-config table to codecs
...
git-svn-id: http://skia.googlecode.com/svn/trunk@519 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-03-03 21:04:12 +00:00
reed@android.com
8de2e6de5b
add kNONE_LCDOrder for screens with no recognizable rgb order
...
git-svn-id: http://skia.googlecode.com/svn/trunk@518 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-03-02 19:56:53 +00:00
reed@android.com
d055c1fde2
convert matrix <--> matrix44
...
add glyphrec to bounder
git-svn-id: http://skia.googlecode.com/svn/trunk@516 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-03-01 14:54:05 +00:00
reed@android.com
745bfbd74d
add localToGlobal and parents
...
git-svn-id: http://skia.googlecode.com/svn/trunk@511 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-24 17:16:35 +00:00
reed@android.com
233481ebd0
add static Make methods to return rects
...
git-svn-id: http://skia.googlecode.com/svn/trunk@508 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-24 01:49:13 +00:00
reed@android.com
da6fb3246a
more layers extracted from webkit
...
git-svn-id: http://skia.googlecode.com/svn/trunk@503 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-19 21:41:30 +00:00
reed@android.com
81dc331e65
update layers
...
git-svn-id: http://skia.googlecode.com/svn/trunk@502 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-18 19:32:03 +00:00
reed@android.com
86d4008e89
add layers
...
git-svn-id: http://skia.googlecode.com/svn/trunk@501 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-12 17:17:10 +00:00
reed@android.com
dc3381fc81
update save/restore comments to mention that the drawFilter is also saved
...
add wrapper for harfbuzz font/fontclass
git-svn-id: http://skia.googlecode.com/svn/trunk@500 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-11 16:05:15 +00:00
reed@android.com
ed8dbf74a7
experimental draft, please ignore
...
git-svn-id: http://skia.googlecode.com/svn/trunk@499 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-11 13:56:04 +00:00
reed@android.com
c83d422b63
doh - fix build
...
git-svn-id: http://skia.googlecode.com/svn/trunk@498 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-11 11:17:00 +00:00
reed@android.com
60bc6d5cb0
add Make to SkTSize
...
git-svn-id: http://skia.googlecode.com/svn/trunk@497 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-11 11:09:39 +00:00
reed@android.com
eebf5cb6c0
add copysign for ints and floats
...
fix addArc to not wrap around if the sweepAngle is close to 360 but lost
precision when convert to radians (and then to unit vectors ala sin/cos)
git-svn-id: http://skia.googlecode.com/svn/trunk@495 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-09 18:30:59 +00:00
reed@android.com
d3aa4ff7a5
add countPoints() and getPoint()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@494 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-09 16:38:45 +00:00
senorblanco@chromium.org
4526a847da
This patch allows the use of the native FreeType emboldening
...
algorithm when "fake bold" text is used in SkPaint.
It's enabled by #defining SK_USE_FREETYPE_EMBOLDEN.
Review URL: http://codereview.appspot.com/198077
git-svn-id: http://skia.googlecode.com/svn/trunk@490 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-05 23:08:20 +00:00
reed@android.com
ba09de4c4b
respect edgetype in quickreject
...
git-svn-id: http://skia.googlecode.com/svn/trunk@489 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-05 20:46:05 +00:00
reed@android.com
945a139553
add SkXRay geometry routines
...
git-svn-id: http://skia.googlecode.com/svn/trunk@488 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-05 20:41:02 +00:00
reed@android.com
a5dcaf6fd8
add containsText() api
...
git-svn-id: http://skia.googlecode.com/svn/trunk@487 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-05 17:12:32 +00:00
reed@android.com
ac753098e8
add some utils to SkPoint
...
git-svn-id: http://skia.googlecode.com/svn/trunk@485 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-28 21:34:33 +00:00
reed@android.com
6f59815b3d
refactor helper functions out of libjpeg wrapper
...
git-svn-id: http://skia.googlecode.com/svn/trunk@476 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-21 15:34:19 +00:00
reed@android.com
ec10d21eb9
remove obsolete SK_BUILD_FOR_BREW conditional
...
git-svn-id: http://skia.googlecode.com/svn/trunk@473 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-12 22:58:35 +00:00
reed@android.com
9d3a985aa3
add glyph->unichar query (inverse of a cmap)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@472 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-08 14:07:42 +00:00
agl@chromium.org
13c8558e37
Fix r466 which was causing Chromium valgrind failures.
...
See the added comment for details.
TBR=reed (since it's a build fix)
git-svn-id: http://skia.googlecode.com/svn/trunk@469 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-04 23:56:43 +00:00
reed@android.com
474a12c497
Added a virtual to SkBounder, called by text, that passes
...
the glyph's ID as well as its bounds. Made the universal
doIRect() non-abstract so that a child class can override
either the general flavor or the text flavor.
git-svn-id: http://skia.googlecode.com/svn/trunk@468 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-04 19:35:33 +00:00
reed@android.com
69975b0fce
chant __ARM_ARCH_4__ to __ARM_ARCH_4T__, to reflect known android targets
...
git-svn-id: http://skia.googlecode.com/svn/trunk@467 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-04 19:23:32 +00:00
agl@chromium.org
e95c91e6d9
Add flag to enable bitmap strikes.
...
http://codereview.appspot.com/183096
git-svn-id: http://skia.googlecode.com/svn/trunk@466 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-01-04 18:27:55 +00:00
reed@android.com
e191b16fda
update windows port
...
git-svn-id: http://skia.googlecode.com/svn/trunk@461 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-18 21:33:39 +00:00
reed@android.com
63debae4c1
initial checkin for visualstudio build support
...
git-svn-id: http://skia.googlecode.com/svn/trunk@460 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-16 17:25:43 +00:00
reed@android.com
cb60844b34
add drawData() to canvas, to record data blobs
...
git-svn-id: http://skia.googlecode.com/svn/trunk@452 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-04 21:32:27 +00:00
reed@android.com
e522ca5d5f
fix winding bug in lineclipper
...
expose path.dump() all the time
UP arrow now toggles a grid of clip rects in sample app
git-svn-id: http://skia.googlecode.com/svn/trunk@443 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-23 20:10:41 +00:00
reed@android.com
90209caa68
doh. make the new S16 and U16 checkers inline
...
git-svn-id: http://skia.googlecode.com/svn/trunk@442 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-21 19:58:04 +00:00
reed@android.com
d457775787
add checks for exceeding 16bits, and apply those for glyphs in getMetrics()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@441 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-21 02:48:11 +00:00
senorblanco@chromium.org
9a62fa7052
Remove SK_USE_OLD_255_TO_256.
...
Review URL: http://codereview.appspot.com/156057/show .
git-svn-id: http://skia.googlecode.com/svn/trunk@438 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-20 04:25:41 +00:00
reed@android.com
e28ff55d98
retool clipping in hairlines to catch huge coordinates
...
git-svn-id: http://skia.googlecode.com/svn/trunk@436 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-19 20:46:39 +00:00
reed@android.com
909994fbae
new scanconversion technique
...
This technique geometrically clips all segments against the clip bounds,
ensuring that we never send a value to the edgelist that might overflow in
fixedpoint.
Current disabled in SkScan_Path.cpp by a #define. There are a few minor pixel
differences between this and the old technique, as found by the gm tool, so
at the moment this new code is off by default.
git-svn-id: http://skia.googlecode.com/svn/trunk@432 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-18 16:09:51 +00:00
reed@android.com
77f0ef726f
add quadclipping utility, plus sample test
...
git-svn-id: http://skia.googlecode.com/svn/trunk@429 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-17 18:47:52 +00:00
senorblanco@chromium.org
4e753558fc
More SSE2-ification; fix for gcc -msse2.
...
Review URL: http://codereview.appspot.com/154163
git-svn-id: http://skia.googlecode.com/svn/trunk@428 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-16 21:09:00 +00:00
reed@android.com
70149060a7
add lineclipper, and test case
...
git-svn-id: http://skia.googlecode.com/svn/trunk@427 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-16 20:39:43 +00:00
reed@android.com
e72fee513a
add onSendClickToChildren to views, so a view can capture all clicks.
...
speedup some of the unittests that were too slow
minor cleanup in SkScan_Path, in prep for larger changes
git-svn-id: http://skia.googlecode.com/svn/trunk@426 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-16 14:52:01 +00:00
reed@android.com
f0f4e9abba
remove const modifiers on function return types (unneeded, and caused an error
...
on some gccs).
git-svn-id: http://skia.googlecode.com/svn/trunk@425 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-13 19:00:49 +00:00
reed@android.com
0db5a7fae5
update dox for SkAvoidXfermode (as best I could)
...
fix 565 and 4444 implementations
git-svn-id: http://skia.googlecode.com/svn/trunk@420 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-09 16:01:36 +00:00
senorblanco@chromium.org
9272761b22
SSE2 optimizations for 32bit blending blitters.
...
This CL implements SSE2 optimizations for 3 of the 32bit blending blitters. It
uses CPUID to detect for SSE2 at runtime. In order to accomodate runtime
detection, it changes the platform procs from static arrays to static
functions.
It also includes an implementation of SkTime for Win32.
http://codereview.appspot.com/144072
git-svn-id: http://skia.googlecode.com/svn/trunk@418 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-04 20:51:06 +00:00
reed@android.com
161b00bae2
add SkEvalCubicInterval
...
git-svn-id: http://skia.googlecode.com/svn/trunk@416 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-03 15:33:14 +00:00
reed@android.com
34245c7871
add OVerView slide to samplecode
...
change inline functions in SkColorPriv.h to static inline
git-svn-id: http://skia.googlecode.com/svn/trunk@415 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-03 04:00:48 +00:00
reed@android.com
3f2025fdb5
rename gamma to table, since it is more general than just gamma
...
git-svn-id: http://skia.googlecode.com/svn/trunk@412 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-29 17:37:56 +00:00
reed@android.com
3cfda413a2
add gamma maskfilter, especially nice when applied after a blur
...
git-svn-id: http://skia.googlecode.com/svn/trunk@411 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-29 15:19:10 +00:00
reed@android.com
a563162780
move boundarypatch into utils
...
git-svn-id: http://skia.googlecode.com/svn/trunk@410 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-28 14:27:20 +00:00
reed@android.com
2ee7c64015
update on boundary patches
...
git-svn-id: http://skia.googlecode.com/svn/trunk@409 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-28 14:25:34 +00:00
reed@android.com
0f0cfaecf2
check-point for reviving animator
...
git-svn-id: http://skia.googlecode.com/svn/trunk@380 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-10-13 13:33:16 +00:00
reed@android.com
bb9aea999c
record dither setting so we can replay it when we (re)decode
...
git-svn-id: http://skia.googlecode.com/svn/trunk@368 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-24 17:21:05 +00:00
reed@android.com
c4cae85752
add BlitRow procs for 32->32, to allow for neon and other optimizations.
...
call these new procs in (nearly) all the places we had inlined loops before.
In once instance (blitter_argb32::blitAntiH) we get different results by a
tiny bit. The new code is more accurate, and exactly inline with all of the
other like-minded blits, so I think the change is good going forward.
git-svn-id: http://skia.googlecode.com/svn/trunk@366 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-23 15:06:10 +00:00
reed@android.com
9186103dfd
don't put the class name in front of the method
...
git-svn-id: http://skia.googlecode.com/svn/trunk@365 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-23 00:43:53 +00:00
senorblanco@chromium.org
7ef071fc2f
Two-point radial gradient implementation.
...
Review URL: http://codereview.appspot.com/112058
git-svn-id: http://skia.googlecode.com/svn/trunk@361 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-22 17:25:29 +00:00
reed@android.com
ed881c2704
add neon opts for matrix procs
...
git-svn-id: http://skia.googlecode.com/svn/trunk@353 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-09-15 14:10:42 +00:00
reed@android.com
19a89f287f
add boolean tests and IF/ELSE/END
...
git-svn-id: http://skia.googlecode.com/svn/trunk@344 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-30 03:24:51 +00:00
reed@android.com
3c9b2a4a0e
expand SkShader's flag kConstInY to 16 and 32 variants, allowing a shader
...
(like gradients) to support predithering. If they do, then they would suppress
kConstInY16, since they no longer are const.
The blitters now check for each flag separately, so we don't have to give up
const-in-Y in the 32bit case, since in that mode we don't care about dithering.
git-svn-id: http://skia.googlecode.com/svn/trunk@339 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-27 19:28:37 +00:00
reed@android.com
c64599649b
special case 1x1 bitmaps when drawn as a shader (treat as a solid color)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@336 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-25 19:15:31 +00:00
reed@android.com
0da41dbf5b
add detach() method
...
git-svn-id: http://skia.googlecode.com/svn/trunk@334 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-25 16:03:59 +00:00
reed@android.com
cafc9f9e80
fixes around isOpaque and dithering
...
- copyTo() now preserves isOpaqueness, and BitmapCopyTest tests it
- bitmap shader doesn't claim to have shadespan16 if dithering is on, since its
sampler doesn't auto-dither (note that gradients do auto-dither in their
16bit sampler)
- blitter setup just relies on the shader to report if its 16bit sampler can be
called (allowing gradients to say yes regardless of dither, but bitmaps to say
no if dithering is on)
git-svn-id: http://skia.googlecode.com/svn/trunk@331 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-22 03:44:57 +00:00
deanm@chromium.org
d5ed395048
Fix compliation on gcc-4.3 and ARMv5T
...
- smulbb is only on ARMv5TE and above (p316, ARM Architecture Reference Manual)
- an empty clobber list causes a compiler error with my compiler, gcc-4.3.2
Patch by Joel Stanley <joel@jms.id.au>
Review URL: http://codereview.appspot.com/96165
git-svn-id: http://skia.googlecode.com/svn/trunk@329 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-21 17:17:35 +00:00
reed@android.com
6c5f6f25b4
add 'r' (rotate) 's' (scale) options to SampleApp to test those matrix ops on
...
all slides
add beforeChild/afterChild methods for parents to wack the canvas before/after
it draws. These are called after the std child-view translate and clip, unlike
beforeChildren/afterChildren
git-svn-id: http://skia.googlecode.com/svn/trunk@324 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-14 16:08:38 +00:00
agl@chromium.org
4484d23ab4
Remove assertion in getAddrLCD.
...
Because the underlying mask extends a pixel to the left and right (or
top and bottom on vertical LCDs), the requested pixel can actaully be
one pixel outside the bounds, thus this assertion is incorrect.
http://codereview.appspot.com/105077
git-svn-id: http://skia.googlecode.com/svn/trunk@312 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-11 17:21:21 +00:00
reed@android.com
29348cb061
add -forceFilter to bench tool
...
move some utils out of effects/
git-svn-id: http://skia.googlecode.com/svn/trunk@307 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-04 18:17:15 +00:00
reed@android.com
ac98154faa
add GetFileName api to SkFontHost
...
git-svn-id: http://skia.googlecode.com/svn/trunk@299 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-31 16:17:01 +00:00
reed@android.com
e2ca20740b
ws fixes
...
use enum in getHinting() function, rather than hard-coded constants
git-svn-id: http://skia.googlecode.com/svn/trunk@290 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-27 16:39:38 +00:00
reed@android.com
41f8d4807b
remove const from function return-type signature (useless, and generates gcc
...
warnings)
git-svn-id: http://skia.googlecode.com/svn/trunk@286 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-23 16:00:37 +00:00
reed@android.com
36a4c2aa2d
Add SkFontHost::FilterRect() which allows the font host to filter our request
...
before we turn it into a font-cache entry, for the cases where the scaler will
ignore and/or collapse certain feature requests (e.g. doesn't support all levels
of hinting)
git-svn-id: http://skia.googlecode.com/svn/trunk@283 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 19:52:11 +00:00
reed@android.com
f549369fcd
rename SK_BUILD_SUBPIXEL to SK_SUPPORT_LCDTEXT to better match the name of the
...
feature (since we already have subpixel text support)
fix some debug-compile problems
update Makefile for lcd files
git-svn-id: http://skia.googlecode.com/svn/trunk@282 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-22 19:21:01 +00:00
agl@chromium.org
f03642675e
Typo fix.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@279 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 18:58:43 +00:00
agl@chromium.org
309485b7b5
Subpixel glyph rendering support.
...
This patch adds support for rendering subpixel glyphs (using
Freetype). In order to control this rendering see
SkPaint::setLCDRenderText in SkPaint.h.
To setup the LCD mode, see SkFontHost::SetSubpixelOrientation and
SkFontHost::SetSubpixelOrder in SkFontHost.h.
This patch also adds more fine grained control over hinting (again,
only for Freetype currently). One can now control the hinting with
SkPaint::setHinting.
git-svn-id: http://skia.googlecode.com/svn/trunk@275 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-21 17:41:32 +00:00
reed@android.com
83f7bc30af
remove conditional build flag for mipmaps
...
remove obsolete SkBitmapShader.cpp file
git-svn-id: http://skia.googlecode.com/svn/trunk@271 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-17 02:42:41 +00:00
reed@android.com
1134426f6b
respect preferred config when png is index-based
...
git-svn-id: http://skia.googlecode.com/svn/trunk@261 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 20:09:23 +00:00
reed@android.com
40443b2371
fix (aaaargh) white-space
...
git-svn-id: http://skia.googlecode.com/svn/trunk@260 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 15:11:19 +00:00
reed@android.com
187d559590
add dox for scalarcomparetype
...
use internal mutable version of drawPath when we've cons'd up a path on behalf
of a rect
git-svn-id: http://skia.googlecode.com/svn/trunk@258 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-08 14:03:56 +00:00
reed@android.com
8433b5db1a
more checks for null shapes in pictures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@249 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-07-03 02:52:27 +00:00
reed@android.com
4516f4786f
use sk_bzero instead of bzero, since it isn't always available.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@244 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 16:25:36 +00:00
reed@android.com
4b7577b042
add unittest for matrix::flatten
...
define constant for max value flatten/unflatten can return (so clients can put
the buffer on the stack)
git-svn-id: http://skia.googlecode.com/svn/trunk@243 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 16:14:41 +00:00
reed@android.com
0ad336f8c6
add shape flatten so they work properly in pictures
...
add flatten/unflatten to matrix
git-svn-id: http://skia.googlecode.com/svn/trunk@242 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-29 16:02:20 +00:00
reed@android.com
0baf193754
detect nearly translate-only matrices when drawing bitmaps (for speed)
...
rename setXfermode(Mode) to setXfermodeMode(Mode) for sanity
fix memory leak in setXfermode(Mode)
git-svn-id: http://skia.googlecode.com/svn/trunk@239 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-24 12:41:42 +00:00
reed@android.com
048522dd2a
remove remaining references to porterduff
...
git-svn-id: http://skia.googlecode.com/svn/trunk@236 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-23 12:19:41 +00:00
reed@android.com
845fdaca17
remove deprecated use of porterduff enum
...
git-svn-id: http://skia.googlecode.com/svn/trunk@235 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-23 03:01:32 +00:00
reed@android.com
a0f5d1546d
move xfermode modes from porterduff into xfermode itself
...
git-svn-id: http://skia.googlecode.com/svn/trunk@232 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-22 17:38:10 +00:00
reed@android.com
8015dd83ae
almost there on gm (need to fix image writes/reads/compares)
...
move SkAutoGraphics into SkGraphics.h
add [] operators to SkString
git-svn-id: http://skia.googlecode.com/svn/trunk@228 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-21 00:49:18 +00:00
reed@android.com
086f2896e0
add width()/height() getters
...
git-svn-id: http://skia.googlecode.com/svn/trunk@226 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-20 02:34:55 +00:00
deanm@chromium.org
81aaa9d8c0
Fix MSVC builds by avoiding a uint to bool warning.
...
warning C4800: 'const uint8_t' : forcing value to bool 'true' or 'false' (performance warning)
Review URL: http://codereview.appspot.com/79043
git-svn-id: http://skia.googlecode.com/svn/trunk@220 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-18 14:46:03 +00:00
reed@android.com
31d1c64bd5
ws fixes
...
git-svn-id: http://skia.googlecode.com/svn/trunk@217 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-15 18:45:19 +00:00
reed@android.com
b3ade9d1b0
add optional Format* parameter to decoder helper functions.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@215 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-15 13:04:45 +00:00
reed@android.com
5119bdb952
add shader flag kConstInY_Flag
...
this signals blitters that the shader will return the same results for a given
x value, independent of y. Useful inside blitRect(), where it can cache the
first call to shadeSpan() and reuse it on all subsequent scans. Works with
(non-rotated) linear-gradients, and Nx1 bitmaps.
git-svn-id: http://skia.googlecode.com/svn/trunk@214 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 21:27:03 +00:00
reed@android.com
f16c899a74
add equals()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@210 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-12 02:06:36 +00:00
reed@android.com
199f108f14
only call SkDevice::gainFocus() if we're actually drawing to a different device.
...
Saves overhead when using GL.
git-svn-id: http://skia.googlecode.com/svn/trunk@207 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-10 02:12:47 +00:00
reed@android.com
bbff1d507a
add SkParsePath to go to/from SVG strings (e.g. "M0,0 L10,20")
...
git-svn-id: http://skia.googlecode.com/svn/trunk@203 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 16:21:03 +00:00
reed@android.com
9b46e77ec2
fix dumpcanvas to recurse on pictures and shapes
...
add cached bitmap for gradients to avoid thrashing textures in gl
git-svn-id: http://skia.googlecode.com/svn/trunk@201 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-05 12:24:41 +00:00
reed@android.com
6b82d1adc6
add isConvex() hit to SkPath, to be used to speed up fills and opengl
...
set linewidth in gldevice for hair rects
remove some cruft from samples
add more gl-unimpl messages
git-svn-id: http://skia.googlecode.com/svn/trunk@199 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-03 02:35:01 +00:00
reed@android.com
89bb83abb4
fix trailing-ws
...
initialize fFlags in bitmapprocshader
git-svn-id: http://skia.googlecode.com/svn/trunk@191 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-29 21:30:42 +00:00
reed@android.com
25fc5b9f0a
update SDL port to support OpenGL
...
need to separate out SK_BUILD_FOR_MAC when we need to know where certain OS
headers are, and SK_BUILD_FOR_SDL when we are choosing an SkOSWindow variant...
git-svn-id: http://skia.googlecode.com/svn/trunk@190 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-29 03:40:05 +00:00
reed@android.com
88c2d8ef15
animate matrixref in sample shapes
...
git-svn-id: http://skia.googlecode.com/svn/trunk@189 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-27 01:44:24 +00:00
reed@android.com
aa5a7db64a
move shapes subclasses into effects
...
git-svn-id: http://skia.googlecode.com/svn/trunk@188 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-27 01:20:10 +00:00
reed@android.com
c3a8c5fb38
create offscreen surface so we can set its RGB ordering to match our internals
...
git-svn-id: http://skia.googlecode.com/svn/trunk@187 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-26 13:27:48 +00:00
reed@android.com
671cd65678
add SDL support
...
git-svn-id: http://skia.googlecode.com/svn/trunk@182 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-22 20:44:12 +00:00
reed@android.com
149e2f6159
add SkSafeRef / SkSafeUnref as inline static functions, to use in place of our
...
existing obj->safeRef(), which is unsafe since it can its 'if (this)' can be
optimized away by some compilers.
fix some overflows in mimpmap generation
git-svn-id: http://skia.googlecode.com/svn/trunk@181 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-22 14:39:03 +00:00
reed@android.com
f48f281766
shapes checkpoint: move matrix into groupshape and out of shape
...
git-svn-id: http://skia.googlecode.com/svn/trunk@178 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-18 04:20:55 +00:00
reed@android.com
f76bacff7f
add SkSize for dimensions
...
add SkShape baseclass, in the hopes of having SkPicture inherit from that, and
also using shapes as the extension mechanism for things like animated-gif
git-svn-id: http://skia.googlecode.com/svn/trunk@174 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-13 14:00:33 +00:00
weita@google.com
25e9834c03
Honor pref config in image decoding whenever possible.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@173 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-11 16:06:22 +00:00
reed@android.com
6a5a2667a7
add SkSize for dimensions
...
git-svn-id: http://skia.googlecode.com/svn/trunk@172 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-08 16:45:52 +00:00
reed@android.com
f76b1b6566
add SK_USE_OLD_255_TO_256 define to disable alpha+1 change to SkAlpha255To256
...
git-svn-id: http://skia.googlecode.com/svn/trunk@171 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-08 13:10:38 +00:00
reed@android.com
fbaa88d969
add canCopyTo(), to preflight if copyTo can succeed. update unittests for it
...
git-svn-id: http://skia.googlecode.com/svn/trunk@169 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-06 17:44:34 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
5e5adfd12c
migrate more legacy unittests into tests/
...
SkParse yet to be cleaned up
git-svn-id: http://skia.googlecode.com/svn/trunk@113 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-07 03:39:23 +00:00
reed@android.com
62533ed6bb
fix leak in Deserialize
...
git-svn-id: http://skia.googlecode.com/svn/trunk@112 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-06 15:57:26 +00:00
reed@android.com
54043a394e
patch SkMath.h to build in ARMv4
...
test code for mac fonts (disabled)
git-svn-id: http://skia.googlecode.com/svn/trunk@110 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-05 14:14:49 +00:00
reed@android.com
b1d9d2ef28
Significant cleanup in api, and more importantly in sementics, of SkFontHost
...
- FindTypeface is now CreateTypeface, and what it returns is always considered
a new instance, even if it is from a cache (in which case it will have been
ref()'d. The caller must always balance its ownership by calling unref() on
the result when they are done.
- CloseStream is gone, since the caller can/must call stream->unref() when they
are done using it.
- ResolveTypeface is now ValidFontID, and just returns a bool.
git-svn-id: http://skia.googlecode.com/svn/trunk@109 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 17:37:51 +00:00
reed@android.com
069b827f8e
API cleanup: rename typeface Create to CreateFromName, and remove default arg
...
git-svn-id: http://skia.googlecode.com/svn/trunk@108 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 15:31:48 +00:00
reed@android.com
0650c6ca12
Move SkTSort.h back to private, and instead allow in the makefile for tests to
...
see private headers. This also means the tests don't have to use ../.. to find
the private header they want.
git-svn-id: http://skia.googlecode.com/svn/trunk@107 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-04 14:02:44 +00:00
reed@android.com
ef772ddb86
remove unimplemented (and uncalled) SkTypeface::Hash()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@105 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-03 21:20:49 +00:00
reed@android.com
3abec1d7c3
add initial unittests for Path
...
add operator== for paths
still need to implement isRect!
git-svn-id: http://skia.googlecode.com/svn/trunk@99 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-02 05:36:20 +00:00
reed@android.com
a396a16d53
add tests (unittests) to Makefile
...
move SkTSort.h into public includes
git-svn-id: http://skia.googlecode.com/svn/trunk@98 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-28 18:26:14 +00:00
reed@android.com
d8730ea8b2
more tests (need more meat in there)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@97 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-27 22:06:06 +00:00
reed@android.com
ed673310e2
add initial unittest framework (tests)
...
move some previous unittests out of core classes and into tests
git-svn-id: http://skia.googlecode.com/svn/trunk@96 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-27 16:24:51 +00:00
reed@android.com
ae814c809e
add picture-record option to speedup complex clips
...
remove hack that stopped picture-playback from culling on clipPath() result
git-svn-id: http://skia.googlecode.com/svn/trunk@92 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-13 14:56:09 +00:00
reed@android.com
62900b4c64
handle failure when creating a scalercontext
...
git-svn-id: http://skia.googlecode.com/svn/trunk@90 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-02-11 15:07:19 +00:00
reed@android.com
f523e25da0
add BitmapBench
...
git-svn-id: http://skia.googlecode.com/svn/trunk@83 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-26 23:15:37 +00:00
reed@android.com
64dbab7e05
need to include carbon.h so we know what OSStatus is
...
git-svn-id: http://skia.googlecode.com/svn/trunk@80 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-23 16:33:13 +00:00
reed@android.com
3a0b5befc3
Remove legacy pascal prefix
...
git-svn-id: http://skia.googlecode.com/svn/trunk@79 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-23 16:23:10 +00:00
reed@android.com
00bf85a986
pull from android: use registry to build up list of image codecs
...
git-svn-id: http://skia.googlecode.com/svn/trunk@76 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-22 13:04:56 +00:00
reed@android.com
f13c6e113c
Remove unneeded SK_BUILD_FOR_... checks in SkBitmap.h
...
git-svn-id: http://skia.googlecode.com/svn/trunk@72 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-19 19:10:24 +00:00
reed@android.com
fc25abdabf
fix warnings
...
git-svn-id: http://skia.googlecode.com/svn/trunk@68 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-15 14:38:33 +00:00
reed@android.com
6f25297d93
fix multiple warnings (e.g. hidden virtuals, unused static functions)
...
update freetype version-check for const
git-svn-id: http://skia.googlecode.com/svn/trunk@66 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-14 16:46:16 +00:00
reed@android.com
5c80ea17d4
first pass at clean up of the 3 config files
...
- note that SkUserConfig.h no longer actually does anything
git-svn-id: http://skia.googlecode.com/svn/trunk@60 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-08 17:49:50 +00:00
reed@android.com
b08eb2b3bc
separate image encode and decode
...
remove obsolete build-flag for encode
git-svn-id: http://skia.googlecode.com/svn/trunk@56 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-06 20:16:26 +00:00
reed@android.com
6e073b9e2b
remove defines for strcasecmp (issue #5 )
...
support setMatrix in pictures
git-svn-id: http://skia.googlecode.com/svn/trunk@53 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-01-06 15:03:30 +00:00
reed@android.com
0ae6b245f2
add mac image-encoding
...
add 'f' to sampleapp, which writes a png file for the currnet screen
git-svn-id: http://skia.googlecode.com/svn/trunk@47 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-23 16:49:54 +00:00
reed@android.com
03ca3d19c4
move CreateTypefaceFromFile into fonthost porting layer, so we don't force a given port to have mmap access.
...
update core.proj as some headers have changed location
git-svn-id: http://skia.googlecode.com/svn/trunk@43 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-22 15:35:46 +00:00
reed@android.com
6efdc47afc
first cut at event-based test app
...
git-svn-id: http://skia.googlecode.com/svn/trunk@37 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-19 18:24:35 +00:00
reed@android.com
0d55f1e73c
move cg utils out of xcode and into src/include
...
git-svn-id: http://skia.googlecode.com/svn/trunk@35 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 19:26:11 +00:00
reed@android.com
fadd796fc5
make this header public (at least for now)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@34 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 19:04:43 +00:00
reed@android.com
9fb1731ef2
move core files into core (were in images, but are required for core library)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@31 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-18 17:50:13 +00:00
reed@android.com
8a1c16ff38
grab from latest android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 15:59:43 +00:00
reed@android.com
2559c62907
Out with the old...
...
git-svn-id: http://skia.googlecode.com/svn/trunk@26 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 14:42:41 +00:00
croachrose
48ede9b432
Added license headers to all files. Sync to latest perforce revision.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3 2bbb7eff-a529-9590-31e7-b0007b416f81
2006-11-08 19:24:48 +00:00
croachrose
0f87cd842d
Initial checkin of skia source in google codebase.
...
* reviewed by me!
git-svn-id: http://skia.googlecode.com/svn/trunk@2 2bbb7eff-a529-9590-31e7-b0007b416f81
2006-09-20 15:47:42 +00:00