aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* [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
* bump SkStrAppendScalar_MaxSize to 15 to handle 3-digit exponents on someGravatar reed@google.com2011-03-03
| | | | | | | | platforms (like windows) git-svn-id: http://skia.googlecode.com/svn/trunk@881 2bbb7eff-a529-9590-31e7-b0007b416f81
* Expose explicit functions to stringify float's and fixed's.Gravatar vandebo@chromium.org2011-03-03
| | | | | | | | 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
* Add support for clipstack to Gr. GrClip is now a list of rects and paths ↵Gravatar bsalomon@google.com2011-03-03
| | | | | | 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
* add setXYWH to rectsGravatar reed@google.com2011-03-03
| | | | | | | | new tests for circles git-svn-id: http://skia.googlecode.com/svn/trunk@877 2bbb7eff-a529-9590-31e7-b0007b416f81
* bump SkStrAppendScalar_MaxSize to 14 to accomodate the largest string now thatGravatar reed@google.com2011-03-01
| | | | | | | | | | | 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
* [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
* http://codereview.appspot.com/4233041/Gravatar reed@google.com2011-02-25
| | | | | | | | | | 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
* [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
* Add SkBitmap::getColor(int x, int y) - return the color of a pixel in a bitmap.Gravatar vandebo@chromium.org2011-02-24
| | | | | | Review URL: http://codereview.appspot.com/4230041 git-svn-id: http://skia.googlecode.com/svn/trunk@854 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
* Guard globalRef() virtual with #ifdef ANDROID, as these are not implementedGravatar reed@google.com2011-02-24
| | | | | | | | nor called by Skia proper. git-svn-id: http://skia.googlecode.com/svn/trunk@850 2bbb7eff-a529-9590-31e7-b0007b416f81
* add isFixedWidth() to expose the newly added attributeGravatar reed@google.com2011-02-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@849 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add asAGradient shader extraction API.Gravatar vandebo@chromium.org2011-02-24
| | | | | | | | | 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
* add fClipStack optional field to SkDraw (it is always set by canvas)Gravatar reed@google.com2011-02-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@844 2bbb7eff-a529-9590-31e7-b0007b416f81
* merge from android tree:Gravatar djsollen@google.com2011-02-23
| | | | | | | | | | | | | - 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
* add fixed-width attribute to typefaceGravatar reed@google.com2011-02-23
| | | | | | | | (patch from russellbrenner) git-svn-id: http://skia.googlecode.com/svn/trunk@837 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix warnings about struct being forward declared as a classGravatar bsalomon@google.com2011-02-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@833 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
* Make a separate path renderer object. Move enum types to GrTypes.hGravatar bsalomon@google.com2011-02-22
| | | | | | | | Review URL http://codereview.appspot.com/4167067/ git-svn-id: http://skia.googlecode.com/svn/trunk@829 2bbb7eff-a529-9590-31e7-b0007b416f81
* add clipstack to canvas. not used yet, but will be for devices (e.g. gpu) thatGravatar reed@google.com2011-02-22
| | | | | | | | want to see how the clip was built git-svn-id: http://skia.googlecode.com/svn/trunk@824 2bbb7eff-a529-9590-31e7-b0007b416f81
* rename SkDeque::Iter to SkDeque::F2BIter, since it runs front-to-back (in ↵Gravatar reed@google.com2011-02-22
| | | | | | | | | | | | 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
* [Committed on behalf of junov@chromium.org]Gravatar senorblanco@chromium.org2011-02-18
| | | | | | | | | | | | | | | 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
* remove dead conditional codeGravatar reed@google.com2011-02-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@811 2bbb7eff-a529-9590-31e7-b0007b416f81
* Hide alloc size vs content size below APIGravatar bsalomon@google.com2011-02-17
| | | | | | | 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
* add no-check version of SkPackARGB32, for callers that want to deliberatelyGravatar reed@google.com2011-02-15
| | | | | | | | | | | 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
* Provide windows font host implementation needed to support TrueType text in ↵Gravatar vandebo@chromium.org2011-02-14
| | | | | | | | | | 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
* add SkScalarIsFinite(), and use it for a more portable impl of ↵Gravatar reed@google.com2011-02-08
| | | | | | SkRect::isValidCoords() git-svn-id: http://skia.googlecode.com/svn/trunk@775 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
* update dox for readPixels()Gravatar reed@google.com2011-02-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@772 2bbb7eff-a529-9590-31e7-b0007b416f81
* check for SK_BUILD_FOR_BREWGravatar reed@google.com2011-02-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@771 2bbb7eff-a529-9590-31e7-b0007b416f81
* Proposed fix for crash in Cr70244.Gravatar wjmaclean@chromium.org2011-02-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@764 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
* change forward decl of SkMatrix from struct (wrong) to class (correct)Gravatar reed@android.com2011-02-03
| | | | | | | | 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
* 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] 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 dox on bitmap configsGravatar reed@google.com2011-01-28
| | | | | | | | document testing build-flag for large bitmaps git-svn-id: http://skia.googlecode.com/svn/trunk@744 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix windows build.Gravatar vandebo@chromium.org2011-01-26
| | | | | | Review URL: http://codereview.appspot.com/3996048 git-svn-id: http://skia.googlecode.com/svn/trunk@739 2bbb7eff-a529-9590-31e7-b0007b416f81
* move into core for now, so we can build SkFontHost_FreeType.cppGravatar reed@google.com2011-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@738 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix mac build (don't need typedef struct foo foo)Gravatar reed@google.com2011-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@733 2bbb7eff-a529-9590-31e7-b0007b416f81
* embed a refdict inside SkDeviceGravatar reed@google.com2011-01-25
| | | | | | | | udate unittests to test refdict's destructor git-svn-id: http://skia.googlecode.com/svn/trunk@731 2bbb7eff-a529-9590-31e7-b0007b416f81
* add refdict class, for holding a dictionary of reference-counted objectsGravatar reed@google.com2011-01-25
| | | | | | | | -- experimental git-svn-id: http://skia.googlecode.com/svn/trunk@730 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
* fixes for some warnings:Gravatar reed@google.com2011-01-25
| | | | | | | | | | | - #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