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

Unified Diff: samplecode/SampleApp.cpp

Issue 1538343002: SampleApp: remove Picture_DeviceType (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « samplecode/SampleApp.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: samplecode/SampleApp.cpp
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index f9865dcfc0afb23fef3d8c3be27d046c3ffd6e3f..d200e295fb3a4fbfb97414548cc03ab51d475938 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -189,7 +189,6 @@ public:
#if SK_SUPPORT_GPU
switch (win->getDeviceType()) {
case kRaster_DeviceType: // fallthrough
- case kPicture_DeviceType: // fallthrough
case kGPU_DeviceType:
// all these guys use the native backend
fBackend = kNativeGL_BackEndType;
@@ -222,7 +221,6 @@ public:
SkAutoTUnref<const GrGLInterface> glInterface;
switch (win->getDeviceType()) {
case kRaster_DeviceType: // fallthrough
- case kPicture_DeviceType: // fallthrough
case kGPU_DeviceType:
// all these guys use the native interface
glInterface.reset(GrGLCreateNativeInterface());
@@ -678,17 +676,16 @@ void SampleWindow::updatePointer(int x, int y) {
static inline SampleWindow::DeviceType cycle_devicetype(SampleWindow::DeviceType ct) {
static const SampleWindow::DeviceType gCT[] = {
- SampleWindow::kPicture_DeviceType,
+ SampleWindow::kRaster_DeviceType
#if SK_SUPPORT_GPU
- SampleWindow::kGPU_DeviceType,
+ , SampleWindow::kGPU_DeviceType
#if SK_ANGLE
- SampleWindow::kANGLE_DeviceType,
+ , SampleWindow::kANGLE_DeviceType
#endif // SK_ANGLE
#if SK_COMMAND_BUFFER
- SampleWindow::kCommandBuffer_DeviceType,
+ , SampleWindow::kCommandBuffer_DeviceType
#endif // SK_COMMAND_BUFFER
#endif // SK_SUPPORT_GPU
- SampleWindow::kRaster_DeviceType,
};
static_assert(SK_ARRAY_COUNT(gCT) == SampleWindow::kDeviceTypeCnt, "array_size_mismatch");
return gCT[ct];
@@ -862,6 +859,7 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev
#endif
fUseClip = false;
+ fUseMPD = false;
fAnimating = false;
fRotate = false;
fPerspAnim = false;
@@ -895,15 +893,16 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev
fAppMenu->setTitle("Global Settings");
int itemID;
- itemID =fAppMenu->appendList("Device Type", "Device Type", sinkID, 0,
- "Raster", "Picture", "OpenGL",
+ itemID = fAppMenu->appendList("Device Type", "Device Type", sinkID, 0,
+ "Raster",
+ "OpenGL",
#if SK_ANGLE
- "ANGLE",
+ "ANGLE",
#endif
#if SK_COMMAND_BUFFER
- "Command Buffer",
+ "Command Buffer",
#endif
- nullptr);
+ nullptr);
fAppMenu->assignKeyEquivalentToItem(itemID, 'd');
itemID = fAppMenu->appendTriState("AA", "AA", sinkID, fAAState);
fAppMenu->assignKeyEquivalentToItem(itemID, 'b');
@@ -1331,7 +1330,9 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) {
#endif
fPDFDocument.reset(SkDocument::CreatePDF(name.c_str()));
canvas = fPDFDocument->beginPage(this->width(), this->height());
- } else if (kPicture_DeviceType == fDeviceType) {
+ } else if (fSaveToSKP) {
+ canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0);
+ } else if (fUseMPD) {
canvas = fRecorder.beginRecording(9999, 9999, nullptr, 0);
} else {
canvas = this->INHERITED::beforeChildren(canvas);
@@ -1380,17 +1381,21 @@ void SampleWindow::afterChildren(SkCanvas* orig) {
SkImageEncoder::EncodeFile(name.c_str(), bmp,
SkImageEncoder::kPNG_Type, 100);
}
+ this->inval(nullptr);
+ return;
}
- if (kPicture_DeviceType == fDeviceType) {
+ if (fSaveToSKP) {
SkAutoTUnref<const SkPicture> picture(fRecorder.endRecording());
+ SkFILEWStream stream("sample_app.skp");
+ picture->serialize(&stream);
+ fSaveToSKP = false;
+ this->inval(nullptr);
+ return;
+ }
- if (fSaveToSKP) {
- SkFILEWStream stream("sample_app.skp");
- picture->serialize(&stream);
- fSaveToSKP = false;
- }
-
+ if (fUseMPD) {
+ SkAutoTUnref<const SkPicture> picture(fRecorder.endRecording());
if (true) {
if (true) {
SkImageInfo info;
@@ -1791,6 +1796,11 @@ bool SampleWindow::onHandleChar(SkUnichar uni) {
fSaveToSKP = true;
this->inval(nullptr);
return true;
+ case 'M':
+ fUseMPD = !fUseMPD;
+ this->inval(nullptr);
+ this->updateTitle();
+ return true;
#if SK_SUPPORT_GPU
case 'p':
{
@@ -2011,7 +2021,6 @@ void SampleWindow::loadView(SkView* view) {
static const char* gDeviceTypePrefix[] = {
"raster: ",
- "picture: ",
#if SK_SUPPORT_GPU
"opengl: ",
#if SK_ANGLE
@@ -2065,6 +2074,9 @@ void SampleWindow::updateTitle() {
if (this->getSurfaceProps().flags() & SkSurfaceProps::kUseDeviceIndependentFonts_Flag) {
title.prepend("<DIF> ");
}
+ if (fUseMPD) {
+ title.prepend("<MPD> ");
+ }
title.prepend(trystate_str(fLCDState, "LCD ", "lcd "));
title.prepend(trystate_str(fAAState, "AA ", "aa "));
« no previous file with comments | « samplecode/SampleApp.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698