OLD | NEW |
1 // Copyright (c) 2012 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 // This class is an implementation of the ChromotingView for Pepper. It is | 5 // This class is an implementation of the ChromotingView for Pepper. It is |
6 // callable only on the Pepper thread. | 6 // callable only on the Pepper thread. |
7 | 7 |
8 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ | 8 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ |
9 #define REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ | 9 #define REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ |
10 | 10 |
11 #include <vector> | 11 #include <vector> |
(...skipping 29 matching lines...) Expand all Loading... |
41 protocol::ConnectionToHost::State state, | 41 protocol::ConnectionToHost::State state, |
42 protocol::ConnectionToHost::Error error) OVERRIDE; | 42 protocol::ConnectionToHost::Error error) OVERRIDE; |
43 | 43 |
44 // FrameConsumer implementation. | 44 // FrameConsumer implementation. |
45 virtual void AllocateFrame(media::VideoFrame::Format format, | 45 virtual void AllocateFrame(media::VideoFrame::Format format, |
46 const SkISize& size, | 46 const SkISize& size, |
47 scoped_refptr<media::VideoFrame>* frame_out, | 47 scoped_refptr<media::VideoFrame>* frame_out, |
48 const base::Closure& done) OVERRIDE; | 48 const base::Closure& done) OVERRIDE; |
49 virtual void ReleaseFrame(media::VideoFrame* frame) OVERRIDE; | 49 virtual void ReleaseFrame(media::VideoFrame* frame) OVERRIDE; |
50 virtual void OnPartialFrameOutput(media::VideoFrame* frame, | 50 virtual void OnPartialFrameOutput(media::VideoFrame* frame, |
51 SkRegion* region, | 51 RectVector* rects, |
52 const base::Closure& done) OVERRIDE; | 52 const base::Closure& done) OVERRIDE; |
53 | 53 |
54 // Sets the display size of this view. Returns true if plugin size has | 54 // Sets the display size of this view. Returns true if plugin size has |
55 // changed, false otherwise. | 55 // changed, false otherwise. |
56 bool SetViewSize(const SkISize& plugin_size); | 56 bool SetViewSize(const SkISize& plugin_size); |
57 | 57 |
58 // Return the client view and original host dimensions. | 58 // Return the client view and original host dimensions. |
59 const SkISize& get_view_size() const { | 59 const SkISize& get_view_size() const { |
60 return view_size_; | 60 return view_size_; |
61 } | 61 } |
62 const SkISize& get_host_size() const { | 62 const SkISize& get_host_size() const { |
63 return host_size_; | 63 return host_size_; |
64 } | 64 } |
65 | 65 |
66 private: | 66 private: |
67 void OnPaintDone(base::Time paint_start); | 67 void OnPaintDone(base::Time paint_start); |
68 | 68 |
69 // Set the dimension of the entire host screen. | 69 // Set the dimension of the entire host screen. |
70 void SetHostSize(const SkISize& host_size); | 70 void SetHostSize(const SkISize& host_size); |
71 | 71 |
72 void PaintFrame(media::VideoFrame* frame, const SkRegion& region); | 72 void PaintFrame(media::VideoFrame* frame, RectVector* rects); |
73 | 73 |
74 // Render the rectangle of |frame| to the backing store. | 74 // Render the rectangle of |frame| to the backing store. |
75 // Returns true if this rectangle is not clipped. | 75 // Returns true if this rectangle is not clipped. |
76 bool PaintRect(media::VideoFrame* frame, const SkIRect& rect); | 76 bool PaintRect(media::VideoFrame* frame, const SkIRect& rect); |
77 | 77 |
78 // Blanks out a rectangle in an image. | 78 // Blanks out a rectangle in an image. |
79 void BlankRect(pp::ImageData& image_data, const pp::Rect& rect); | 79 void BlankRect(pp::ImageData& image_data, const pp::Rect& rect); |
80 | 80 |
81 // Perform a flush on the graphics context. | 81 // Perform a flush on the graphics context. |
82 void FlushGraphics(base::Time paint_start); | 82 void FlushGraphics(base::Time paint_start); |
(...skipping 25 matching lines...) Expand all Loading... |
108 uint32 static_fill_color_; | 108 uint32 static_fill_color_; |
109 | 109 |
110 base::WeakPtrFactory<PepperView> weak_factory_; | 110 base::WeakPtrFactory<PepperView> weak_factory_; |
111 | 111 |
112 DISALLOW_COPY_AND_ASSIGN(PepperView); | 112 DISALLOW_COPY_AND_ASSIGN(PepperView); |
113 }; | 113 }; |
114 | 114 |
115 } // namespace remoting | 115 } // namespace remoting |
116 | 116 |
117 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ | 117 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ |
OLD | NEW |