ColorGradient.generated.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. [ShowInInspector]
  14. public partial class ColorGradient : ScriptObject
  15. {
  16. private ColorGradient(bool __dummy0) { }
  17. public ColorGradient()
  18. {
  19. Internal_ColorGradient(this);
  20. }
  21. public ColorGradient(Color color)
  22. {
  23. Internal_ColorGradient0(this, ref color);
  24. }
  25. public ColorGradient(ColorGradientKey[] keys)
  26. {
  27. Internal_ColorGradient1(this, keys);
  28. }
  29. /// <summary>Returns the number of color keys in the gradient.</summary>
  30. [ShowInInspector]
  31. public uint NumKeys
  32. {
  33. get { return Internal_getNumKeys(mCachedPtr); }
  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 void SetKeys(ColorGradientKey[] keys, float duration = 1f)
  39. {
  40. Internal_setKeys(mCachedPtr, keys, duration);
  41. }
  42. /// <summary>
  43. /// Keys that control the gradient, sorted by time from first to last. Key times should be in range [0, 1].
  44. /// </summary>
  45. public ColorGradientKey[] GetKeys()
  46. {
  47. return Internal_getKeys(mCachedPtr);
  48. }
  49. /// <summary>Returns the color key at the specified index. If out of range an empty key is returned.</summary>
  50. public ColorGradientKey GetKey(uint idx)
  51. {
  52. ColorGradientKey temp;
  53. Internal_getKey(mCachedPtr, idx, out temp);
  54. return temp;
  55. }
  56. /// <summary>Specify a "gradient" that represents a single color value.</summary>
  57. public void SetConstant(Color color)
  58. {
  59. Internal_setConstant(mCachedPtr, ref color);
  60. }
  61. /// <summary>Evaluates a color at the specified <paramref name="t"/>.</summary>
  62. public Color Evaluate(float t)
  63. {
  64. Color temp;
  65. Internal_evaluate(mCachedPtr, t, out temp);
  66. return temp;
  67. }
  68. [MethodImpl(MethodImplOptions.InternalCall)]
  69. private static extern void Internal_ColorGradient(ColorGradient managedInstance);
  70. [MethodImpl(MethodImplOptions.InternalCall)]
  71. private static extern void Internal_ColorGradient0(ColorGradient managedInstance, ref Color color);
  72. [MethodImpl(MethodImplOptions.InternalCall)]
  73. private static extern void Internal_ColorGradient1(ColorGradient managedInstance, ColorGradientKey[] keys);
  74. [MethodImpl(MethodImplOptions.InternalCall)]
  75. private static extern void Internal_setKeys(IntPtr thisPtr, ColorGradientKey[] keys, float duration);
  76. [MethodImpl(MethodImplOptions.InternalCall)]
  77. private static extern ColorGradientKey[] Internal_getKeys(IntPtr thisPtr);
  78. [MethodImpl(MethodImplOptions.InternalCall)]
  79. private static extern uint Internal_getNumKeys(IntPtr thisPtr);
  80. [MethodImpl(MethodImplOptions.InternalCall)]
  81. private static extern void Internal_getKey(IntPtr thisPtr, uint idx, out ColorGradientKey __output);
  82. [MethodImpl(MethodImplOptions.InternalCall)]
  83. private static extern void Internal_setConstant(IntPtr thisPtr, ref Color color);
  84. [MethodImpl(MethodImplOptions.InternalCall)]
  85. private static extern void Internal_evaluate(IntPtr thisPtr, float t, out Color __output);
  86. }
  87. /** @} */
  88. }