2016-01-19 21:09:01 +01:00
|
|
|
// Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be found
|
|
|
|
// in the LICENSE file.
|
|
|
|
|
|
|
|
#ifndef CEF_LIBCEF_BROWSER_VIEWS_LAYOUT_ADAPTER_H_
|
|
|
|
#define CEF_LIBCEF_BROWSER_VIEWS_LAYOUT_ADAPTER_H_
|
|
|
|
#pragma once
|
|
|
|
|
2024-04-30 17:45:07 +02:00
|
|
|
#include "cef/include/views/cef_layout.h"
|
2016-01-19 21:09:01 +01:00
|
|
|
|
|
|
|
namespace views {
|
|
|
|
class LayoutManager;
|
2019-03-13 22:27:37 +01:00
|
|
|
}
|
2016-01-19 21:09:01 +01:00
|
|
|
|
|
|
|
// Exposes a common interface from all CefLayout implementation objects to
|
|
|
|
// simplify the layout_util implementation. See comments in view_impl.h for a
|
|
|
|
// usage overview.
|
|
|
|
class CefLayoutAdapter {
|
|
|
|
public:
|
2024-01-20 23:48:57 +01:00
|
|
|
CefLayoutAdapter() = default;
|
2016-01-19 21:09:01 +01:00
|
|
|
|
|
|
|
// Returns the CefLayoutAdapter for the specified |layout|.
|
|
|
|
static CefLayoutAdapter* GetFor(CefRefPtr<CefLayout> layout);
|
|
|
|
|
|
|
|
// Returns the underlying views::LayoutManager object. Does not transfer
|
|
|
|
// ownership.
|
|
|
|
virtual views::LayoutManager* Get() const = 0;
|
|
|
|
|
|
|
|
// Release all references to the views::LayoutManager object. This is called
|
|
|
|
// when the views::LayoutManager is deleted after being assigned to a
|
|
|
|
// views::View.
|
|
|
|
virtual void Detach() = 0;
|
|
|
|
|
|
|
|
protected:
|
2024-01-20 23:48:57 +01:00
|
|
|
virtual ~CefLayoutAdapter() = default;
|
2016-01-19 21:09:01 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // CEF_LIBCEF_BROWSER_VIEWS_LAYOUT_ADAPTER_H_
|