ColorGradient.generated.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Image
  7. * @{
  8. */
  9. /// <summary>
  10. /// Represents a range of color values over some parameters, similar to a curve. Internally represented as a set of keys
  11. /// that get interpolated between.
  12. /// </summary>
  13. public partial class ColorGradient : ScriptObject
  14. {
  15. private ColorGradient(bool __dummy0) { }
  16. public ColorGradient()
  17. {
  18. Internal_ColorGradient(this);
  19. }
  20. public ColorGradient(Color color)
  21. {
  22. Internal_ColorGradient0(this, ref color);
  23. }
  24. public ColorGradient(ColorGradientKey[] keys)
  25. {
  26. Internal_ColorGradient1(this, keys);
  27. }
  28. /// <summary>
  29. /// Keys that control the gradient, sorted by time from first to last. Key times should be in range [0, 1].
  30. /// </summary>
  31. public void SetKeys(ColorGradientKey[] keys, float duration = 1f)
  32. {
  33. Internal_setKeys(mCachedPtr, keys, duration);
  34. }
  35. /// <summary>
  36. /// Keys that control the gradient, sorted by time from first to last. Key times should be in range [0, 1].
  37. /// </summary>
  38. public ColorGradientKey[] GetKeys()
  39. {
  40. return Internal_getKeys(mCachedPtr);
  41. }
  42. /// <summary>Specify a "gradient" that represents a single color value.</summary>
  43. public void SetConstant(Color color)
  44. {
  45. Internal_setConstant(mCachedPtr, ref color);
  46. }
  47. /// <summary>Evaluates a color at the specified <paramref name="t"/>.</summary>
  48. public Color Evaluate(float t)
  49. {
  50. Color temp;
  51. Internal_evaluate(mCachedPtr, t, out temp);
  52. return temp;
  53. }
  54. [MethodImpl(MethodImplOptions.InternalCall)]
  55. private static extern void Internal_ColorGradient(ColorGradient managedInstance);
  56. [MethodImpl(MethodImplOptions.InternalCall)]
  57. private static extern void Internal_ColorGradient0(ColorGradient managedInstance, ref Color color);
  58. [MethodImpl(MethodImplOptions.InternalCall)]
  59. private static extern void Internal_ColorGradient1(ColorGradient managedInstance, ColorGradientKey[] keys);
  60. [MethodImpl(MethodImplOptions.InternalCall)]
  61. private static extern void Internal_setKeys(IntPtr thisPtr, ColorGradientKey[] keys, float duration);
  62. [MethodImpl(MethodImplOptions.InternalCall)]
  63. private static extern ColorGradientKey[] Internal_getKeys(IntPtr thisPtr);
  64. [MethodImpl(MethodImplOptions.InternalCall)]
  65. private static extern void Internal_setConstant(IntPtr thisPtr, ref Color color);
  66. [MethodImpl(MethodImplOptions.InternalCall)]
  67. private static extern void Internal_evaluate(IntPtr thisPtr, float t, out Color __output);
  68. }
  69. /** @} */
  70. }