• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2022 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 //
5 // ---------------------------------------------------------------------------
6 //
7 // This file was generated by the CEF translator tool. If making changes by
8 // hand only do so within the body of existing method and function
9 // implementations. See the translator.README.txt file in the tools directory
10 // for more information.
11 //
12 // $hash=e61d67d8295c9fcc3e801bf61f4381434924940c$
13 //
14 
15 #ifndef CEF_LIBCEF_DLL_CTOCPP_VIEWS_WINDOW_DELEGATE_CTOCPP_H_
16 #define CEF_LIBCEF_DLL_CTOCPP_VIEWS_WINDOW_DELEGATE_CTOCPP_H_
17 #pragma once
18 
19 #if !defined(BUILDING_CEF_SHARED)
20 #error This file can be included DLL-side only
21 #endif
22 
23 #include "include/capi/views/cef_window_capi.h"
24 #include "include/capi/views/cef_window_delegate_capi.h"
25 #include "include/views/cef_window.h"
26 #include "include/views/cef_window_delegate.h"
27 #include "libcef_dll/ctocpp/ctocpp_ref_counted.h"
28 
29 // Wrap a C structure with a C++ class.
30 // This class may be instantiated and accessed DLL-side only.
31 class CefWindowDelegateCToCpp
32     : public CefCToCppRefCounted<CefWindowDelegateCToCpp,
33                                  CefWindowDelegate,
34                                  cef_window_delegate_t> {
35  public:
36   CefWindowDelegateCToCpp();
37   virtual ~CefWindowDelegateCToCpp();
38 
39   // CefWindowDelegate methods.
40   void OnWindowCreated(CefRefPtr<CefWindow> window) override;
41   void OnWindowDestroyed(CefRefPtr<CefWindow> window) override;
42   CefRefPtr<CefWindow> GetParentWindow(CefRefPtr<CefWindow> window,
43                                        bool* is_menu,
44                                        bool* can_activate_menu) override;
45   CefRect GetInitialBounds(CefRefPtr<CefWindow> window) override;
46   cef_show_state_t GetInitialShowState(CefRefPtr<CefWindow> window) override;
47   bool IsFrameless(CefRefPtr<CefWindow> window) override;
48   bool CanResize(CefRefPtr<CefWindow> window) override;
49   bool CanMaximize(CefRefPtr<CefWindow> window) override;
50   bool CanMinimize(CefRefPtr<CefWindow> window) override;
51   bool CanClose(CefRefPtr<CefWindow> window) override;
52   bool OnAccelerator(CefRefPtr<CefWindow> window, int command_id) override;
53   bool OnKeyEvent(CefRefPtr<CefWindow> window,
54                   const CefKeyEvent& event) override;
55 
56   // CefPanelDelegate methods.
57 
58   // CefViewDelegate methods.
59   CefSize GetPreferredSize(CefRefPtr<CefView> view) override;
60   CefSize GetMinimumSize(CefRefPtr<CefView> view) override;
61   CefSize GetMaximumSize(CefRefPtr<CefView> view) override;
62   int GetHeightForWidth(CefRefPtr<CefView> view, int width) override;
63   void OnParentViewChanged(CefRefPtr<CefView> view,
64                            bool added,
65                            CefRefPtr<CefView> parent) override;
66   void OnChildViewChanged(CefRefPtr<CefView> view,
67                           bool added,
68                           CefRefPtr<CefView> child) override;
69   void OnWindowChanged(CefRefPtr<CefView> view, bool added) override;
70   void OnLayoutChanged(CefRefPtr<CefView> view,
71                        const CefRect& new_bounds) override;
72   void OnFocus(CefRefPtr<CefView> view) override;
73   void OnBlur(CefRefPtr<CefView> view) override;
74 };
75 
76 #endif  // CEF_LIBCEF_DLL_CTOCPP_VIEWS_WINDOW_DELEGATE_CTOCPP_H_
77