OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef VIEWS_WIDGET_NATIVE_WIDGET_H_ | 5 #ifndef VIEWS_WIDGET_NATIVE_WIDGET_H_ |
6 #define VIEWS_WIDGET_NATIVE_WIDGET_H_ | 6 #define VIEWS_WIDGET_NATIVE_WIDGET_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "views/widget/widget.h" | 9 #include "views/widget/widget.h" |
10 | 10 |
11 namespace views { | 11 namespace views { |
12 namespace internal { | 12 namespace internal { |
13 class NativeWidgetPrivate; | 13 class NativeWidgetPrivate; |
14 } | 14 } |
15 | 15 |
16 //////////////////////////////////////////////////////////////////////////////// | 16 //////////////////////////////////////////////////////////////////////////////// |
17 // NativeWidget interface | 17 // NativeWidget interface |
18 // | 18 // |
19 // An interface that serves as the public API base for the | 19 // An interface that serves as the public API base for the |
20 // internal::NativeWidget interface that Widget uses to communicate with a | 20 // internal::NativeWidget interface that Widget uses to communicate with a |
21 // backend-specific native widget implementation. This is the only component of | 21 // backend-specific native widget implementation. This is the only component of |
22 // this interface that is publicly visible, and exists solely for exposure via | 22 // this interface that is publicly visible, and exists solely for exposure via |
23 // Widget's native_widget() accessor, which code occasionally static_casts to | 23 // Widget's native_widget() accessor, which code occasionally static_casts to |
24 // a known implementation in platform-specific code. | 24 // a known implementation in platform-specific code. |
25 // | 25 // |
26 class VIEWS_API NativeWidget { | 26 class VIEWS_EXPORT NativeWidget { |
27 public: | 27 public: |
28 virtual ~NativeWidget() {} | 28 virtual ~NativeWidget() {} |
29 | 29 |
30 private: | 30 private: |
31 friend class Widget; | 31 friend class Widget; |
32 | 32 |
33 virtual internal::NativeWidgetPrivate* AsNativeWidgetPrivate() = 0; | 33 virtual internal::NativeWidgetPrivate* AsNativeWidgetPrivate() = 0; |
34 }; | 34 }; |
35 | 35 |
36 } // namespace views | 36 } // namespace views |
37 | 37 |
38 #endif // VIEWS_WIDGET_NATIVE_WIDGET_H_ | 38 #endif // VIEWS_WIDGET_NATIVE_WIDGET_H_ |
OLD | NEW |