/** * Copyright 2023-present DreamNum 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 type { Nullable, UnitModel } from '@univerjs/core'; import type { BaseObject, IRenderContext, IRenderModule } from '@univerjs/engine-render'; import type { IPageElement, ISlidePage } from '@univerjs/slides'; import type { PageID } from '../type'; import { Injector, IUniverInstanceService, RxDisposable, UniverInstanceType } from '@univerjs/core'; import { IRenderManagerService, Scene } from '@univerjs/engine-render'; export declare class SlideRenderController extends RxDisposable implements IRenderModule { private readonly _renderContext; private readonly _injector; private readonly _univerInstanceService; private readonly _renderManagerService; private _objectProvider; constructor(_renderContext: IRenderContext, _injector: Injector, _univerInstanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService); private _addNewRender; private _scrollToCenter; private _currentRender; private _refreshThumb; /** * @param mainScene */ private _createSlide; private _addBackgroundRect; private _getCenterPositionViewPort; private _thumbSceneRender; /** * CreateScene by pages, and activate first one. * @param slideDataModel * @param slide */ private _createSlidePages; private _createThumb; /** * SlideDataModel is UnitModel */ private _getCurrUnitModel; activePage(_pageId?: string): void; createThumbs(): void; /** * Create scene by page and set to _sceneMap. * @param pageId * @param page */ createPageScene(pageId: string, page: ISlidePage): Nullable; /** * Get pageScene from Slide. * @param pageId * @returns {Scene, Engine, UnitModel} scene & engine & unit from renderContext */ getPageRenderUnit(pageId: PageID): { scene: Scene; engine: import("@univerjs/engine-render").Engine; unit: UnitModel; }; createObjectToPage(element: IPageElement, pageID: PageID): Nullable; setObjectActiveByPage(obj: BaseObject, pageID: PageID): void; removeObjectById(id: string, pageID: PageID): void; appendPage(): void; }