910e62b5创建于 1月15日历史提交
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_ACCELERATED_WIDGET_MAC_CA_LAYER_FRAME_SINK_PROVIDER_H_
#define UI_ACCELERATED_WIDGET_MAC_CA_LAYER_FRAME_SINK_PROVIDER_H_

#include <UIKit/UIKit.h>

#include "build/build_config.h"
#include "ui/gfx/native_ui_types.h"

#if !BUILDFLAG(IS_IOS_TVOS)
#include <BrowserEngineKit/BrowserEngineKit.h>
#endif  // !BUILDFLAG(IS_IOS_TVOS)

namespace ui {
class CALayerFrameSink;
}

#if !BUILDFLAG(IS_IOS_TVOS)
@interface CALayerFrameSinkProvider : BELayerHierarchyHostingView
#else
@interface CALayerFrameSinkProvider : UIView
#endif

- (id)init;
- (ui::CALayerFrameSink*)frameSink;
- (gfx::AcceleratedWidget)viewHandle;
+ (CALayerFrameSinkProvider*)lookupByHandle:(uint64_t)viewHandle;
@end

#endif  // UI_ACCELERATED_WIDGET_MAC_CA_LAYER_FRAME_SINK_PROVIDER_H_