/*
* @author Valentin Simonov / http://va.lent.in/
*/
using TouchScript.Hit;
using TouchScript.InputSources;
using UnityEngine;
namespace TouchScript.Pointers
{
///
/// Interface for an abstract pointer.
///
public interface IPointer
{
///
/// Internal unique pointer id.
///
int Id { get; }
///
/// Pointer type. See .
///
Pointer.PointerType Type { get; }
///
/// Current buttons state of the pointer.
///
Pointer.PointerButtonState Buttons { get; }
///
/// Original input source which created this pointer.
///
///
IInputSource InputSource { get; }
///
/// Current position in screen coordinates.
///
Vector2 Position { get; set; }
///
/// Previous position in screen coordinates.
///
Vector2 PreviousPosition { get; }
///
/// Gets or sets pointer flags:
/// Note: setting this property doesn't immediately change its value, the value actually changes during the next TouchManager update phase.
///
uint Flags { get; }
///
/// Returns for current pointer position, i.e. what is right beneath it. Caches the result for the entire frame.
///
/// if set to true forces to recalculate the value.
HitData GetOverData(bool forceRecalculate = false);
}
}