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 #include <math.h> | 5 #include <math.h> |
6 | 6 |
7 #include "ppapi/cpp/completion_callback.h" | 7 #include "ppapi/cpp/completion_callback.h" |
8 #include "ppapi/cpp/graphics_2d.h" | 8 #include "ppapi/cpp/graphics_2d.h" |
9 #include "ppapi/cpp/image_data.h" | 9 #include "ppapi/cpp/image_data.h" |
10 #include "ppapi/cpp/instance.h" | 10 #include "ppapi/cpp/instance.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 class MyInstance : public pp::Instance, public pp::PaintManager::Client { | 33 class MyInstance : public pp::Instance, public pp::PaintManager::Client { |
34 public: | 34 public: |
35 MyInstance(PP_Instance instance) | 35 MyInstance(PP_Instance instance) |
36 : pp::Instance(instance), | 36 : pp::Instance(instance), |
37 current_step_(0), | 37 current_step_(0), |
38 kicked_off_(false) { | 38 kicked_off_(false) { |
39 factory_.Initialize(this); | 39 factory_.Initialize(this); |
40 paint_manager_.Initialize(this, this, false); | 40 paint_manager_.Initialize(this, this, false); |
41 } | 41 } |
42 | 42 |
43 virtual void ViewChanged(const pp::Rect& position, const pp::Rect& clip) { | 43 virtual void DidChangeView(const pp::Rect& position, const pp::Rect& clip) { |
44 paint_manager_.SetSize(position.size()); | 44 paint_manager_.SetSize(position.size()); |
45 } | 45 } |
46 | 46 |
47 void OnTimer(int32_t) { | 47 void OnTimer(int32_t) { |
48 pp::Module::Get()->core()->CallOnMainThread( | 48 pp::Module::Get()->core()->CallOnMainThread( |
49 16, factory_.NewCallback(&MyInstance::OnTimer), 0); | 49 16, factory_.NewCallback(&MyInstance::OnTimer), 0); |
50 // The scroll and the invalidate will do the same thing in this example, | 50 // The scroll and the invalidate will do the same thing in this example, |
51 // but the invalidate will cause a large repaint, whereas the scroll will | 51 // but the invalidate will cause a large repaint, whereas the scroll will |
52 // be faster and cause a smaller repaint. | 52 // be faster and cause a smaller repaint. |
53 #if 1 | 53 #if 1 |
(...skipping 10 matching lines...) Expand all Loading... |
64 virtual bool OnPaint(pp::Graphics2D& device, | 64 virtual bool OnPaint(pp::Graphics2D& device, |
65 const std::vector<pp::Rect>& paint_rects, | 65 const std::vector<pp::Rect>& paint_rects, |
66 const pp::Rect& paint_bounds) { | 66 const pp::Rect& paint_bounds) { |
67 if (!kicked_off_) { | 67 if (!kicked_off_) { |
68 pp::Module::Get()->core()->CallOnMainThread( | 68 pp::Module::Get()->core()->CallOnMainThread( |
69 16, factory_.NewCallback(&MyInstance::OnTimer), 0); | 69 16, factory_.NewCallback(&MyInstance::OnTimer), 0); |
70 kicked_off_ = true; | 70 kicked_off_ = true; |
71 } | 71 } |
72 | 72 |
73 // Paint the background. | 73 // Paint the background. |
74 pp::ImageData updated_image(PP_IMAGEDATAFORMAT_BGRA_PREMUL, | 74 pp::ImageData updated_image(this, PP_IMAGEDATAFORMAT_BGRA_PREMUL, |
75 paint_bounds.size(), false); | 75 paint_bounds.size(), false); |
76 FillRect(&updated_image, pp::Rect(updated_image.size()), 0xFF8888FF); | 76 FillRect(&updated_image, pp::Rect(updated_image.size()), 0xFF8888FF); |
77 | 77 |
78 int x_origin = current_step_ * kAdvanceXPerFrame; | 78 int x_origin = current_step_ * kAdvanceXPerFrame; |
79 int y_origin = current_step_ * kAdvanceYPerFrame; | 79 int y_origin = current_step_ * kAdvanceYPerFrame; |
80 | 80 |
81 int x_offset = x_origin % kSquareSpacing; | 81 int x_offset = x_origin % kSquareSpacing; |
82 int y_offset = y_origin % kSquareSpacing; | 82 int y_offset = y_origin % kSquareSpacing; |
83 | 83 |
84 for (int ys = 0; ys < device.size().height() / kSquareSpacing + 2; ys++) { | 84 for (int ys = 0; ys < device.size().height() / kSquareSpacing + 2; ys++) { |
(...skipping 25 matching lines...) Expand all Loading... |
110 }; | 110 }; |
111 | 111 |
112 namespace pp { | 112 namespace pp { |
113 | 113 |
114 // Factory function for your specialization of the Module object. | 114 // Factory function for your specialization of the Module object. |
115 Module* CreateModule() { | 115 Module* CreateModule() { |
116 return new MyModule(); | 116 return new MyModule(); |
117 } | 117 } |
118 | 118 |
119 } // namespace pp | 119 } // namespace pp |
OLD | NEW |