# Copyright 2016 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Things are easiest for everyone if these source paths are absolute.
_samplecode = get_path_info("../samplecode", "abspath")

samples_sources = [
  "$_samplecode/Sample.cpp",
  "$_samplecode/Sample.h",
  "$_samplecode/Sample2PtRadial.cpp",
  "$_samplecode/Sample3D.cpp",
  "$_samplecode/SampleAARectModes.cpp",
  "$_samplecode/SampleAARects.cpp",
  "$_samplecode/SampleAndroidShadows.cpp",
  "$_samplecode/SampleAnimBlur.cpp",
  "$_samplecode/SampleAnimatedImage.cpp",
  "$_samplecode/SampleAnimatedText.cpp",
  "$_samplecode/SampleArc.cpp",
  "$_samplecode/SampleAtlas.cpp",
  "$_samplecode/SampleAudio.cpp",
  "$_samplecode/SampleCamera.cpp",
  "$_samplecode/SampleChart.cpp",
  "$_samplecode/SampleChineseFling.cpp",
  "$_samplecode/SampleCircle.cpp",
  "$_samplecode/SampleClip.cpp",
  "$_samplecode/SampleClock.cpp",
  "$_samplecode/SampleComplexClip.cpp",
  "$_samplecode/SampleCowboy.cpp",
  "$_samplecode/SampleCusp.cpp",
  "$_samplecode/SampleDegenerateTwoPtRadials.cpp",
  "$_samplecode/SampleEffects.cpp",
  "$_samplecode/SampleEmboss.cpp",
  "$_samplecode/SampleFatBits.cpp",
  "$_samplecode/SampleFillType.cpp",
  "$_samplecode/SampleFilterBounds.cpp",
  "$_samplecode/SampleFitCubicToCircle.cpp",
  "$_samplecode/SampleFlutterAnimate.cpp",
  "$_samplecode/SampleGlyphTransform.cpp",
  "$_samplecode/SampleGradients.cpp",
  "$_samplecode/SampleHairCurves.cpp",
  "$_samplecode/SampleHairModes.cpp",
  "$_samplecode/SampleImageFilterDAG.cpp",
  "$_samplecode/SampleLCD.cpp",
  "$_samplecode/SampleLayers.cpp",
  "$_samplecode/SampleManyRects.cpp",
  "$_samplecode/SampleMaterialShadows.cpp",
  "$_samplecode/SampleMegaStroke.cpp",
  "$_samplecode/SampleMixer.cpp",
  "$_samplecode/SamplePatch.cpp",
  "$_samplecode/SamplePath.cpp",
  "$_samplecode/SamplePathClip.cpp",
  "$_samplecode/SamplePathEffects.cpp",
  "$_samplecode/SamplePathOverstroke.cpp",
  "$_samplecode/SamplePathText.cpp",
  "$_samplecode/SamplePolyToPoly.cpp",
  "$_samplecode/SampleQuadStroker.cpp",
  "$_samplecode/SampleRectanizer.cpp",
  "$_samplecode/SampleRepeatTile.cpp",
  "$_samplecode/SampleSG.cpp",
  "$_samplecode/SampleSVGFile.cpp",
  "$_samplecode/SampleShadowColor.cpp",
  "$_samplecode/SampleShadowReference.cpp",
  "$_samplecode/SampleShadowUtils.cpp",
  "$_samplecode/SampleShip.cpp",
  "$_samplecode/SampleSimpleStroker.cpp",
  "$_samplecode/SampleSlides.cpp",
  "$_samplecode/SampleStringArt.cpp",
  "$_samplecode/SampleStrokePath.cpp",
  "$_samplecode/SampleStrokeRect.cpp",
  "$_samplecode/SampleStrokeVerb.cpp",
  "$_samplecode/SampleTextBox.cpp",
  "$_samplecode/SampleTextureUpload.cpp",
  "$_samplecode/SampleThinAA.cpp",
  "$_samplecode/SampleTiming.cpp",
  "$_samplecode/SampleVariableWidthStroker.cpp",
  "$_samplecode/SampleVertices.cpp",
  "$_samplecode/SampleWritePixels.cpp",
  "$_samplecode/SampleXfer.cpp",
  "$_samplecode/SampleXfermodesBlur.cpp",
  "$_samplecode/vertexdump.cpp",
]

skgpu_v1_samples_sources = [
  "$_samplecode/SampleDegenerateQuads.cpp",
  "$_samplecode/SamplePathTessellators.cpp",
]

samples_sources += skgpu_v1_samples_sources
