# include this gypi to include all the golden master slides.
{
  'sources': [
    '../gm/aaclip.cpp',
    '../gm/aarectmodes.cpp',
    '../gm/arithmode.cpp',
    '../gm/bigmatrix.cpp',
    '../gm/bitmapcopy.cpp',
    '../gm/bitmapfilters.cpp',
    '../gm/bitmapscroll.cpp',
    '../gm/blurs.cpp',
    '../gm/circles.cpp',
    '../gm/colormatrix.cpp',
    '../gm/complexclip.cpp',
    '../gm/complexclip2.cpp',
    '../gm/convexpaths.cpp',
    '../gm/cubicpaths.cpp',
    '../gm/cmykjpeg.cpp',
    '../gm/degeneratesegments.cpp',
    '../gm/dashing.cpp',
    '../gm/drawbitmaprect.cpp',
    '../gm/emptypath.cpp',
    '../gm/filltypes.cpp',
    '../gm/filltypespersp.cpp',
    '../gm/fontscaler.cpp',
    '../gm/gammatext.cpp',
    '../gm/giantbitmap.cpp',
    '../gm/gradients.cpp',
    '../gm/gradtext.cpp',
    '../gm/hairmodes.cpp',
    '../gm/imageblur.cpp',
    '../gm/imagefiltersbase.cpp',
    '../gm/lcdtext.cpp',
    '../gm/linepaths.cpp',
    '../gm/morphology.cpp',
    '../gm/ninepatchstretch.cpp',
    '../gm/nocolorbleed.cpp',
    '../gm/patheffects.cpp',
    '../gm/pathfill.cpp',
    '../gm/pathreverse.cpp',
    '../gm/points.cpp',
    '../gm/poly2poly.cpp',
    '../gm/quadpaths.cpp',
    '../gm/samplerstress.cpp',
    '../gm/shaderbounds.cpp',
    '../gm/shadertext.cpp',
    '../gm/shadows.cpp',
    '../gm/shapes.cpp',
    '../gm/strokefill.cpp',
    '../gm/strokerects.cpp',
    '../gm/strokes.cpp',
    '../gm/tablecolorfilter.cpp',
    '../gm/testimagefilters.cpp',
    '../gm/texdata.cpp',
    '../gm/tilemodes.cpp',
    '../gm/tinybitmap.cpp',
    '../gm/verttext.cpp',
    '../gm/verttext2.cpp',
    '../gm/xfermodes.cpp',
  ],
}

# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2:
