# HasFrameBounds()

> Validates whether custom bounds can be calculated for this Editor.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.5/script-reference/unityeditor.md)

```csharp
public void HasFrameBounds()
```

### Remarks

Use this to validate if [Editor.OnGetFrameBounds()](/engine/6000.5/script-reference/unityeditor/editor/ongetframebounds.md) should be called for this window. The Scene view calls \`HasFrameBounds\` and \`OnGetFrameBounds\` when the Frame action is invoked. The Frame action can be called from anywhere, but it is commonly called when you press the F key to frame the selected GameObject.

### Examples

```csharp

using UnityEngine;
using UnityEditor;

// This example traverses all bones in the hierarchy and calculates bounds for the entire object
public class GameObjectEditorWindow: Editor
{
    private bool HasFrameBounds()
    {
        // the result of this function depends on implementation
        // it will most likely be used to evaluate whether bounds
        // can exist for the targets of this Editor Window
        return Selection.objects.Length > 0;
    }

    public Bounds OnGetFrameBounds()
    {
        Transform bone = Selection.activeTransform;
        Bounds bounds = new Bounds(bone.position, new Vector3(0, 0, 0));
        foreach (Transform child in bone)
            bounds.Encapsulate(child.position);

        if (bone.parent) bounds.Encapsulate(bone.parent.position);

        return bounds;
    }
}
```
