Commit Graph

113 Commits

Author SHA1 Message Date
reed@google.com
2a006c1127 begin to skiafy PDF headers : removing use of SkRefPtr
Review URL: https://codereview.appspot.com/6526050

git-svn-id: http://skia.googlecode.com/svn/trunk@5596 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-19 17:05:55 +00:00
vandebo@chromium.org
238be8c7e5 [PDF] Add link annotations.
Review URL: https://codereview.appspot.com/6346100

git-svn-id: http://skia.googlecode.com/svn/trunk@4609 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 20:06:02 +00:00
robertphillips@google.com
40a1ae4df2 Added SkDevice onAttachToCanvas & onDetachFromCanvas methods
http://codereview.appspot.com/6348100/



git-svn-id: http://skia.googlecode.com/svn/trunk@4598 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:36:15 +00:00
vandebo@chromium.org
7d6c8f997f [PDF] Move most of the headers to be private.
Compute font stats in SkPDFDocument in order to make more of the headers private.

Previous review: https://codereview.appspot.com/5868049/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3470 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 20:45:15 +00:00
vandebo@chromium.org
ec1a7fa304 Move SkBitSet to utils.
Review URL: https://codereview.appspot.com/5875043

git-svn-id: http://skia.googlecode.com/svn/trunk@3460 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 23:11:46 +00:00
vandebo@chromium.org
76d6de0845 Revert "[PDF] Move most of the headers to be private."
This reverts r3457

TBR=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3458 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 20:31:08 +00:00
vandebo@chromium.org
bd960c7f19 [PDF] Move most of the headers to be private.
Compute font stats in SkPDFDocument in order to make more of the headers private.

Previous review: https://codereview.appspot.com/5865048/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3457 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 19:59:04 +00:00
vandebo@chromium.org
008c498b58 Revert "[PDF] Move most of the headers to be private."
This reverts r3453

TBR=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3454 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 17:55:04 +00:00
vandebo@chromium.org
f7f9aa8bd9 [PDF] Move most of the headers to be private.
Compute font stats in SkPDFDocument in order to make more of the headers private.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3453 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 17:45:06 +00:00
vandebo@chromium.org
188838c208 [PDF] Fix memory hungry inefficiency in pdf resource tracking.
When moving the content of a device into a PDF object like SkPDFFormXObject
or SkPDFShader does, we only need the top level resources in the new object's
resource list, not the recursive set of objects.  Otherwise, when you
put a form on a form on form, etc, references to the objects multiply.

This fixed http://crbug.com/117321

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3360 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-09 22:16:58 +00:00
vandebo@chromium.org
74b4619616 Formatting cleanup: remove extra whitespace
Change by arthurhsu@chromium.org, original CL: http://codereview.appspot.com/5587049/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-28 01:45:11 +00:00
digit@google.com
1771cbf43d posix: Avoid static initializers in static/global mutexes
This patch removes static initializers related to static and
global mutexes from the final library's machine code when
building on a pthread-capable system.

We use PTHREAD_MUTEX_INITIALIZER to perform POD-style
initialization. You need a line like the following to declare
a global mutex with it:

    SkBaseMutex gMutex = { PTHREAD_MUTEX_INITIALIZER };

We introduce the SK_DECLARE_STATIC_MUTEX and SK_DECLARE_GLOBAL_MUTEX
macros to be able to declare static/global mutexes in the source tree
uniformly.

SkMutex is now defined as a sub-class of SkBaseMutex, with standard
construction/destruction semantics. This is useful if the mutex
object is a member of another C++ class, or allocated dynamically.

We also modify a few places to refer to SkBaseMutex instead of a
SkMutex, where it makes sense. Generally speaking, client code
should hold and use pointers to SkBaseMutex whenever they can
now.

We defined a new built-time macro named SK_USE_POSIX_THREADS
to indicate that we're using a pthread-based SkThread.h
interface. The macro will also be used in future patches
to implement other helper thread synchronization classes.

Finally, we inline the acquire() and release() functions in the
case of Posix to improve performance a bit.

Running: 'bench -repeat 10 -match mutex' on an Android device or
a 2.4GHz Xeon Linux desktop shows the following improvements:

                      Before     After

        Galaxy Nexus    1.64      1.45
        Nexus S         1.47      1.16
        Xoom            1.86      1.66
        Xeon            0.36      0.31

This removes 5 static mutex initializers from the library
Review URL: https://codereview.appspot.com/5501066

git-svn-id: http://skia.googlecode.com/svn/trunk@3091 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-26 21:26:40 +00:00
reed@google.com
b55deeb1c7 add allowImageFilter() so a device can allow/disallow filters
(esp. for printing)



