| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
TBR=mtklein@google.com
Review URL: https://codereview.chromium.org/1039313004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Motivation: Keep separate features separate. Also, future
linearization work will need to have several objNumMap
objects share a substituteMap. Also "catalog" has a
specific meaning in PDF. This catalog did not map to that
catalog.
- Modify SkPDFObject::emitObject and SkPDFObject::addResources
interface to requiore SkPDFObjNumMap and SkPDFSubstituteMap.
- SkPDFObjNumMap const in SkPDFObject::emitObject.
- Remove SkPDFCatalog.cpp/.h
- Modify SkDocument_PDF.cpp to use new functions
- Fold in SkPDFStream::populate
- Fold in SkPDFBitmap::emitDict
- Move SkPDFObjNumMap and SkPDFSubstituteMap to SkPDFTypes.h
- Note (via assert) that SkPDFArray & SkPDFDict don't need to
check substitutes.
- Remove extra space from SkPDFDict serialization.
- SkPDFBitmap SkPDFType0Font SkPDFGraphicState SkPDFStream
updated to new interface.
- PDFPrimitivesTest updated for new interface.
BUG=skia:3585
Review URL: https://codereview.chromium.org/1049753002
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkPDFStream copy constructor
SkPDFStream Substitute mechanism
SkPDFStream::setData(NULL);
SkPDFStream SK_NO_FLATE logic
BUG=skia:3585
TBR=bsalomon@google.com,reed@google.com
Review URL: https://codereview.chromium.org/1041183002
|
|
|
|
|
|
|
|
| |
We now force all SkPDFObjects to stay on one thread.
TBR=mtklein@google.com
Review URL: https://codereview.chromium.org/942153002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/936403002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/933523007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.
Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).
Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.
Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().
Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.
Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.
In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).
Make other pdf rasterizers behave like SkPDFDocumentToBitmap.
SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:
SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF
Requires a change to Android, which currently treats SkStreams as ref
counted objects.
Review URL: https://codereview.chromium.org/849103004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add Streamer utility class which measures the current
pdf offset by calling SkWStream::bytesWritten(). Calls
SkPDFCatalog::setFileOffset() and SkPDFObject::emit() at
the same time to guarantee that everything works out.
* SkPDFCatalog::setFileOffset() no longer calculates the
object's size.
* SkPDFCatalog::setSubstituteResourcesOffsets() removed.
* SkPDFCatalog::emitSubstituteResources() removed and
getSubstituteList() made public in its place.
* Remove SkPDFPage::getPageSize and SkPDFPage::emitPage.
Replace with SkPDFPage::getContentStream().
* SkPDFObject::getOutputSize no longer virtual, only used in
unit tests. All SkPDFObject subclasses getOutputSize()
overrides removed.
* SkPDFObject::getIndirectOutputSize removed.
* PDFPrimitivesTest updated for new functions.
Review URL: https://codereview.chromium.org/846023003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace virutal SkPDFObject::emitObject(s, c, true) with non-virtual
SkPDFObject::emitIndirectObject(s, c), since none of the subclasses do
(or should do) anything different.
Replace object->emitObject(s, c, false) with object->emitObject(s, c)
This is one step in simplifying the SkPDFObject interface to allow for
the next step in refactoring.
Review URL: https://codereview.chromium.org/827733004
|
|
|
|
|
|
|
|
|
| |
NOTRY=true
R=bungeman@google.com, mtklein@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/395543002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkPDFStream stores data as a SkStreamRewindable to minimize
deep duplication and memory overhead.
SkStreamToStreamRewindable function to deal with fact that
SkTypeface returns a SkStream.
BUG=skia:2743
R=djsollen@google.com, mtklein@google.com, bungeman@google.com, reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/387863005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Motivation: This makes SkPDFStream thread-safe for two threads
serializing it at once, since a SkStream has an internal position.
Updated SkPDFFont, SkPDFGraphicState, and SkPDFPage's use of
SkPDFStream to use the SkData constructor rather than the SkStream
constructor (saving a memcpy).
BUG=skia:2683
Committed: https://skia.googlesource.com/skia/+/c1dfa14b645ae274780f026dd86c9b633fbdad06
R=mtklein@google.com, djsollen@google.com, rmistry@google.com, robertphillips@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/340783013
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add mutex lock to all functions. Remove dictionary iterator, and
replace with new thread-safe functions.
BUG=skia:2683
R=mtklein@google.com, djsollen@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/360473005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/340783013/)
Reason for revert:
Causes canary failures
Original issue's description:
> Switch SkPDFStream's internal storage from SkStream to SkData
>
> Motivation: This makes SkPDFStream thread-safe for two threads
> serializing it at once, since a SkStream has an internal position.
>
> Updated SkPDFFont, SkPDFGraphicState, and SkPDFPage's use of
> SkPDFStream to use the SkData constructor rather than the SkStream
> constructor (saving a memcpy).
>
> BUG=skia:2683
>
> Committed: https://skia.googlesource.com/skia/+/c1dfa14b645ae274780f026dd86c9b633fbdad06
R=mtklein@google.com, djsollen@google.com, halcanary@google.com
TBR=djsollen@google.com, halcanary@google.com, mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2683
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/354043005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Motivation: This makes SkPDFStream thread-safe for two threads
serializing it at once, since a SkStream has an internal position.
Updated SkPDFFont, SkPDFGraphicState, and SkPDFPage's use of
SkPDFStream to use the SkData constructor rather than the SkStream
constructor (saving a memcpy).
BUG=skia:2683
R=mtklein@google.com, djsollen@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/340783013
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getMemoryBase().
An apparently recently change started putting web fonts into SkStream objects that don't support getMemoryBase(). This change uses writeStream to avoid needing to call getMemoryBase().
BUG=chromium:274440
R=bungeman@google.com
Review URL: https://codereview.chromium.org/23437004
git-svn-id: http://skia.googlecode.com/svn/trunk@10928 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
|
| |
getMemoryBase()."
This reverts commit r10918
Review URL: https://codereview.chromium.org/23351007
git-svn-id: http://skia.googlecode.com/svn/trunk@10920 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getMemoryBase().
An apparently recently change started putting web fonts into SkStream objects that don't support getMemoryBase(). This change uses writeStream to avoid needing to call getMemoryBase().
BUG=chromium:274440
R=bungeman@google.com
Review URL: https://codereview.chromium.org/23414007
git-svn-id: http://skia.googlecode.com/svn/trunk@10918 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkData
R=vandebo@chromium.org, edisonn@google.com
Author: richardlin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18328026
git-svn-id: http://skia.googlecode.com/svn/trunk@9916 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
| |
Review URL: https://codereview.chromium.org/12754004
git-svn-id: http://skia.googlecode.com/svn/trunk@8118 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
| |
(resubmit of https://codereview.appspot.com/7030059/)
TBR=junov@google.com
Review URL: https://codereview.appspot.com/7030065
git-svn-id: http://skia.googlecode.com/svn/trunk@7030 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
| |
samplecode/ still needs to be updated.
Review URL: https://codereview.appspot.com/7032048
git-svn-id: http://skia.googlecode.com/svn/trunk@7022 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
| |
Review URL: https://codereview.appspot.com/7030059
git-svn-id: http://skia.googlecode.com/svn/trunk@7021 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
| |
Review URL: https://codereview.appspot.com/6346100
git-svn-id: http://skia.googlecode.com/svn/trunk@4609 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All are triggered by PDF code.
Two are missing unref's on SkData.
One is a missing unref on a SkAdvancedTypefaceMetrics.
The last is missing destruction of SkClipStack internal state.
BUG=526
Review URL: https://codereview.appspot.com/5824049
git-svn-id: http://skia.googlecode.com/svn/trunk@3386 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
reduces code-size and perf: fewer refs/unrefs
git-svn-id: http://skia.googlecode.com/svn/trunk@1909 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
| |
http://codereview.appspot.com/4657046/
git-svn-id: http://skia.googlecode.com/svn/trunk@1714 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Review URL: http://codereview.appspot.com/3326043
git-svn-id: http://skia.googlecode.com/svn/trunk@627 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
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
|