OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef PPAPI_SHARED_IMPL_PPB_VIEW_SHARED_H_ |
| 6 #define PPAPI_SHARED_IMPL_PPB_VIEW_SHARED_H_ |
| 7 |
| 8 #include "base/compiler_specific.h" |
| 9 #include "ppapi/c/pp_rect.h" |
| 10 #include "ppapi/c/pp_size.h" |
| 11 #include "ppapi/shared_impl/resource.h" |
| 12 #include "ppapi/thunk/ppb_view_api.h" |
| 13 |
| 14 namespace ppapi { |
| 15 |
| 16 // If you add to this struct, be sure to update the serialization in |
| 17 // ppapi_messages.h. |
| 18 struct PPAPI_SHARED_EXPORT ViewData { |
| 19 ViewData(); |
| 20 ~ViewData(); |
| 21 |
| 22 bool Equals(const ViewData& other) const; |
| 23 |
| 24 PP_Rect rect; |
| 25 bool is_fullscreen; |
| 26 bool is_page_visible; |
| 27 PP_Rect clip_rect; |
| 28 }; |
| 29 |
| 30 class PPAPI_SHARED_EXPORT PPB_View_Shared |
| 31 : public Resource, |
| 32 public thunk::PPB_View_API { |
| 33 public: |
| 34 struct InitAsImpl {}; |
| 35 struct InitAsProxy {}; |
| 36 |
| 37 // The dummy arguments control which version of Resource's constructor is |
| 38 // called for this base class. |
| 39 PPB_View_Shared(const InitAsImpl&, |
| 40 PP_Instance instance, |
| 41 const ViewData& data); |
| 42 PPB_View_Shared(const InitAsProxy&, |
| 43 PP_Instance instance, |
| 44 const ViewData& data); |
| 45 virtual ~PPB_View_Shared(); |
| 46 |
| 47 // Resource overrides. |
| 48 virtual thunk::PPB_View_API* AsPPB_View_API() OVERRIDE; |
| 49 |
| 50 // PPB_View_API implementation. |
| 51 virtual const ViewData& GetData() const OVERRIDE; |
| 52 |
| 53 private: |
| 54 ViewData data_; |
| 55 |
| 56 DISALLOW_COPY_AND_ASSIGN(PPB_View_Shared); |
| 57 }; |
| 58 |
| 59 } // namespace ppapi |
| 60 |
| 61 #endif // PPAPI_SHARED_IMPL_PPB_VIEW_SHARED_H_ |
OLD | NEW |