using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BansheeEngine;
namespace BansheeEditor
{
/** @addtogroup GUIEditor
* @{
*/
///
/// A composite GUI object representing an editor field. Editor fields are a combination of a label and an input field.
/// Label is optional. This specific implementation displays an input field for a 2D vector distribution.
///
[ShowInInspector]
public partial class GUIVector2DistributionField : GUIElement
{
private GUIVector2DistributionField(bool __dummy0) { }
protected GUIVector2DistributionField() { }
/// Creates a new GUI editor field with a label.
/// Content to display in the editor field label.
/// Width of the label in pixels.
///
/// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on.
/// If not specified default style is used.
///
public GUIVector2DistributionField(GUIContent labelContent, uint labelWidth, string style = "")
{
Internal_create(this, ref labelContent, labelWidth, style);
}
/// Creates a new GUI editor field with a label.
/// Content to display in the editor field label.
///
/// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on.
/// If not specified default style is used.
///
public GUIVector2DistributionField(GUIContent labelContent, string style = "")
{
Internal_create0(this, ref labelContent, style);
}
/// Creates a new GUI editor field with a label.
/// String to display in the editor field label.
/// Width of the label in pixels.
///
/// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on.
/// If not specified default style is used.
///
public GUIVector2DistributionField(LocString labelText, uint labelWidth, string style = "")
{
Internal_create1(this, labelText, labelWidth, style);
}
/// Creates a new GUI editor field with a label.
/// String to display in the editor field label.
///
/// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on.
/// If not specified default style is used.
///
public GUIVector2DistributionField(LocString labelText, string style = "")
{
Internal_create2(this, labelText, style);
}
/// Creates a new GUI editor field without a label.
///
/// Optional style to use for the element. Style will be retrieved from GUISkin of the GUIWidget the element is used on.
/// If not specified default style is used.
///
public GUIVector2DistributionField(string style = "")
{
Internal_create3(this, style);
}
/// Changes the value of the field.
[ShowInInspector]
[NativeWrapper]
public Vector2Distribution Value
{
get { return Internal_getValue(mCachedPtr); }
set { Internal_setValue(mCachedPtr, value); }
}
/// Returns the type of the currently selected distribution.
[ShowInInspector]
[NativeWrapper]
public PropertyDistributionType DistributionType
{
get { return Internal_getType(mCachedPtr); }
}
///
/// Checks if any of the float input fields currently have input focus. Only relevant for non-curve distributions.
///
[ShowInInspector]
[NativeWrapper]
public bool HasInputFocus
{
get { return Internal_hasInputFocus(mCachedPtr); }
}
///
/// Triggered when the user clicks on the curve display. Only relevant if the distribution is a curve distribution.
/// Provides the sequential index of the clicked curve (0 - x, 1 - y, 2 - z).
///
partial void OnClicked(int p0);
///
/// Triggered when the user modifies either of the non-curve (constant) values of the distribution. Only relevant if the
/// distribution is not a curve distribution.
///
partial void OnConstantModified();
///
/// Triggered when the user confirms inputs in either of the non-curve (constant) values of the distribution. Only
/// relevant if the distribution is not a curve distribution.
///
partial void OnConstantConfirmed();
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern Vector2Distribution Internal_getValue(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setValue(IntPtr thisPtr, Vector2Distribution value);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern PropertyDistributionType Internal_getType(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool Internal_hasInputFocus(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create(GUIVector2DistributionField managedInstance, ref GUIContent labelContent, uint labelWidth, string style);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create0(GUIVector2DistributionField managedInstance, ref GUIContent labelContent, string style);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create1(GUIVector2DistributionField managedInstance, LocString labelText, uint labelWidth, string style);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create2(GUIVector2DistributionField managedInstance, LocString labelText, string style);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create3(GUIVector2DistributionField managedInstance, string style);
private void Internal_onClicked(int p0)
{
OnClicked(p0);
}
private void Internal_onConstantModified()
{
OnConstantModified();
}
private void Internal_onConstantConfirmed()
{
OnConstantConfirmed();
}
}
/** @} */
}