# INestedScroller interface

Namespace: [Grasshopper2.UI.Canvas](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.ui.canvas.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public interface INestedScroller
```

Implement this interface on your [IAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.iattributes.md) class to participate in standard canvas object scrolling.

**Derived types:** [DataPanelAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.datapanelattributes.md), [TextInputAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.textinputattributes.md), [TreeViewerAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.treeviewerattributes.md)

## Properties

- [ScrollContent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.inestedscroller/scrollcontent.md): Gets the boundary of the content.
- [ScrollFrame](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.inestedscroller/scrollframe.md): Gets the boundary of the viewport. When in doubt, return the [IAttributes.Bounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.iattributes/bounds.md) of the object.
- [ScrollOffsetX](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.inestedscroller/scrolloffsetx.md): Gets or sets the horizontal scroll offset. Return [float.NaN](https://learn.microsoft.com/dotnet/api/system.single.nan) if horizontal scrolling is to be disabled.
- [ScrollOffsetY](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.inestedscroller/scrolloffsety.md): Gets or sets the vertical scroll offset. Return [float.NaN](https://learn.microsoft.com/dotnet/api/system.single.nan) if vertical scrolling is to be disabled.
