# IDragAware interface

Namespace: [Grasshopper2.Parameters](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.parameters.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public interface IDragAware
```

Implement this interface in your Parameter type if you wish to participate in viewport dragging.

**Derived types:** [ArcParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.arcparameter.md), [CircleParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.circleparameter.md), [LineParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.lineparameter.md), [Point2Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.point2parameter.md), [Point3Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.point3parameter.md), [PolylineParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.polylineparameter.md), [RectangleParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.rectangleparameter.md), [TextDotParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.textdotparameter.md), [TriangleParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.triangleparameter.md)

## Methods

- [DragShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.idragaware/dragshape.md): Drag part of a shape. Mote that this method is never called when the [DragRay.PickMode](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.dragray/pickmode.md) equals [DragPickingMode.OneObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.dragpickingmode.md) or [DragPickingMode.AllObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.dragpickingmode.md), as those cases are handled by invoking the appropriate type assistant [ITypeAssistant.Transform(object, Transform)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.assistant.itypeassistant/transform.md) method. If your geometry cannot be translated via regular means, you should not allow it to be part of a dragging process. Do not expire the object upon making any modifications, that is the responsibility of the caller.
- [HitShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.idragaware/hitshape.md): Test whether a ray hits one of the modifiable values in this parameter.
