• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15import { image } from "@kit.ImageKit";
16import { Callback } from "@kit.BasicServicesKit";
17
18interface cameraInfo {
19  cameraPosition: number,
20  cameraType: number,
21  connectionType: number,
22  cameraId: string
23}
24
25interface imageSize {
26  width: number,
27  height: number
28}
29
30interface imageClipRectSize {
31  x: number,
32  y: number,
33  width: number,
34  height: number
35}
36
37interface imageComponent {
38  byteBuffer: Uint8Array,
39  componentType: number,
40  rowStride: number,
41  pixelStride: number
42}
43
44export const initCamera: (a: number) => number;
45export const getSupportedCameras: () => cameraInfo;
46export const createCameraInput: () => number;
47export const createCameraInputWithPositionAndType: () => number;
48export const getSupportedOutputCapability: () => number;
49export const createPreviewOutput: () => number;
50export const createPhotoOutput: (a: number, b: number,c :number) => number;
51export const createVideoOutput: () => number;
52export const createMetadataOutput: () => number;
53export const createSession: () => number;
54export const isCameraMuted: () => number;
55export const cameraInputOpen: () => number;
56export const cameraInputClose: () => number;
57export const cameraInputRelease: () => number;
58export const previewOutputStart: () => number;
59export const previewOutputRelease: () => number;
60export const photoOutputCapture: () => number;
61export const photoOutputRelease: () => number;
62export const isMirrorSupported: () => number;
63export const videoOutputStart: () => number;
64export const videoOutputStop: () => number;
65export const videoOutputRelease: () => number;
66export const metadataOutputStart: () => number;
67export const metadataOutputStop: () => number;
68export const metadataOutputRelease: () => number;
69export const previewOutputStop: () => number;
70export const sessionAddInput: () => number;
71export const sessionRemoveInput: () => number;
72export const sessionAddPreviewOutput: () => number;
73export const sessionAddPhotoOutput: () => number;
74export const sessionAddVideoOutput: () => number;
75export const sessionAddMetadataOutput: () => number;
76export const sessionRemovePreviewOutput: () => number;
77export const sessionRemovePhotoOutput: () => number;
78export const sessionRemoveVideoOutput: () => number;
79export const sessionRemoveMetadataOutput: () => number;
80export const sessionStart: () => number;
81export const sessionStop: () => number;
82export const sessionBegin: () => number;
83export const sessionCommitConfig: () => number;
84export const sessionRelease: () => number;
85export const sessionHasFlash: () => number;
86export const sessionIsFlashModeSupported: () => number;
87export const sessionGetFlashMode: () => number;
88export const sessionSetFlashMode: () => number;
89export const sessionIsExposureModeSupported: () => number;
90export const sessionGetExposureMode: () => number;
91export const sessionSetExposureMode: () => number;
92export const sessionGetMeteringPoint: () => number;
93export const sessionSetMeteringPoint: () => number;
94export const sessionGetExposureBiasRange: () => number;
95export const sessionSetExposureBias: () => number;
96export const sessionGetExposureBias: () => number;
97export const sessionIsFocusModeSupported: () => number;
98export const sessionGetFocusMode: () => number;
99export const sessionSetFocusMode: () => number;
100export const sessionSetFocusPoint: () => number;
101export const sessionGetFocusPoint: () => number;
102export const sessionGetZoomRatioRange: () => number;
103export const sessionGetZoomRatio: () => number;
104export const sessionSetZoomRatio: () => number;
105export const sessionIsVideoStabilizationModeSupported: () => number;
106export const sessionGetVideoStabilizationMode: () => number;
107export const sessionSetVideoStabilizationMode: () => number;
108export const getCameraCallbackCode: () => number;
109export const takePictureWithSettings: () => number;
110export const createImageReceiver: (...params: ESObject[]) => image.ImageReceiver
111export const getReceivingSurfaceId: (a: image.ImageReceiver) => string
112export const readLatestImage: (a: image.ImageReceiver) => image.Image
113export const readNextImage: (a: image.ImageReceiver) => image.Image
114export const on: (a: image.ImageReceiver) => number
115export const getSize: (a: image.ImageReceiver) => imageSize
116export const getCapacity: (a: image.ImageReceiver) => number
117export const getFormat: (a: image.ImageReceiver) => number
118export const getOnEventCount: (a: image.ImageReceiver) => number
119export const imageClipRect: (a: image.Image) => imageClipRectSize
120export const imageSize: (a: image.Image) => imageSize
121export const imageFormat: (a: image.Image) => number
122export const imageGetComponent: (a: image.Image, b: image.ComponentType.JPEG) => imageComponent
123export const receiverRelease: (a: image.ImageReceiver) => number
124export const imageRelease: (a: image.Image) => number
125export const JsCreateImageReceiverOptions: (a: number, b: number, c:number) => number
126export const JsImageReceiverOptionsGetSize: (a: number) => imageSize
127export const JsImageReceiverOptionsSetSize: (a: number, b: number | string, c:number | string) => number
128export const JsImageReceiverOptionsGetCapacity: (a: number) => number
129export const JsImageReceiverOptionsSetCapacity: (a: number, b: number | boolean) => number
130export const JsReleaseImageReceiverOptions: (a: number) => number
131export const JsCreateImageReceiver: (a: number) => image.ImageReceiver
132export const JsGetReceivingSurfaceId: (a: image.ImageReceiver) => string;
133export const JsReadLatestImage: (a: image.ImageReceiver) => image.Image
134export const JsReadNextImage: (a: image.ImageReceiver) => image.Image
135export const JsOn: (a: image.ImageReceiver, b: Callback<image.ImageReceiver>) => number
136export const JsOff: (a: image.ImageReceiver) => number
137export const JsGetSize: (a: image.ImageReceiver) => imageSize
138export const JsGetCapacity: (a: image.ImageReceiver) => number
139export const JsReleaseImageReceiver: (a: image.ImageReceiver) => number
140export const JsGetImageSize: (a: image.Image) => imageSize
141export const JsGetImageComponentTypes: (a: image.Image) => number[]
142export const JsGetImageByteBuffer: (a: image.Image, b: number[]) => number
143export const JsGetImageBufferSize: (a: image.Image, b: number[]) => number
144export const JsGetImageRowStride: (a: image.Image, b: number[]) => number
145export const JsGetImagePixelStride: (a: image.Image, b: number[]) => number
146export const JsReleaseImage: (a: image.Image) => number