OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // This class is an implementation of the ChromotingView using Pepper devices | 5 // This class is an implementation of the ChromotingView using Pepper devices |
6 // as the backing stores. The public APIs to this class are thread-safe. | 6 // as the backing stores. The public APIs to this class are thread-safe. |
7 // Calls will dispatch any interaction with the pepper API onto the pepper | 7 // Calls will dispatch any interaction with the pepper API onto the pepper |
8 // main thread. | 8 // main thread. |
9 // | 9 // |
10 // TODO(ajwong): We need to better understand the threading semantics of this | 10 // TODO(ajwong): We need to better understand the threading semantics of this |
(...skipping 19 matching lines...) Expand all Loading... |
30 public: | 30 public: |
31 // Constructs a PepperView that draws to the |rendering_device|. The | 31 // Constructs a PepperView that draws to the |rendering_device|. The |
32 // |rendering_device| instance must outlive this class. | 32 // |rendering_device| instance must outlive this class. |
33 // | 33 // |
34 // TODO(ajwong): This probably needs to synchronize with the pepper thread | 34 // TODO(ajwong): This probably needs to synchronize with the pepper thread |
35 // to be safe. | 35 // to be safe. |
36 explicit PepperView(ChromotingPlugin* plugin); | 36 explicit PepperView(ChromotingPlugin* plugin); |
37 virtual ~PepperView(); | 37 virtual ~PepperView(); |
38 | 38 |
39 // ChromotingView implementation. | 39 // ChromotingView implementation. |
| 40 virtual bool Initialize(); |
| 41 virtual void TearDown(); |
40 virtual void Paint(); | 42 virtual void Paint(); |
41 virtual void SetSolidFill(uint32 color); | 43 virtual void SetSolidFill(uint32 color); |
42 virtual void UnsetSolidFill(); | 44 virtual void UnsetSolidFill(); |
43 virtual void SetViewport(int x, int y, int width, int height); | 45 virtual void SetViewport(int x, int y, int width, int height); |
44 virtual void SetBackingStoreSize(int width, int height); | 46 virtual void SetHostScreenSize(int width, int height); |
45 virtual void HandleBeginUpdateStream(HostMessage* msg); | 47 virtual void HandleBeginUpdateStream(HostMessage* msg); |
46 virtual void HandleUpdateStreamPacket(HostMessage* msg); | 48 virtual void HandleUpdateStreamPacket(HostMessage* msg); |
47 virtual void HandleEndUpdateStream(HostMessage* msg); | 49 virtual void HandleEndUpdateStream(HostMessage* msg); |
48 | 50 |
49 private: | 51 private: |
50 void OnPaintDone(); | 52 void OnPaintDone(); |
51 void OnPartialDecodeDone(); | 53 void OnPartialDecodeDone(); |
52 void OnDecodeDone(); | 54 void OnDecodeDone(); |
53 | 55 |
54 // Reference to the creating plugin instance. Needed for interacting with | 56 // Reference to the creating plugin instance. Needed for interacting with |
(...skipping 21 matching lines...) Expand all Loading... |
76 scoped_ptr<Decoder> decoder_; | 78 scoped_ptr<Decoder> decoder_; |
77 | 79 |
78 DISALLOW_COPY_AND_ASSIGN(PepperView); | 80 DISALLOW_COPY_AND_ASSIGN(PepperView); |
79 }; | 81 }; |
80 | 82 |
81 } // namespace remoting | 83 } // namespace remoting |
82 | 84 |
83 DISABLE_RUNNABLE_METHOD_REFCOUNT(remoting::PepperView); | 85 DISABLE_RUNNABLE_METHOD_REFCOUNT(remoting::PepperView); |
84 | 86 |
85 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ | 87 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ |
OLD | NEW |