You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
3.0 KiB

/*
* Copyright (C) 2019 The Hisilicon Technologies Co., Ltd.
*
* 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 vendor.huanglong.hardware.hwgraphics@1.2;
import @1.0::CaptureType;
import @1.0::HwRect;
import @1.1::IGraphics;
import @1.0::IGraphicsCallback;
interface IGraphics extends @1.1::IGraphics {
/**
* captureScreen with speical rect
*/
CaptureScreenByVDP_1_2(CaptureType type, handle rawHandle, HwRect rect) generates (uint32_t ret);
/**
* create cast handle
*
* @param display display id
* @param format output video format of cast handle
* @param width output video width of cast handle
* @param height output video height of cast handle
* @return castHandle success: >=0 handle of created handle, error: < 0
*/
InitCast(uint64_t display, uint32_t format, uint32_t width, uint32_t height) generates(int32_t castHandle);
/**
* fetch frame from cast handle and fill it into buffer handle
*
* @param castHandle handle of created cast
* @param rawHandle handle of graphic buffer, which will be queued to media server later
* @param fence assoaciated with graphic buffer
* @return ret 0 success, other error
* @return acquireFence reserved for hardware sync for cast frame
*/
CastFrame(int32_t castHandle, handle rawHandle, handle fence) generates(int32_t ret, handle acquireFence);
/**
* set black cast frame
*
* @param isBlack is need set black
*/
SetBlackCastFrame(bool isBlack);
/**
* close cast handle
*
* @param castHandle handle of created cast
* @return 0 successful, other error
*/
CloseCast(int32_t castHandle) generates(int32_t ret);
/**
* set overlay z order
*
* @param int32_t the sequenece of related layer
* @param uint32_t the z order of related layer
* @return void
*/
SetOverlayZOrder(int32_t sequence, uint32_t zOrder) generates(int32_t ret);
/**
* query the window handle.
*
* @return window handle.
*/
GetWindowHandle() generates(uint32_t windowHandle);
/**
* surfaceFlinger death recipient function.
*
* @return status result of surfaceFlinger death recipient function.
*/
SfDeathRecipient(IGraphicsCallback callback) generates (uint32_t ret);
/**
* set overlay dataSpace
*
* @param int32_t the sequenece of related layer
* @param int32_t the dataSpace of related layer
* @return void
*/
SetOverlayDataSpace(int32_t sequence, int32_t dataSpace);
};