Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Side by Side Diff: experimental/SkV8Example/SkV8Example.cpp

Issue 673223002: Get SkV8Example running again. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « experimental/SkV8Example/SkV8Example.h ('k') | gyp/v8.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 * 7 *
8 */ 8 */
9 #include <v8.h> 9 #include <v8.h>
10 10 #include <include/libplatform/libplatform.h>
11 using namespace v8;
12 11
13 #include "SkV8Example.h" 12 #include "SkV8Example.h"
14 #include "Global.h" 13 #include "Global.h"
15 #include "JsContext.h" 14 #include "JsContext.h"
16 #include "Path2D.h" 15 #include "Path2D.h"
17 16
18 #include "gl/GrGLUtil.h" 17 #include "gl/GrGLUtil.h"
19 #include "gl/GrGLDefines.h" 18 #include "gl/GrGLDefines.h"
20 #include "gl/GrGLInterface.h" 19 #include "gl/GrGLInterface.h"
21 #include "GrRenderTarget.h" 20 #include "GrRenderTarget.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 102
104 SkSafeUnref(fCurRenderTarget); 103 SkSafeUnref(fCurRenderTarget);
105 fCurRenderTarget = fCurContext->wrapBackendRenderTarget(desc); 104 fCurRenderTarget = fCurContext->wrapBackendRenderTarget(desc);
106 SkSafeUnref(fCurSurface); 105 SkSafeUnref(fCurSurface);
107 fCurSurface = SkSurface::NewRenderTargetDirect(fCurRenderTarget); 106 fCurSurface = SkSurface::NewRenderTargetDirect(fCurRenderTarget);
108 } 107 }
109 } 108 }
110 #endif 109 #endif
111 110
112 #if SK_SUPPORT_GPU 111 #if SK_SUPPORT_GPU
113 SkCanvas* SkV8ExampleWindow::createCanvas() { 112 SkSurface* SkV8ExampleWindow::createSurface() {
114 if (FLAGS_gpu) { 113 if (FLAGS_gpu) {
115 SkCanvas* c = fCurSurface->getCanvas(); 114 // Increase the ref count since callers of createSurface put the
116 // Increase the ref count since the surface keeps a reference 115 // results in a SkAutoTUnref.
117 // to the canvas, but callers of createCanvas put the results 116 fCurSurface->ref();
118 // in a SkAutoTUnref. 117 return fCurSurface;
119 c->ref();
120 return c;
121 } else { 118 } else {
122 return this->INHERITED::createCanvas(); 119 return this->INHERITED::createSurface();
123 } 120 }
124 } 121 }
125 #endif 122 #endif
126 123
127 void SkV8ExampleWindow::onSizeChange() { 124 void SkV8ExampleWindow::onSizeChange() {
128 this->INHERITED::onSizeChange(); 125 this->INHERITED::onSizeChange();
129 126
130 #if SK_SUPPORT_GPU 127 #if SK_SUPPORT_GPU
131 this->windowSizeChanged(); 128 this->windowSizeChanged();
132 #endif 129 #endif
(...skipping 23 matching lines...) Expand all
156 void SkV8ExampleWindow::onHandleInval(const SkIRect& rect) { 153 void SkV8ExampleWindow::onHandleInval(const SkIRect& rect) {
157 RECT winRect; 154 RECT winRect;
158 winRect.top = rect.top(); 155 winRect.top = rect.top();
159 winRect.bottom = rect.bottom(); 156 winRect.bottom = rect.bottom();
160 winRect.right = rect.right(); 157 winRect.right = rect.right();
161 winRect.left = rect.left(); 158 winRect.left = rect.left();
162 InvalidateRect((HWND)this->getHWND(), &winRect, false); 159 InvalidateRect((HWND)this->getHWND(), &winRect, false);
163 } 160 }
164 #endif 161 #endif
165 162
163
166 SkOSWindow* create_sk_window(void* hwnd, int argc, char** argv) { 164 SkOSWindow* create_sk_window(void* hwnd, int argc, char** argv) {
167 printf("Started\n"); 165 printf("Started\n");
168 166
169 SkCommandLineFlags::Parse(argc, argv); 167 SkCommandLineFlags::Parse(argc, argv);
170 168
171 // Get the default Isolate created at startup. 169 v8::V8::InitializeICU();
172 Isolate* isolate = Isolate::GetCurrent(); 170 v8::Platform* platform = v8::platform::CreateDefaultPlatform();
171 v8::V8::InitializePlatform(platform);
172 v8::V8::Initialize();
173
174 v8::Isolate* isolate = v8::Isolate::New();
175 v8::Isolate::Scope isolate_scope(isolate);
176 v8::HandleScope handle_scope(isolate);
177 isolate->Enter();
178
173 Global* global = new Global(isolate); 179 Global* global = new Global(isolate);
174 180
175 181
176 // Set up things to look like a browser by creating 182 // Set up things to look like a browser by creating
177 // a console object that invokes our print function. 183 // a console object that invokes our print function.
178 const char* startupScript = 184 const char* startupScript =
179 "function Console() {}; \n" 185 "function Console() {}; \n"
180 "Console.prototype.log = function() { \n" 186 "Console.prototype.log = function() { \n"
181 " var args = Array.prototype.slice.call(arguments).join(' '); \n" 187 " var args = Array.prototype.slice.call(arguments).join(' '); \n"
182 " print(args); \n" 188 " print(args); \n"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 222
217 if (!jsContext->initialize()) { 223 if (!jsContext->initialize()) {
218 printf("Failed to initialize.\n"); 224 printf("Failed to initialize.\n");
219 exit(1); 225 exit(1);
220 } 226 }
221 SkV8ExampleWindow* win = new SkV8ExampleWindow(hwnd, jsContext); 227 SkV8ExampleWindow* win = new SkV8ExampleWindow(hwnd, jsContext);
222 global->setWindow(win); 228 global->setWindow(win);
223 229
224 return win; 230 return win;
225 } 231 }
OLDNEW
« no previous file with comments | « experimental/SkV8Example/SkV8Example.h ('k') | gyp/v8.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698