# 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/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/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:
