From f18b8482c13939f8932f66e53cd9667e9db38774 Mon Sep 17 00:00:00 2001 From: youqijing Date: Mon, 17 Jan 2022 22:31:11 +0800 Subject: [PATCH] Add screenshot JS interface Signed-off-by: youqijing Change-Id: I2b41ebfa7d9c9f89e1a870bcb698b095a1f15d84 --- api/@ohos.screenshot.d.ts | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 api/@ohos.screenshot.d.ts diff --git a/api/@ohos.screenshot.d.ts b/api/@ohos.screenshot.d.ts new file mode 100644 index 0000000000..94f912c243 --- /dev/null +++ b/api/@ohos.screenshot.d.ts @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2022 Huawei Device 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. + */ + +import { AsyncCallback, ErrorCallback } from './basic'; +import image from './@ohos.multimedia.image'; + +/** + * interface for screenshot + * @devices tv, phone, tablet, wearable, car + * @systemapi Hide this for inner system use. + * @since 7 + */ +declare namespace screenshot { + /** + * Takes a screenshot and saves it as a PixelMap object + * @param options Screenshot options, which consist of screenRect, imageSize, and rotation. You need to set these parameters + * @devices tv, phone, tablet, wearable, car + * @permission ohos.permission.CAPTURE_SCREEN + * @since 7 + */ + function save(options?: ScreenshotOptions): Promise; + + /** + * Describes the region of the screen to capture + * @devices tv, phone, tablet, wearable, car + * @since 7 + */ + interface Rect { + left: number; + top: number; + width: number; + height: number; + } + + /** + * Describes the size of the screen region to capture + * @devices tv, phone, tablet, wearable, car + * @since 7 + */ + interface Size { + width: number; + height: number; + } + + /** + * Describes screenshot options + * @devices tv, phone, tablet, wearable, car + * @since 7 + */ + interface ScreenshotOptions { + /** + * Region of the screen to capture. If this parameter is null, the full screen will be captured + */ + screenRect?: Rect; + /** + * Region of the screen to capture. If this parameter is null, the full screen will be captured + */ + imageSize?: Size; + /** + * Rotation angle of the screenshot. The value can be 0, 90, 180, or 270. The default value is 0 + */ + rotation?: number; + /** + * The specify screen to be captured. + * @since 8 + */ + displayId?: number; + } +} + +export default screenshot; -- Gitee