OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
1 #include "jni/dart_host.h" | 5 #include "jni/dart_host.h" |
2 | 6 |
3 #include <math.h> | 7 #include <math.h> |
4 #include <unistd.h> | 8 #include <unistd.h> |
5 | 9 |
6 #include "bin/eventhandler.h" | 10 #include "jni/log.h" |
7 #include "bin/isolate_data.h" | |
8 #include "bin/log.h" | |
9 #include "bin/platform.h" | |
10 #include "bin/process.h" | |
11 #include "vm/flags.h" | |
12 | 11 |
13 DartHost::DartHost(Context *context) | 12 DartHost::DartHost(Context *context) |
14 : graphics_(context->graphics), | 13 : graphics_(context->graphics), |
15 input_handler_(context->input_handler), | 14 input_handler_(context->input_handler), |
16 sound_service_(context->sound_service), | 15 sound_service_(context->sound_service), |
17 timer_(context->timer), | 16 timer_(context->timer), |
18 vm_glue_(context->vm_glue), | 17 vm_glue_(context->vm_glue), |
19 active_(false) { | 18 active_(false) { |
20 Log::Print("Creating DartHost"); | 19 LOGI("Creating DartHost"); |
21 } | 20 } |
22 | 21 |
23 DartHost::~DartHost() { | 22 DartHost::~DartHost() { |
24 Log::Print("Freeing DartHost"); | 23 LOGI("Freeing DartHost"); |
25 } | 24 } |
26 | 25 |
27 int32_t DartHost::OnActivate() { | 26 int32_t DartHost::OnActivate() { |
28 return Activate(); | 27 return Activate(); |
29 } | 28 } |
30 | 29 |
31 int32_t DartHost::Activate() { | 30 int32_t DartHost::Activate() { |
32 if (!active_) { | 31 if (!active_) { |
33 Log::Print("Activating DartHost"); | 32 LOGI("Activating DartHost"); |
34 if (graphics_->Start() != 0) { | 33 if (graphics_->Start() != 0) { |
35 return -1; | 34 return -1; |
36 } | 35 } |
37 if (sound_service_->Start() != 0) { | 36 if (sound_service_->Start() != 0) { |
38 return -1; | 37 return -1; |
39 } | 38 } |
40 if (input_handler_->Start() != 0) { | 39 if (input_handler_->Start() != 0) { |
41 return -1; | 40 return -1; |
42 } | 41 } |
43 timer_->reset(); | 42 timer_->reset(); |
44 Log::Print("Starting main isolate"); | 43 LOGI("Starting main isolate"); |
45 int result = vm_glue_->StartMainIsolate(); | 44 int result = vm_glue_->StartMainIsolate(); |
46 if (result != 0) { | 45 if (result != 0) { |
47 Log::PrintErr("startMainIsolate returned %d", result); | 46 LOGE("startMainIsolate returned %d", result); |
48 return -1; | 47 return -1; |
49 } | 48 } |
50 active_ = true; | 49 active_ = true; |
51 vm_glue_->CallSetup(); | 50 vm_glue_->CallSetup(); |
52 } | 51 } |
53 return 0; | 52 return 0; |
54 } | 53 } |
55 | 54 |
56 void DartHost::OnDeactivate() { | 55 void DartHost::OnDeactivate() { |
57 Deactivate(); | 56 Deactivate(); |
58 } | 57 } |
59 | 58 |
60 void DartHost::Deactivate() { | 59 void DartHost::Deactivate() { |
61 if (active_) { | 60 if (active_) { |
62 active_ = false; | 61 active_ = false; |
63 vm_glue_->FinishMainIsolate(); | 62 vm_glue_->FinishMainIsolate(); |
64 Log::Print("Deactivating DartHost"); | 63 LOGI("Deactivating DartHost"); |
65 sound_service_->Stop(); | 64 sound_service_->Stop(); |
66 graphics_->Stop(); | 65 graphics_->Stop(); |
67 } | 66 } |
68 } | 67 } |
69 | 68 |
70 int32_t DartHost::OnStep() { | 69 int32_t DartHost::OnStep() { |
71 timer_->update(); | 70 timer_->update(); |
72 vm_glue_->CallUpdate(); | 71 vm_glue_->CallUpdate(); |
73 if (graphics_->Update() != 0) { | 72 if (graphics_->Update() != 0) { |
74 return -1; | 73 return -1; |
75 } | 74 } |
76 return 0; | 75 return 0; |
77 } | 76 } |
78 | 77 |
79 void DartHost::OnStart() { | 78 void DartHost::OnStart() { |
80 Log::Print("Starting DartHost"); | 79 LOGI("Starting DartHost"); |
81 } | 80 } |
82 | 81 |
83 void DartHost::OnResume() { | 82 void DartHost::OnResume() { |
84 Log::Print("Resuming DartHost"); | 83 LOGI("Resuming DartHost"); |
85 } | 84 } |
86 | 85 |
87 void DartHost::OnPause() { | 86 void DartHost::OnPause() { |
88 Log::Print("Pausing DartHost"); | 87 LOGI("Pausing DartHost"); |
89 } | 88 } |
90 | 89 |
91 void DartHost::OnStop() { | 90 void DartHost::OnStop() { |
92 Log::Print("Stopping DartHost"); | 91 LOGI("Stopping DartHost"); |
93 } | 92 } |
94 | 93 |
95 void DartHost::OnDestroy() { | 94 void DartHost::OnDestroy() { |
96 Log::Print("Destroying DartHost"); | 95 LOGI("Destroying DartHost"); |
97 } | 96 } |
98 | 97 |
99 void DartHost::OnSaveState(void** data, size_t size) { | 98 void DartHost::OnSaveState(void** data, size_t size) { |
100 Log::Print("Saving DartHost state"); | 99 LOGI("Saving DartHost state"); |
101 } | 100 } |
102 | 101 |
103 void DartHost::OnConfigurationChanged() { | 102 void DartHost::OnConfigurationChanged() { |
104 Log::Print("DartHost config changed"); | 103 LOGI("DartHost config changed"); |
105 } | 104 } |
106 | 105 |
107 void DartHost::OnLowMemory() { | 106 void DartHost::OnLowMemory() { |
108 Log::Print("DartHost low on memory"); | 107 LOGI("DartHost low on memory"); |
109 } | 108 } |
110 | 109 |
111 void DartHost::OnCreateWindow() { | 110 void DartHost::OnCreateWindow() { |
112 Log::Print("DartHost creating window"); | 111 LOGI("DartHost creating window"); |
113 } | 112 } |
114 | 113 |
115 void DartHost::OnDestroyWindow() { | 114 void DartHost::OnDestroyWindow() { |
116 Log::Print("DartHost destroying window"); | 115 LOGI("DartHost destroying window"); |
117 } | 116 } |
118 | 117 |
119 void DartHost::OnGainedFocus() { | 118 void DartHost::OnGainedFocus() { |
120 Log::Print("DartHost gained focus"); | 119 LOGI("DartHost gained focus"); |
121 } | 120 } |
122 | 121 |
123 void DartHost::OnLostFocus() { | 122 void DartHost::OnLostFocus() { |
124 Log::Print("DartHost lost focus"); | 123 LOGI("DartHost lost focus"); |
125 } | 124 } |
126 | 125 |
127 void DartHost::Clear() { | 126 void DartHost::Clear() { |
128 memset(window_buffer_.bits, 0, | 127 memset(window_buffer_.bits, 0, |
129 window_buffer_.stride * window_buffer_.height * sizeof(int32_t)); | 128 window_buffer_.stride * window_buffer_.height * sizeof(int32_t)); |
130 } | 129 } |
131 | |
OLD | NEW |