Go to file
reed@google.com 82065d667f remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with
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
2011-02-07 15:30:46 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench add black, opaque, blend variants for text blits, to exercise different 2011-01-17 19:45:43 +00:00
experimental convert matrix <--> matrix44 2010-03-01 14:54:05 +00:00
forth more unittests (already found/fixed some bugs) 2009-09-02 02:07:32 +00:00
gm [PDF] Improve PDF support in gm. 2011-02-03 23:00:40 +00:00
gpu When we create the GL context and FBO on mac for the GM test also setup the viewport and clear the stencil. 2011-02-07 14:51:55 +00:00
include remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with 2011-02-07 15:30:46 +00:00
samplecode remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with 2011-02-07 15:30:46 +00:00
src remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with 2011-02-07 15:30:46 +00:00
tests remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with 2011-02-07 15:30:46 +00:00
third_party/harfbuzz add 2010-04-08 18:48:12 +00:00
tools add png to makefile for linux 2010-04-15 14:28:24 +00:00
vs Adds ability to draw rects using a unit square vertex buffer. Useful when matrix/uniform changes are less expensive than sending new verts. 2011-02-01 19:12:40 +00:00
xcode fix mac build (don't need typedef struct foo foo) 2011-01-26 04:37:53 +00:00
configure.ac Initial automake and autoconf files to build core into libskia.a. 2009-01-06 17:03:16 +00:00
Makefile fixes for some warnings: 2011-01-25 19:05:12 +00:00
Makefile.am Initial automake and autoconf files to build core into libskia.a. 2009-01-06 17:03:16 +00:00
README Add a basic README file. 2009-01-13 22:01:54 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

- 3x3 matrices w/ perspective
- antialiasing, transparency, filters
- shaders, xfermodes, maskfilters, patheffects