aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* 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
* call glyph::init() on tmpGlyph, so we have a properly initialized fMaskFormatGravatar reed@google.com2011-02-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@812 2bbb7eff-a529-9590-31e7-b0007b416f81
* Set fLastGlyphID in SkFontHost::GetAdvancedTypefaceMetrics for windows.Gravatar ctguil@chromium.org2011-02-17
| | | | | | Review URL: http://codereview.appspot.com/4178060 git-svn-id: http://skia.googlecode.com/svn/trunk@809 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
* need to apply the prepathmatrix (or perhaps push it on our mv stack)Gravatar reed@google.com2011-02-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@804 2bbb7eff-a529-9590-31e7-b0007b416f81
* upload generated mask for maskfilter to gpu (does not work with ↵Gravatar reed@google.com2011-02-16
| | | | | | complex-paints yet) git-svn-id: http://skia.googlecode.com/svn/trunk@802 2bbb7eff-a529-9590-31e7-b0007b416f81
* first steps for supporting maskfilters (disabled right now)Gravatar reed@google.com2011-02-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@801 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix compile error for linuxGravatar reed@google.com2011-02-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@797 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix file modes.Gravatar vandebo@chromium.org2011-02-14
| | | | | | Review URL: http://codereview.appspot.com/4178051 git-svn-id: http://skia.googlecode.com/svn/trunk@790 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
* fix compile-error, mismatch between fontID and idGravatar reed@google.com2011-02-14
| | | | | | | | http://code.google.com/p/skia/issues/detail?id=149 git-svn-id: http://skia.googlecode.com/svn/trunk@787 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use real glyph IDs in the win fonthost to better support pdf.Gravatar vandebo@chromium.org2011-02-10
| | | | | | Review URL: http://codereview.appspot.com/4142044 git-svn-id: http://skia.googlecode.com/svn/trunk@782 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove extra stub definition of GetAdvancedTypefaceMetrics.Gravatar vandebo@chromium.org2011-02-09
| | | | | | | | | BUG=140 TEST=NONE Review URL: http://codereview.appspot.com/4150043 git-svn-id: http://skia.googlecode.com/svn/trunk@779 2bbb7eff-a529-9590-31e7-b0007b416f81
* reformatting to match coding style -- no logic changesGravatar reed@google.com2011-02-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@778 2bbb7eff-a529-9590-31e7-b0007b416f81
* reformat for coding style, no logic changesGravatar reed@google.com2011-02-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@776 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
* addGravatar reed@google.com2011-02-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@770 2bbb7eff-a529-9590-31e7-b0007b416f81
* addGravatar reed@google.com2011-02-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@769 2bbb7eff-a529-9590-31e7-b0007b416f81
* clear the convex-hint in reset() and rewind(), to match its state in a newlyGravatar reed@google.com2011-02-07
| | | | | | | | | | created path. todo: convexity perhaps should be tristate: yes, no, unknown git-svn-id: http://skia.googlecode.com/svn/trunk@768 2bbb7eff-a529-9590-31e7-b0007b416f81
* add rlepixelref file to make, to keep it from bit-rotGravatar reed@google.com2011-02-07
| | | | | | | | update rlepixelref to not use safeRef/safeUnref (as those are gone now) git-svn-id: http://skia.googlecode.com/svn/trunk@767 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
* When we create the GL context and FBO on mac for the GM test also setup the ↵Gravatar bsalomon@google.com2011-02-07
| | | | | | | | | | viewport and clear the stencil. In GrGpuGL::readPixels make sure current rendertarget has been made current in GL before calling glReadPixels git-svn-id: http://skia.googlecode.com/svn/trunk@761 2bbb7eff-a529-9590-31e7-b0007b416f81
* Improve usability of SkAdvancedTypefaceMetrics for non PDF cases.Gravatar vandebo@chromium.org2011-02-03
| | | | | | | | Change the code to fill out the metrics even if the font isn't embeddable. Previously, if the font wasn't embeddable, the code would set the type to not embeddable and return without filling out the rest of the metrics. Review URL: http://codereview.appspot.com/3973053 git-svn-id: http://skia.googlecode.com/svn/trunk@758 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
* Fix warnings on linux build (strict aliasing, cons init order, vars used ↵Gravatar bsalomon@google.com2011-02-03
| | | | | | only in asserts) git-svn-id: http://skia.googlecode.com/svn/trunk@756 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
* Attempt to simplify NPOT texture caps. Also fixes case where textures would ↵Gravatar bsalomon@google.com2011-02-01
| | | | | | unnecessarily be bloated to POT. Adds setting of sampler's filter setting in paint conversion. git-svn-id: http://skia.googlecode.com/svn/trunk@751 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
* Adds ability to draw rects using a unit square vertex buffer. Useful when ↵Gravatar bsalomon@google.com2011-02-01
| | | | | | | | | | matrix/uniform changes are less expensive than sending new verts. Adds optional matrix parameters to GrContext drawRect and drawRectToRect so that non-axis-aligned matrices can be drawn using these functions. codereview Issue 4105049 git-svn-id: http://skia.googlecode.com/svn/trunk@749 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
* [PDF] Add replacement implementations for functions missing in older ↵Gravatar vandebo@chromium.org2011-01-28
| | | | | | | | freetype libs. Review URL: http://codereview.appspot.com/4043044 git-svn-id: http://skia.googlecode.com/svn/trunk@743 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix slow performance on desktops by uping our max-texture-dim from 512 toGravatar reed@google.com2011-01-28
| | | | | | | | whatever the gpu itself broadcasts. git-svn-id: http://skia.googlecode.com/svn/trunk@742 2bbb7eff-a529-9590-31e7-b0007b416f81
* conditionalize impl on SK_SUPPORT_PDF, to help chrome buildGravatar reed@google.com2011-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@740 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
* remove debugging code around gUseExtGravatar reed@google.com2011-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@735 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
* make xfermode warning printf be debug-onlyGravatar reed@google.com2011-01-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@720 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rev the GrContext interface. Context has draw* functions that take a new ↵Gravatar bsalomon@google.com2011-01-21
| | | | | | | | | | | 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
* fix fEntryCount when we purge a cache entry (bug caught by our validate())Gravatar reed@google.com2011-01-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@712 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove notion of default rendertarget. This doesn't map well to usage ↵Gravatar bsalomon@google.com2011-01-18
| | | | | | 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