| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SampleApp.h" | 8 #include "SampleApp.h" |
| 9 | 9 |
| 10 #include "OverView.h" | 10 #include "OverView.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "SkPM4fPriv.h" | 27 #include "SkPM4fPriv.h" |
| 28 #include "SkStream.h" | 28 #include "SkStream.h" |
| 29 #include "SkSurface.h" | 29 #include "SkSurface.h" |
| 30 #include "SkTemplates.h" | 30 #include "SkTemplates.h" |
| 31 #include "SkTSort.h" | 31 #include "SkTSort.h" |
| 32 #include "SkTime.h" | 32 #include "SkTime.h" |
| 33 #include "SkTypeface.h" | 33 #include "SkTypeface.h" |
| 34 #include "SkWindow.h" | 34 #include "SkWindow.h" |
| 35 #include "sk_tool_utils.h" | 35 #include "sk_tool_utils.h" |
| 36 | 36 |
| 37 #include "SkReadBuffer.h" |
| 38 #include "SkStream.h" |
| 39 |
| 37 #if SK_SUPPORT_GPU | 40 #if SK_SUPPORT_GPU |
| 38 # include "gl/GrGLInterface.h" | 41 # include "gl/GrGLInterface.h" |
| 39 # include "gl/GrGLUtil.h" | 42 # include "gl/GrGLUtil.h" |
| 40 # include "GrContext.h" | 43 # include "GrContext.h" |
| 41 # include "SkGr.h" | 44 # include "SkGr.h" |
| 42 # if SK_ANGLE | 45 # if SK_ANGLE |
| 43 # include "gl/angle/GLTestContext_angle.h" | 46 # include "gl/angle/GLTestContext_angle.h" |
| 44 # endif | 47 # endif |
| 45 #else | 48 #else |
| 46 class GrContext; | 49 class GrContext; |
| (...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 DEFINE_bool(sort, false, "Sort samples by title."); | 692 DEFINE_bool(sort, false, "Sort samples by title."); |
| 690 DEFINE_bool(list, false, "List samples?"); | 693 DEFINE_bool(list, false, "List samples?"); |
| 691 DEFINE_bool(gpu, false, "Start up with gpu?"); | 694 DEFINE_bool(gpu, false, "Start up with gpu?"); |
| 692 DEFINE_bool(redraw, false, "Force continuous redrawing, for profiling or debuggi
ng tools."); | 695 DEFINE_bool(redraw, false, "Force continuous redrawing, for profiling or debuggi
ng tools."); |
| 693 DEFINE_string(key, "", ""); // dummy to enable gm tests that have platform-spec
ific names | 696 DEFINE_string(key, "", ""); // dummy to enable gm tests that have platform-spec
ific names |
| 694 #ifdef SAMPLE_PDF_FILE_VIEWER | 697 #ifdef SAMPLE_PDF_FILE_VIEWER |
| 695 DEFINE_string(pdfPath, "", "Path to direcotry of pdf files."); | 698 DEFINE_string(pdfPath, "", "Path to direcotry of pdf files."); |
| 696 #endif | 699 #endif |
| 697 | 700 |
| 698 #include "SkTaskGroup.h" | 701 #include "SkTaskGroup.h" |
| 702 #include "SkForceLinking.h" |
| 699 | 703 |
| 700 SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev
Manager) | 704 SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev
Manager) |
| 701 : INHERITED(hwnd) | 705 : INHERITED(hwnd) |
| 702 , fDevManager(nullptr) { | 706 , fDevManager(nullptr) { |
| 703 | 707 |
| 708 SkForceLinking(false); |
| 709 |
| 704 SkCommandLineFlags::Parse(argc, argv); | 710 SkCommandLineFlags::Parse(argc, argv); |
| 705 | 711 |
| 706 fCurrIndex = -1; | 712 fCurrIndex = -1; |
| 707 | 713 |
| 708 if (!FLAGS_pictureDir.isEmpty()) { | 714 if (!FLAGS_pictureDir.isEmpty()) { |
| 709 SkOSFile::Iter iter(FLAGS_pictureDir[0], "skp"); | 715 SkOSFile::Iter iter(FLAGS_pictureDir[0], "skp"); |
| 710 SkString filename; | 716 SkString filename; |
| 711 while (iter.next(&filename)) { | 717 while (iter.next(&filename)) { |
| 712 *fSamples.append() = new PictFileFactory( | 718 *fSamples.append() = new PictFileFactory( |
| 713 SkOSPath::Join(FLAGS_pictureDir[0], filename.c_str())); | 719 SkOSPath::Join(FLAGS_pictureDir[0], filename.c_str())); |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1298 } | 1304 } |
| 1299 name.append(".pdf"); | 1305 name.append(".pdf"); |
| 1300 #ifdef SK_BUILD_FOR_ANDROID | 1306 #ifdef SK_BUILD_FOR_ANDROID |
| 1301 name.prepend("/sdcard/"); | 1307 name.prepend("/sdcard/"); |
| 1302 #endif | 1308 #endif |
| 1303 fPDFDocument = SkDocument::MakePDF(name.c_str()); | 1309 fPDFDocument = SkDocument::MakePDF(name.c_str()); |
| 1304 canvas = fPDFDocument->beginPage(this->width(), this->height()); | 1310 canvas = fPDFDocument->beginPage(this->width(), this->height()); |
| 1305 } else if (fSaveToSKP) { | 1311 } else if (fSaveToSKP) { |
| 1306 canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); | 1312 canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); |
| 1307 } else if (fUsePicture) { | 1313 } else if (fUsePicture) { |
| 1308 canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); | 1314 fPipeStream = new SkDynamicMemoryWStream; |
| 1315 canvas = fPipeSerializer.beginWrite(SkRect::MakeWH(this->width(), this->
height()), |
| 1316 fPipeStream); |
| 1317 // canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0); |
| 1309 } else { | 1318 } else { |
| 1310 canvas = this->INHERITED::beforeChildren(canvas); | 1319 canvas = this->INHERITED::beforeChildren(canvas); |
| 1311 } | 1320 } |
| 1312 | 1321 |
| 1313 if (fUseClip) { | 1322 if (fUseClip) { |
| 1314 canvas->drawColor(0xFFFF88FF); | 1323 canvas->drawColor(0xFFFF88FF); |
| 1315 canvas->clipPath(fClipPath, SkRegion::kIntersect_Op, true); | 1324 canvas->clipPath(fClipPath, SkRegion::kIntersect_Op, true); |
| 1316 } | 1325 } |
| 1317 | 1326 |
| 1318 // Install a flags filter proxy canvas if needed | 1327 // Install a flags filter proxy canvas if needed |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1360 if (fSaveToSKP) { | 1369 if (fSaveToSKP) { |
| 1361 sk_sp<SkPicture> picture(fRecorder.finishRecordingAsPicture()); | 1370 sk_sp<SkPicture> picture(fRecorder.finishRecordingAsPicture()); |
| 1362 SkFILEWStream stream("sample_app.skp"); | 1371 SkFILEWStream stream("sample_app.skp"); |
| 1363 picture->serialize(&stream); | 1372 picture->serialize(&stream); |
| 1364 fSaveToSKP = false; | 1373 fSaveToSKP = false; |
| 1365 this->inval(nullptr); | 1374 this->inval(nullptr); |
| 1366 return; | 1375 return; |
| 1367 } | 1376 } |
| 1368 | 1377 |
| 1369 if (fUsePicture) { | 1378 if (fUsePicture) { |
| 1370 sk_sp<SkPicture> picture(fRecorder.finishRecordingAsPicture()); | 1379 if (true) { |
| 1371 | 1380 fPipeSerializer.endWrite(); |
| 1372 // serialize/deserialize? | 1381 sk_sp<SkData> data(fPipeStream->copyToData()); |
| 1373 if (false) { | 1382 fPipeDeserializer.playback(data->data(), data->size(), orig); |
| 1374 SkDynamicMemoryWStream wstream; | 1383 delete fPipeStream; |
| 1375 picture->serialize(&wstream); | 1384 } else { |
| 1376 | 1385 sk_sp<SkPicture> picture(fRecorder.finishRecordingAsPicture()); |
| 1377 SkAutoTDelete<SkStream> rstream(wstream.detachAsStream()); | 1386 orig->drawPicture(picture.get()); |
| 1378 picture = SkPicture::MakeFromStream(rstream); | |
| 1379 } | 1387 } |
| 1380 orig->drawPicture(picture.get()); | |
| 1381 } | 1388 } |
| 1382 | 1389 |
| 1383 // Do this after presentGL and other finishing, rather than in afterChild | 1390 // Do this after presentGL and other finishing, rather than in afterChild |
| 1384 if (fMeasureFPS) { | 1391 if (fMeasureFPS) { |
| 1385 orig->flush(); | 1392 orig->flush(); |
| 1386 fTimer.end(); | 1393 fTimer.end(); |
| 1387 fMeasureFPS_Time += fTimer.fWall; | 1394 fMeasureFPS_Time += fTimer.fWall; |
| 1388 } | 1395 } |
| 1389 } | 1396 } |
| 1390 | 1397 |
| (...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2270 #ifdef SK_BUILD_FOR_MAC | 2277 #ifdef SK_BUILD_FOR_MAC |
| 2271 setenv("ANDROID_ROOT", "/android/device/data", 0); | 2278 setenv("ANDROID_ROOT", "/android/device/data", 0); |
| 2272 #endif | 2279 #endif |
| 2273 SkGraphics::Init(); | 2280 SkGraphics::Init(); |
| 2274 SkEvent::Init(); | 2281 SkEvent::Init(); |
| 2275 } | 2282 } |
| 2276 | 2283 |
| 2277 void application_term() { | 2284 void application_term() { |
| 2278 SkEvent::Term(); | 2285 SkEvent::Term(); |
| 2279 } | 2286 } |
| OLD | NEW |