aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf
Commit message (Collapse)AuthorAge
* fix warnings in VS 2010Gravatar reed@google.com2011-03-07
| | | | | | | | drawPaint() doesn't need +1 to fill its bounds git-svn-id: http://skia.googlecode.com/svn/trunk@899 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Re add line accidentally removed in r892.Gravatar vandebo@chromium.org2011-03-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@896 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkPDFUtils.cpp to build.Gravatar ctguil@chromium.org2011-03-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@893 2bbb7eff-a529-9590-31e7-b0007b416f81
* PDF Type3 Support.Gravatar ctguil@chromium.org2011-03-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@892 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Restrict scalars to the range that PDF understands.Gravatar vandebo@chromium.org2011-03-04
| | | | | | | | | | | * 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
* [PDF] Fix broken encoding conversion code for non-multibyte fonts.Gravatar vandebo@chromium.org2011-02-28
| | | | | | Review URL: http://codereview.appspot.com/4245044 git-svn-id: http://skia.googlecode.com/svn/trunk@863 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Remove one copy of each content stream.Gravatar vandebo@chromium.org2011-02-24
| | | | | | Review URL: http://codereview.appspot.com/4231044 git-svn-id: http://skia.googlecode.com/svn/trunk@856 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Change the way flip origin is done.Gravatar vandebo@chromium.org2011-02-24
| | | | | | | | 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
* [PDF] Bug fix - missing last odd column in 4444 bitmaps.Gravatar vandebo@chromium.org2011-02-24
| | | | | | Review URL: http://codereview.appspot.com/4212044 git-svn-id: http://skia.googlecode.com/svn/trunk@853 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Clean up SkPDFStream and make it inherit from SkPDFDict.Gravatar vandebo@chromium.org2011-02-24
| | | | | | | | | 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
* change virtual setMatrixClip() to take a SkClipStack parameter.Gravatar reed@google.com2011-02-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@831 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Add support for xfermodes / blend modes.Gravatar vandebo@chromium.org2011-02-08
| | | | | | | | | | | | - 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
* [PDF] Change SkPDFFormXObject to not hold a reference to device.Gravatar vandebo@chromium.org2011-02-08
| | | | | | | | 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
* remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites withGravatar reed@google.com2011-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [PDF] Start from an identity transform for drawDevice.Gravatar vandebo@chromium.org2011-02-03
| | | | | | | | 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
* Cleanup SkPDFTypfaceInfo and make it more generic.Gravatar vandebo@chromium.org2011-02-02
| | | | | | | | | | | | 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
* [PDF] Clean up ref counting.Gravatar vandebo@chromium.org2011-02-01
| | | | | | | | 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
* [PDF] Fix bugs preventing gm from running with PDF support.Gravatar vandebo@chromium.org2011-02-01
| | | | | | | | | Fix copy-paste ref counting bug. Change NOT_IMPLEMENTED macro to only assert in debug mode. Review URL: http://codereview.appspot.com/4080048 git-svn-id: http://skia.googlecode.com/svn/trunk@748 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Support image alpha channel plus a couple small fixes.Gravatar vandebo@chromium.org2011-01-31
| | | | | | | | | 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
* [PDF] Honor srcRect in drawBitmap.Gravatar vandebo@chromium.org2011-01-29
| | | | | | Review URL: http://codereview.appspot.com/4083045 git-svn-id: http://skia.googlecode.com/svn/trunk@745 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update SkPDFDevice::drawPath signature to match SkDevice.Gravatar vandebo@chromium.org2011-01-25
| | | | | | Review URL: http://codereview.appspot.com/4068044 git-svn-id: http://skia.googlecode.com/svn/trunk@729 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add Truetype and Type 1 font embedding supportGravatar vandebo@chromium.org2011-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* add option to write PDFs from gmGravatar reed@google.com2010-12-20
| | | | | | | | fix some compile warnings (reorder initializers, init local ptr) git-svn-id: http://skia.googlecode.com/svn/trunk@642 2bbb7eff-a529-9590-31e7-b0007b416f81
* merge with changes for GPU backendGravatar reed@android.com2010-12-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add deflate support to SkPDFStream.Gravatar vandebo@chromium.org2010-12-01
| | | | | | Review URL: http://codereview.appspot.com/3326043 git-svn-id: http://skia.googlecode.com/svn/trunk@627 2bbb7eff-a529-9590-31e7-b0007b416f81
* PDF: Add text support with a font framework (font embedding to come).Gravatar vandebo@chromium.org2010-11-11
| | | | | | | | | | | | 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
* Add clipping support and some small fixes.Gravatar vandebo@chromium.org2010-11-03
| | | | | | | | | | 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
* Add PDF support for drawDevice using a form xobject.Gravatar vandebo@chromium.org2010-10-26
| | | | | | | | | | | 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
* Implement SkPDFDevice::drawPath(...)Gravatar vandebo@chromium.org2010-10-26
| | | | | | | | This depends on http://codereview.appspot.com/2721041 Review URL: http://codereview.appspot.com/2722041 git-svn-id: http://skia.googlecode.com/svn/trunk@620 2bbb7eff-a529-9590-31e7-b0007b416f81
* Several cleanups:Gravatar vandebo@chromium.org2010-10-26
| | | | | | | | | | | 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
* Cleanup/unify matrix transform for PDF backend.Gravatar vandebo@chromium.org2010-10-26
| | | | | | Review URL: http://codereview.appspot.com/2719041 git-svn-id: http://skia.googlecode.com/svn/trunk@617 2bbb7eff-a529-9590-31e7-b0007b416f81
* Bug fix in SkPDFImage.Gravatar vandebo@chromium.org2010-10-26
| | | | | | | | Need to lock the pixels to make sure they are there. Review URL: http://codereview.appspot.com/2717041 git-svn-id: http://skia.googlecode.com/svn/trunk@615 2bbb7eff-a529-9590-31e7-b0007b416f81
* First pieces of SkPDFDevice. Supports:Gravatar vandebo@chromium.org2010-10-20
| | | | | | | | | | | | 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
* High level pdf classes and pdf specific interface.Gravatar vandebo@chromium.org2010-10-12
| | | | | | | | 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
* Address senorblanco's comments on r600.Gravatar vandebo@chromium.org2010-10-01
| | | | | | | | | | | 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
* Initial PDF backend commit: directories, build rules, primitivesGravatar vandebo@chromium.org2010-09-24
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