Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#inhmethods)

# PixelCopy.Request.Builder

*** ** * ** ***

` public static final class PixelCopy.Request.Builder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.view.PixelCopy.Request.Builder |

<br />

*** ** * ** ***

A builder to create the complete PixelCopy request, which is then executed by calling `https://developer.android.com/reference/android/view/PixelCopy#request(android.view.PixelCopy.Request,%20java.util.concurrent.Executor,%20java.util.function.Consumer<android.view.PixelCopy.Result>)` with the built request returned from `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#build()`

## Summary

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/view/PixelCopy.Request` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#build()() ` |
| ` static https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#ofSurface(android.view.SurfaceView)(https://developer.android.com/reference/android/view/SurfaceView source) ` Creates a PixelCopy Builder for the `https://developer.android.com/reference/android/view/Surface` belonging to the given `https://developer.android.com/reference/android/view/SurfaceView` |
| ` static https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#ofSurface(android.view.Surface)(https://developer.android.com/reference/android/view/Surface source) ` Creates a PixelCopy Builder for the given `https://developer.android.com/reference/android/view/Surface` |
| ` static https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#ofWindow(android.view.Window)(https://developer.android.com/reference/android/view/Window source) ` Creates a PixelCopy Builder for the given `https://developer.android.com/reference/android/view/Window` |
| ` static https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#ofWindow(android.view.View)(https://developer.android.com/reference/android/view/View source) ` Creates a PixelCopy Builder for the `https://developer.android.com/reference/android/view/Window` that the given `https://developer.android.com/reference/android/view/View` is attached to. |
| ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#setDestinationBitmap(android.graphics.Bitmap)(https://developer.android.com/reference/android/graphics/Bitmap destination) ` Specifies the output bitmap in which to store the result. |
| ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | ` https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#setSourceRect(android.graphics.Rect)(https://developer.android.com/reference/android/graphics/Rect srcRect) ` Sets the region of the source to copy from. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public methods

### build

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PixelCopy.Request build ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request` | The built `https://developer.android.com/reference/android/view/PixelCopy.Request` This value cannot be `null`. <br /> |

### ofSurface

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static PixelCopy.Request.Builder ofSurface (SurfaceView source)
```

Creates a PixelCopy Builder for the `https://developer.android.com/reference/android/view/Surface` belonging to the given `https://developer.android.com/reference/android/view/SurfaceView`

<br />

| Parameters ||
|---|---|
| `source` | `SurfaceView`: The SurfaceView to copy from. The backing surface must be `https://developer.android.com/reference/android/view/Surface#isValid()` This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | A `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` builder to set the optional params \& build the request. This value cannot be `null`. <br /> |

### ofSurface

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static PixelCopy.Request.Builder ofSurface (Surface source)
```

Creates a PixelCopy Builder for the given `https://developer.android.com/reference/android/view/Surface`

<br />

| Parameters ||
|---|---|
| `source` | `Surface`: The Surface to copy from. Must be `https://developer.android.com/reference/android/view/Surface#isValid()`. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | A `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` builder to set the optional params \& build the request. This value cannot be `null`. <br /> |

### ofWindow

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static PixelCopy.Request.Builder ofWindow (Window source)
```

Creates a PixelCopy Builder for the given `https://developer.android.com/reference/android/view/Window`

<br />

| Parameters ||
|---|---|
| `source` | `Window`: The Window to copy from. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | A `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` builder to set the optional params \& build the request. This value cannot be `null`. <br /> |

### ofWindow

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static PixelCopy.Request.Builder ofWindow (View source)
```

Creates a PixelCopy Builder for the `https://developer.android.com/reference/android/view/Window` that the given `https://developer.android.com/reference/android/view/View` is attached to. Note that this copy request is not cropped to the area the View occupies by default. If that behavior is desired, use `https://developer.android.com/reference/android/view/View#getLocationInWindow(int[])` combined with `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#setSourceRect(android.graphics.Rect)` to set a crop area to restrict the copy operation.

<br />

| Parameters ||
|---|---|
| `source` | `View`: A View that `https://developer.android.com/reference/android/view/View#isAttachedToWindow()` to a window that will be used to retrieve the window to copy from. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | A `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` builder to set the optional params \& build the request. This value cannot be `null`. <br /> |

### setDestinationBitmap

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PixelCopy.Request.Builder setDestinationBitmap (Bitmap destination)
```

Specifies the output bitmap in which to store the result. By default, a Bitmap of format `https://developer.android.com/reference/android/graphics/Bitmap.Config#ARGB_8888` with a width \& height matching that of the `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder#setSourceRect(android.graphics.Rect)` will be created to place the result.

<br />

| Parameters ||
|---|---|
| `destination` | `Bitmap`: The bitmap to store the result, or null to have a bitmap automatically created of the appropriate size. If not null, must not be `https://developer.android.com/reference/android/graphics/Bitmap#isRecycled()` and must be `https://developer.android.com/reference/android/graphics/Bitmap#isMutable()`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | this. This value cannot be `null`. <br /> |

### setSourceRect

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public PixelCopy.Request.Builder setSourceRect (Rect srcRect)
```

Sets the region of the source to copy from. By default, the entire source is copied to the output. If only a subset of the source is necessary to be copied, specifying a srcRect will improve performance by reducing the amount of data being copied.

<br />

| Parameters ||
|---|---|
| `srcRect` | `Rect`: The area of the source to read from. Null or empty will be treated to mean the entire source. This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/PixelCopy.Request.Builder` | this. This value cannot be `null`. <br /> |