MacroDefinition.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. namespace Veldrid.SPIRV
  2. {
  3. /// <summary>
  4. /// Represents a single preprocessor macro used when compiling shader source code.
  5. /// </summary>
  6. public class MacroDefinition
  7. {
  8. /// <summary>
  9. /// The name of the macro.
  10. /// </summary>
  11. public string Name { get; set; }
  12. /// <summary>
  13. /// The macro's replacement value. May be null.
  14. /// </summary>
  15. public string Value { get; set; }
  16. /// <summary>
  17. /// Constructs a new <see cref="MacroDefinition"/> with no value.
  18. /// </summary>
  19. /// <param name="name">The name of the macro.</param>
  20. public MacroDefinition(string name)
  21. {
  22. Name = name;
  23. }
  24. /// <summary>
  25. /// Constructs a new <see cref="MacroDefinition"/> with a value.
  26. /// </summary>
  27. /// <param name="name">The name of the macro.</param>
  28. /// <param name="value">The macro's replacement value. May be null.</param>
  29. public MacroDefinition(string name, string value)
  30. {
  31. Name = name;
  32. Value = value;
  33. }
  34. // For serialization
  35. internal MacroDefinition()
  36. { }
  37. }
  38. }