| Index: platform_tools/nacl/src/nacl_hello.cpp | 
| =================================================================== | 
| --- platform_tools/nacl/src/nacl_hello.cpp	(revision 9611) | 
| +++ platform_tools/nacl/src/nacl_hello.cpp	(working copy) | 
| @@ -15,11 +15,9 @@ | 
| #include "ppapi/cpp/rect.h" | 
| #include "ppapi/cpp/var.h" | 
|  | 
| -#include "SkBase64.h" | 
| #include "SkBitmap.h" | 
| #include "SkCanvas.h" | 
| #include "SkColor.h" | 
| -#include "SkDebugger.h" | 
| #include "SkGraphics.h" | 
| #include "SkStream.h" | 
| #include "SkString.h" | 
| @@ -31,16 +29,26 @@ | 
|  | 
| void FlushCallback(void* data, int32_t result); | 
|  | 
| +static void doDraw(SkCanvas* canvas, const SkPaint& paint, const char text[]) { | 
| +    canvas->drawColor(SK_ColorWHITE); | 
| +    SkPaint red; | 
| +    red.setColor(SK_ColorRED); | 
| +    canvas->drawCircle(150.0, 150.0, 100.0, red); | 
| +    SkRect bounds; | 
| +    canvas->getClipBounds(&bounds); | 
| +    canvas->drawText(text, strlen(text), | 
| +                     bounds.centerX(), bounds.centerY(), | 
| +                     paint); | 
| +} | 
| + | 
| // Skia's subclass of pp::Instance, our interface with the browser. | 
| class SkiaInstance : public pp::Instance { | 
| public: | 
| explicit SkiaInstance(PP_Instance instance) | 
| : pp::Instance(instance) | 
| , fCanvas(NULL) | 
| -        , fPicture(NULL) | 
| , fFlushLoopRunning(false) | 
| , fFlushPending(false) | 
| - | 
| { | 
| gPluginInstance = this; | 
| SkGraphics::Init(); | 
| @@ -53,92 +61,16 @@ | 
|  | 
| virtual void HandleMessage(const pp::Var& var_message) { | 
| // Receive a message from javascript. | 
| -        if (var_message.is_string()) { | 
| -            SkString msg(var_message.AsString().c_str()); | 
| -            if (msg.startsWith("init")) { | 
| -            } else if (msg.startsWith("LoadSKP")) { | 
| -                size_t startIndex = strlen("LoadSKP"); | 
| -                size_t dataSize = msg.size()/sizeof(char) - startIndex; | 
| -                SkBase64 decodedData; | 
| -                decodedData.decode(msg.c_str() + startIndex, dataSize); | 
| -                size_t decodedSize = 3 * (dataSize / 4); | 
| -                SkDebugf("Got size: %d\n", decodedSize); | 
| -                if (!decodedData.getData()) { | 
| -                    SkDebugf("Failed to decode SKP\n"); | 
| -                    return; | 
| -                } | 
| -                SkMemoryStream pictureStream(decodedData.getData(), decodedSize); | 
| -                fPicture = new SkPicture(&pictureStream); | 
| -                if (fPicture->width() == 0 || fPicture->height() == 0) { | 
| -                    SkDebugf("Failed to create SKP.\n"); | 
| -                    return; | 
| -                } | 
| -                fDebugger.loadPicture(fPicture); | 
| - | 
| -                // Set up the command list. | 
| -                SkTArray<SkString>* commands = fDebugger.getDrawCommandsAsStrings(); | 
| -                PostMessage("ClearCommands"); | 
| -                for (int i = 0; i < commands->count(); ++i) { | 
| -                    SkString addCommand("AddCommand:"); | 
| -                    addCommand.append((*commands)[i]); | 
| -                    PostMessage(addCommand.c_str()); | 
| -                } | 
| -                PostMessage("UpdateCommands"); | 
| - | 
| -                // Set the overview text. | 
| -                SkString overviewText; | 
| -                fDebugger.getOverviewText(NULL, 0.0, &overviewText, 1); | 
| -                overviewText.prepend("SetOverview:"); | 
| -                PostMessage(overviewText.c_str()); | 
| - | 
| -                // Draw the SKP. | 
| -                if (!fFlushLoopRunning) { | 
| -                    Paint(); | 
| -                } | 
| -            } else if (msg.startsWith("CommandSelected:")) { | 
| -                size_t startIndex = strlen("CommandSelected:"); | 
| -                int index = atoi(msg.c_str() + startIndex); | 
| -                fDebugger.setIndex(index); | 
| -                if (!fFlushLoopRunning) { | 
| -                    Paint(); | 
| -                } | 
| -            } else if (msg.startsWith("Rewind")) { | 
| -                fCanvas->clear(SK_ColorWHITE); | 
| -                fDebugger.setIndex(0); | 
| -                if (!fFlushLoopRunning) { | 
| -                    Paint(); | 
| -                } | 
| -            } else if (msg.startsWith("StepBack")) { | 
| -                fCanvas->clear(SK_ColorWHITE); | 
| -                int currentIndex = fDebugger.index(); | 
| -                if (currentIndex > 1) { | 
| -                    fDebugger.setIndex(currentIndex - 1); | 
| -                    if (!fFlushLoopRunning) { | 
| -                        Paint(); | 
| -                    } | 
| -                } | 
| -            } else if (msg.startsWith("Pause")) { | 
| -                // TODO(borenet) | 
| -            } else if (msg.startsWith("StepForward")) { | 
| -                int currentIndex = fDebugger.index(); | 
| -                if (currentIndex < fDebugger.getSize() -1) { | 
| -                    fDebugger.setIndex(currentIndex + 1); | 
| -                    if (!fFlushLoopRunning) { | 
| -                        Paint(); | 
| -                    } | 
| -                } | 
| -            } else if (msg.startsWith("Play")) { | 
| -                fDebugger.setIndex(fDebugger.getSize() - 1); | 
| -                if (!fFlushLoopRunning) { | 
| -                    Paint(); | 
| -                } | 
| -            } | 
| -        } | 
| } | 
|  | 
| void Paint() { | 
| if (!fImage.is_null()) { | 
| -            fDebugger.draw(fCanvas); | 
| +            SkPaint paint; | 
| +            paint.setAntiAlias(true); | 
| +            paint.setTextSize(SkIntToScalar(30)); | 
| +            paint.setTextAlign(SkPaint::kCenter_Align); | 
| +            doDraw(fCanvas, paint, "Hello"); | 
| + | 
| fDeviceContext.PaintImageData(fImage, pp::Point(0, 0)); | 
| if (!fFlushPending) { | 
| fFlushPending = true; | 
| @@ -158,7 +90,6 @@ | 
| } | 
| fWidth = position.size().width(); | 
| fHeight = position.size().height(); | 
| - | 
| fDeviceContext = pp::Graphics2D(this, pp::Size(fWidth, fHeight), false); | 
| if (!BindGraphics(fDeviceContext)) { | 
| SkDebugf("Couldn't bind the device context\n"); | 
| @@ -193,8 +124,6 @@ | 
|  | 
| SkBitmap fBitmap; | 
| SkCanvas* fCanvas; | 
| -    SkDebugger fDebugger; | 
| -    SkPicture* fPicture; | 
|  | 
| bool fFlushLoopRunning; | 
| bool fFlushPending; | 
|  |