1b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar/* 2b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * Copyright 2015 The Android Open Source Project 3b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * 4b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * Licensed under the Apache License, Version 2.0 (the "License"); 5b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * you may not use this file except in compliance with the License. 6b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * You may obtain a copy of the License at 7b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * 8b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * http://www.apache.org/licenses/LICENSE-2.0 9b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * 10b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * Unless required by applicable law or agreed to in writing, software 11b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * distributed under the License is distributed on an "AS IS" BASIS, 12b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * See the License for the specific language governing permissions and 14b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar * limitations under the License. 15b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar */ 16b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 17b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar#ifndef SURFACE_UTILS_H_ 18b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 19b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar#define SURFACE_UTILS_H_ 20b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 21b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar#include <utils/Errors.h> 22b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 23b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnarstruct ANativeWindow; 24b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 25b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnarnamespace android { 26b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 27098446ae4100dfd989c452bb67133559aa892cd3Lajos Molnar/** 28098446ae4100dfd989c452bb67133559aa892cd3Lajos Molnar * Configures |nativeWindow| for given |width|x|height|, pixel |format|, |rotation| and |usage|. 29098446ae4100dfd989c452bb67133559aa892cd3Lajos Molnar * If |reconnect| is true, reconnects to the native window before hand. 30098446ae4100dfd989c452bb67133559aa892cd3Lajos Molnar * @return first error encountered, or NO_ERROR on success. 31098446ae4100dfd989c452bb67133559aa892cd3Lajos Molnar */ 32b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnarstatus_t setNativeWindowSizeFormatAndUsage( 33b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar ANativeWindow *nativeWindow /* nonnull */, 34098446ae4100dfd989c452bb67133559aa892cd3Lajos Molnar int width, int height, int format, int rotation, int usage, bool reconnect); 35b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnarstatus_t pushBlankBuffersToNativeWindow(ANativeWindow *nativeWindow /* nonnull */); 36b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 37b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar} // namespace android 38b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar 39b2d0b487efd40700199852c9a18b369b1651f15bLajos Molnar#endif // SURFACE_UTILS_H_ 40