git-svn-id: http://skia.googlecode.com/svn/trunk@2981 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-06 14:43:09 +00:00
reed@google.com
982cb875f0 add SK_OVERRIDE, move subclass impls of virtuals into .cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@2823 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 18:34:08 +00:00
bsalomon@google.com
6850eab42b Override 32BPP format in SkCanvas::readPixels
Review URL: http://codereview.appspot.com/5330073/



git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 20:29:47 +00:00
bsalomon@google.com
910267dde2 Make SkDevice::onReadPixels take a const& rather than const*
git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 20:06:25 +00:00
bsalomon@google.com
c69809745e Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt (gpu code doesn't work in general in fixed pt).
git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:57:21 +00:00
bsalomon@google.com
ace7bd5623 Revert r2584 (new test fails in fixed pt builds)
git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:39:51 +00:00
bsalomon@google.com
1a8ddf0a35 Changes the SkCanvas::readPixels API. Allows caller to read into prealloced bitmap pixels. Changes how clipping to device bounds is handled.
Review URL: http://codereview.appspot.com/5307077/



git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:34:16 +00:00
bungeman@google.com
b29c883fb4 Add xps device to skia.
http://codereview.appspot.com/5076041/


git-svn-id: http://skia.googlecode.com/svn/trunk@2437 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-10 13:19:10 +00:00
vandebo@chromium.org
5676b4a23a Revert r2122, r2116, r2108 Now that Chrome's PlatformDevice doesn't inherit from SkDevice.
Review URL: http://codereview.appspot.com/5178045

git-svn-id: http://skia.googlecode.com/svn/trunk@2396 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-03 19:03:48 +00:00
tomhudson@google.com
8a0b0291ae Revert r2250 - removal of setMatrixClip() - because Chrome makes heavy use
of those functions in a way we're not yet ready to clean up.



git-svn-id: http://skia.googlecode.com/svn/trunk@2254 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-13 14:41:06 +00:00
tomhudson@google.com
66d57255ad Replaces SkDevice::setMatrixClip() with markMatrixDirty() and markClipDirty(),
which require no arguments and so may be called without requiring the matrix
and clip to be completely evaluated.

De-inlines virtual functions in SkDevice interface.



git-svn-id: http://skia.googlecode.com/svn/trunk@2250 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-12 19:52:44 +00:00
epoger@google.com
17b7894609 rolling back the experimental rollbacks in r2178-2179
git-svn-id: http://skia.googlecode.com/svn/trunk@2180 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-26 14:40:38 +00:00
epoger@google.com
5f226572b3 rolling tree back to its state as of r2169 to see if that fixes Windows buildbots
git-svn-id: http://skia.googlecode.com/svn/trunk@2179 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-26 14:27:59 +00:00
twiz@google.com
8185f33b38 Export SkPDFDevice::setDrawingArea as SK_API.
git-svn-id: http://skia.googlecode.com/svn/trunk@2172 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-25 19:27:20 +00:00
ctguil@chromium.org
769fa6a013 No effect cleanup in pdf code.
Review URL: http://codereview.appspot.com/4927042

git-svn-id: http://skia.googlecode.com/svn/trunk@2146 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-20 00:36:18 +00:00
vandebo@chromium.org
37ad8fb72f [PDF] Subset font advance data (W array).
Patch by arthurhsu@chromium.org. Original CL:
http://codereview.appspot.com/4830068
http://codereview.appspot.com/4905051/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@2134 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-18 02:38:50 +00:00
vandebo@chromium.org
7b13aca86f Revert "Improve generation of glyph advance array." This reverts commit r2126
gm segfaults in font id retrieval.

TBR=arthurhsu@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@2128 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-16 23:30:48 +00:00
vandebo@chromium.org
e7f3300f42 Improve generation of glyph advance array.
Review URL: http://codereview.appspot.com/4830068

git-svn-id: http://skia.googlecode.com/svn/trunk@2126 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-16 22:45:43 +00:00
vandebo@chromium.org
37be7b0b01 Mark setMatrixClip as public only for VectorPlatformDeviceSkia.
Review URL: http://codereview.appspot.com/4903044

git-svn-id: http://skia.googlecode.com/svn/trunk@2122 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-16 17:11:48 +00:00
ctguil@chromium.org
a5c7234e81 Address lint issues in pdf directories.
Review URL: http://codereview.appspot.com/4887042

git-svn-id: http://skia.googlecode.com/svn/trunk@2117 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-15 23:55:03 +00:00
vandebo@chromium.org
7b5e017169 Make SkPDFDevice::setOrigin accessible to Chrome's VectorPlatformDeviceSkia.
BUG=chrome 82746

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

git-svn-id: http://skia.googlecode.com/svn/trunk@2116 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-15 21:20:59 +00:00
bungeman@google.com
88edf1e507 Protect much of SkDevice and clarify usage of drawDevice.
http://codereview.appspot.com/4798069/



git-svn-id: http://skia.googlecode.com/svn/trunk@2066 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-08 19:41:56 +00:00
epoger@google.com
ec3ed6a5eb Automatic update of all copyright notices to reflect new license terms.
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

The following files still need to be modified manually, in a separate CL:

android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
vandebo@chromium.org
17e66e2d34 [PDF] Improve efficiency of glyph id collection during font subsetting.
Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4828044/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1978 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-27 20:59:55 +00:00
ctguil@chromium.org
9510ccc06b Cleanup from r1843 based on revision comments.
Review URL: http://codereview.appspot.com/4794044

git-svn-id: http://skia.googlecode.com/svn/trunk@1966 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-27 00:10:51 +00:00
vandebo@chromium.org
9859428e71 [PDF] Refactor SkPDFFont to enable font/cmap subsetting.
Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4633050/

Committed: http://code.google.com/p/skia/source/detail?r=1943
Reverted: http://code.google.com/p/skia/source/detail?r=1944

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1956 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-25 22:34:12 +00:00
vandebo@chromium.org
31dcee7b84 Revert "[PDF] Refactor SkPDFFont to enable font/cmap subsetting."
The PDF xref table is corrupt with this change. Revert until we figure it out.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1944 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-23 21:13:30 +00:00
vandebo@chromium.org
6504cfdfc0 [PDF] Refactor SkPDFFont to enable font/cmap subsetting.
Patch from Arthur Hsu, original CL: http://codereview.appspot.com/4633050/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1943 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-23 20:22:53 +00:00
reed@google.com
1feb33068b replace SkRefPtr for parameters with simple pointers
git-svn-id: http://skia.googlecode.com/svn/trunk@1913 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-20 18:43:19 +00:00
vandebo@chromium.org
421d6443fb [PDF] Make stream compression optional on a per device basis.
There are a lot of small pieces to make this change work:
- SkPDFDocument (and SkPDFCatalog) take flags to disable compression (and font embedding - not implemented yet, can disable font subsetting for now).
- SkPDFStream now defers compression until the size/emit step.
- Classes that *had* a stream (because they didn't know the stream size at construction time) now *are* streams to make the substitution work correctly.
- The SkPDFShader implementation got pulled apart into two classes, one that is a SkPDFDict, and one that is a SkPDFStream (making the common ancestor SkPDFObject).
- Added helper methods in SkPDFObject for children that have simple resource lists.
- Added an iterator to SkPDFDict so that a substitute SkPDFStream can get a copy of the stream dictionary.
- Change SkPDFDocument to have a pointer to an SkPDFCatalog to remove a new circular header reference.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1911 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-20 17:39:01 +00:00
reed@google.com
f6c3ebdeb1 fix Capitalization of static methods
git-svn-id: http://skia.googlecode.com/svn/trunk@1910 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-20 17:20:28 +00:00
reed@google.com
c789cf1c6f helpers for append and insert when the value is a POD.
reduces code-size and perf: fewer refs/unrefs



git-svn-id: http://skia.googlecode.com/svn/trunk@1909 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-20 12:14:33 +00:00
vandebo@chromium.org
f5181a496d [PDF] Fix substitute resources size calculation.
Review URL: http://codereview.appspot.com/4803041

git-svn-id: http://skia.googlecode.com/svn/trunk@1908 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-20 00:33:53 +00:00
vandebo@chromium.org
fb6a53a406 [PDF] Add setPage method to SkPDFDocument.
BUG=312

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1892 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-18 23:13:19 +00:00
vandebo@chromium.org
b88cfe58e1 [PDF] Make color shaders work correctly.
Make SkPDFShader correctly bail out for color shaders.
Fix the bail out handling code.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1886 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-18 18:40:32 +00:00
ctguil@chromium.org
8dcf74f276 Modified to add support to print in the margins of pdf documents
Review URL: http://codereview.appspot.com/4657087

git-svn-id: http://skia.googlecode.com/svn/trunk@1843 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-12 21:56:27 +00:00
vandebo@chromium.org
2ef12d4bb5 [PDF] Add a concept of a substitute object to the SkPDFCatalog class.
Code by Arthur Hsu, original code review: http://codereview.appspot.com/4650060/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@1812 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-06 23:31:24 +00:00
reed@google.com
cde92111d5 remove SkDeviceFactory from the collective consciousness, now that devices know
how to create compatible siblings.



git-svn-id: http://skia.googlecode.com/svn/trunk@1808 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-06 20:00:52 +00:00