| /* |
| * Copyright (C) 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.view; |
| |
| import android.graphics.Point; |
| import android.graphics.Rect; |
| import android.view.Surface; |
| |
| import android.view.IScrollCaptureClient; |
| |
| /** |
| * Interface to a controller passed to the {@link IScrollCaptureClient} which provides the client an |
| * asynchronous callback channel for responses. |
| * |
| * {@hide} |
| */ |
| interface IScrollCaptureController { |
| /** |
| * Scroll capture is available, and a client connect has been returned. |
| * |
| * @param client interface to a ScrollCaptureCallback in the window process |
| * @param scrollAreaInWindow the location of scrolling in global (window) coordinate space |
| */ |
| oneway void onClientConnected(in IScrollCaptureClient client, in Rect scrollBounds, |
| in Point positionInWindow); |
| |
| /** |
| * Nothing in the window can be scrolled, scroll capture not offered. |
| */ |
| oneway void onClientUnavailable(); |
| |
| /** |
| * Notifies the system that the client has confirmed the request and is ready to begin providing |
| * image requests. |
| */ |
| oneway void onCaptureStarted(); |
| |
| /** |
| * Received a response from a capture request. |
| */ |
| oneway void onCaptureBufferSent(long frameNumber, in Rect capturedArea); |
| |
| /** |
| * Signals that the capture session has completed and the target window may be returned to |
| * normal interactive use. This may be due to normal shutdown, or after a timeout or other |
| * unrecoverable state change such as activity lifecycle, window visibility or focus. |
| */ |
| oneway void onConnectionClosed(); |
| } |