!12271 加支持图片编辑垂域扩展接口

Merge pull request !12271 from mars10577020/master
This commit is contained in:
openharmony_ci 2024-07-01 06:04:36 +00:00 committed by Gitee
commit 2ead68586e
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 163 additions and 2 deletions

View File

@ -0,0 +1,88 @@
/*
* Copyright (c) 2024 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 ExtensionAbility from './@ohos.app.ability.ExtensionAbility';
import PhotoEditorExtensionContext from './application/PhotoEditorExtensionContext';
import type UIExtensionContentSession from './@ohos.app.ability.UIExtensionContentSession';
import type Want from './@ohos.app.ability.Want';
/**
* Class of the photo editor ExtensionAbility, which provides APIs for you to edit photos.
*
* @extends ExtensionAbility
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @StageModelOnly
* @since 12
*/
export default class PhotoEditorExtensionAbility extends ExtensionAbility {
/**
* Indicates configuration information about an Photo editor extension ability context.
*
* @type { PhotoEditorExtensionContext }
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @StageModelOnly
* @since 12
*/
context: PhotoEditorExtensionContext;
/**
* Called back when an UI extension is started for initialization.
*
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @StageModelOnly
* @since 12
*/
onCreate(): void;
/**
* Called back when the state of an UI extension changes to foreground.
*
* @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore
* @StageModelOnly
* @since 12
*/
onForeground(): void;
/**
* Called back when the state of an UI extension changes to background.
*
* @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore
* @StageModelOnly
* @since 12
*/
onBackground(): void;
/**
* Called back before an UI extension is destroyed.
*
* @returns { void | Promise<void> } the promise returned by the function.
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @StageModelOnly
* @since 12
*/
onDestroy(): void | Promise<void>;
/**
* Called back when an UI extension session is created and original image is ready.
*
* @param { string } uri - Indicates the uri info of the original image.
* @param { Want } want - Indicates the want info of the UI extension.
* @param { UIExtensionContentSession } session - Indicates the session of the UI extension page.
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @StageModelOnly
* @since 12
*/
onStartContentEditing(uri: string, want: Want, session: UIExtensionContentSession): void;
}

View File

@ -37,6 +37,7 @@ import type * as _VpnExtensionContext from './application/VpnExtensionContext';
import type { AutoStartupCallback as _AutoStartupCallback } from './application/AutoStartupCallback';
import type { AutoStartupInfo as _AutoStartupInfo } from './application/AutoStartupInfo';
import type * as _EmbeddableUIAbilityContext from './application/EmbeddableUIAbilityContext';
import type * as _PhotoEditorExtensionContext from './application/PhotoEditorExtensionContext';
/**
* This module provides application context classes and common data structures.
@ -384,6 +385,16 @@ declare namespace common {
* @since 12
*/
export type EmbeddableUIAbilityContext = _EmbeddableUIAbilityContext.default;
/**
* The context of an photo editor extension ability.
*
* @typedef { _PhotoEditorExtensionContext.default }
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @stagemodelonly
* @since 12
*/
export type PhotoEditorExtensionContext = _PhotoEditorExtensionContext.default;
}
export default common;

View File

@ -0,0 +1,60 @@
/*
* Copyright (c) 2024 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 } from '../@ohos.base';
import ExtensionContext from './ExtensionContext';
import type { AbilityResult } from '../ability/abilityResult';
import image from '../@ohos.multimedia.image';
/**
* The context of Photo Editor extension. It allows access to PhotoEditorExtension-specific resources.
*
* @extends ExtensionContext
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @StageModelOnly
* @since 12
*/
export default class PhotoEditorExtensionContext extends ExtensionContext {
/**
* Save image data by uri.
*
* @param { string } uri Image editing URI.
* @returns { Promise<AbilityResult> } Returns the result of save.
* @throws { BusinessError } 401 - Params error. Possible causes: 1.Mandatory parameters are left unspecified.
* <br>2.Incorrect parameter types.
* @throws { BusinessError } 29600001 - Internal error.
* @throws { BusinessError } 29600002 - Image input error.
* @throws { BusinessError } 29600003 - Image too big.
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @since 12
*/
saveEditedContentWithUri(uri: string): Promise<AbilityResult>;
/**
* Save image data by image pixmap.
*
* @param { image.PixelMap } pixeMap Image pixmap.
* @param { image.PackingOption } option Option for image packing.
* @returns { Promise<AbilityResult> } Returns the result of save.
* @throws { BusinessError } 401 - Params error. Possible causes: 1.Mandatory parameters are left unspecified.
* <br>2.Incorrect parameter types.
* @throws { BusinessError } 29600001 - Internal error.
* @throws { BusinessError } 29600002 - Image input error.
* @throws { BusinessError } 29600003 - Image too big.
* @syscap SystemCapability.Ability.AppExtension.PhotoEditorExtension
* @since 12
*/
saveEditedContentWithImage(pixeMap: image.PixelMap, option: image.PackingOption): Promise<AbilityResult>;
}

View File

@ -218,6 +218,7 @@
"SystemCapability.Graphic.Graphic2D.NativeVsync",
"SystemCapability.Graphic.Vulkan",
"SystemCapability.Multimedia.Image.ImageCreator",
"SystemCapability.Ability.AppStartup"
"SystemCapability.Ability.AppStartup",
"SystemCapability.Ability.AppExtension.PhotoEditorExtension"
]
}

View File

@ -210,6 +210,7 @@
"SystemCapability.Graphic.Vulkan",
"SystemCapability.Multimedia.Image.ImageCreator",
"SystemCapability.Graphic.Graphic2D.WebGL2",
"SystemCapability.Ability.AppStartup"
"SystemCapability.Ability.AppStartup",
"SystemCapability.Ability.AppExtension.PhotoEditorExtension"
]
}