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

Unified Diff: platform_tools/nacl/src/nacl_sample.cpp

Issue 1036283002: Remove all code related to NaCl (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase Created 5 years, 9 months 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 | « platform_tools/nacl/src/nacl_interface.cpp ('k') | platform_tools/nacl/tests/index.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: platform_tools/nacl/src/nacl_sample.cpp
diff --git a/platform_tools/nacl/src/nacl_sample.cpp b/platform_tools/nacl/src/nacl_sample.cpp
deleted file mode 100644
index aca74f4247010378f63ef8cb9d29644edf281803..0000000000000000000000000000000000000000
--- a/platform_tools/nacl/src/nacl_sample.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-#include <cstdio>
-#include <string>
-
-#include "ppapi/cpp/completion_callback.h"
-#include "ppapi/cpp/graphics_2d.h"
-#include "ppapi/cpp/image_data.h"
-#include "ppapi/cpp/instance.h"
-#include "ppapi/cpp/module.h"
-#include "ppapi/cpp/var.h"
-
-#include "SampleApp.h"
-#include "SkApplication.h"
-#include "SkCanvas.h"
-#include "SkBitmap.h"
-#include "SkEvent.h"
-#include "SkWindow.h"
-
-class SkiaInstance;
-
-namespace {
-void FlushCallback(void* data, int32_t result);
-}
-
-SkiaInstance* gPluginInstance;
-extern int main(int, char**);
-
-class SkiaInstance : public pp::Instance {
- public:
- explicit SkiaInstance(PP_Instance instance) : pp::Instance(instance),
- fFlushPending(false),
- fGraphics2dContext(NULL),
- fPixelBuffer(NULL)
- {
- gPluginInstance = this;
- application_init();
- char* commandName = "SampleApp";
- fWindow = new SampleWindow(NULL, 0, &commandName, NULL);
- }
-
- virtual ~SkiaInstance() {
- gPluginInstance = NULL;
- delete fWindow;
- application_term();
- }
-
- virtual void HandleMessage(const pp::Var& var_message) {
- // Receive a message from javascript. Right now this just signals us to
- // get started.
- uint32_t width = 500;
- uint32_t height = 500;
- char buffer[2048];
- sprintf(buffer, "SetSize:%d,%d", width, height);
- PostMessage(buffer);
- }
-
- virtual void DidChangeView(const pp::Rect& position,
- const pp::Rect& clip) {
- if (position.size().width() == width() &&
- position.size().height() == height()) {
- return; // Size didn't change, no need to update anything.
- }
- // Create a new device context with the new size.
- DestroyContext();
- CreateContext(position.size());
- // Delete the old pixel buffer and create a new one.
- delete fPixelBuffer;
- fPixelBuffer = NULL;
- if (fGraphics2dContext != NULL) {
- fPixelBuffer = new pp::ImageData(this,
- PP_IMAGEDATAFORMAT_BGRA_PREMUL,
- fGraphics2dContext->size(),
- false);
- fWindow->resize(position.size().width(), position.size().height());
- fWindow->update(NULL);
- paint();
- }
- }
-
- // Indicate whether a flush is pending. This can only be called from the
- // main thread; it is not thread safe.
- bool flush_pending() const {
- return fFlushPending;
- }
- void set_flush_pending(bool flag) {
- fFlushPending = flag;
- }
-
- void paint() {
- if (fPixelBuffer) {
- // Draw some stuff. TODO(borenet): Actually have SampleApp draw into
- // the plugin area.
- uint32_t w = fPixelBuffer->size().width();
- uint32_t h = fPixelBuffer->size().height();
- uint32_t* data = (uint32_t*) fPixelBuffer->data();
- // Create a bitmap using the fPixelBuffer pixels
- SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, w, h);
- bitmap.setPixels(data);
- // Create a canvas with the bitmap as the backend
- SkCanvas canvas(bitmap);
-
- canvas.drawColor(SK_ColorBLUE);
- SkRect rect = SkRect::MakeXYWH(10, 10, 80, 80);
- SkPaint rect_paint;
- rect_paint.setStyle(SkPaint::kFill_Style);
- rect_paint.setColor(SK_ColorRED);
- canvas.drawRect(rect, rect_paint);
-
- FlushPixelBuffer();
- }
- }
-
-private:
- int width() const {
- return fPixelBuffer ? fPixelBuffer->size().width() : 0;
- }
-
- int height() const {
- return fPixelBuffer ? fPixelBuffer->size().height() : 0;
- }
-
- bool IsContextValid() const {
- return fGraphics2dContext != NULL;
- }
-
- void CreateContext(const pp::Size& size) {
- if (IsContextValid())
- return;
- fGraphics2dContext = new pp::Graphics2D(this, size, false);
- if (!BindGraphics(*fGraphics2dContext)) {
- SkDebugf("Couldn't bind the device context");
- }
- }
-
- void DestroyContext() {
- if (!IsContextValid())
- return;
- delete fGraphics2dContext;
- fGraphics2dContext = NULL;
- }
-
- void FlushPixelBuffer() {
- if (!IsContextValid())
- return;
- // Note that the pixel lock is held while the buffer is copied into the
- // device context and then flushed.
- fGraphics2dContext->PaintImageData(*fPixelBuffer, pp::Point());
- if (flush_pending())
- return;
- set_flush_pending(true);
- fGraphics2dContext->Flush(pp::CompletionCallback(&FlushCallback, this));
- }
-
- bool fFlushPending;
- pp::Graphics2D* fGraphics2dContext;
- pp::ImageData* fPixelBuffer;
- SampleWindow* fWindow;
-};
-
-class SkiaModule : public pp::Module {
-public:
- SkiaModule() : pp::Module() {}
- virtual ~SkiaModule() {}
-
- virtual pp::Instance* CreateInstance(PP_Instance instance) {
- gPluginInstance = new SkiaInstance(instance);
- return gPluginInstance;
- }
-};
-
-namespace {
-void FlushCallback(void* data, int32_t result) {
- static_cast<SkiaInstance*>(data)->set_flush_pending(false);
-}
-}
-
-namespace pp {
-Module* CreateModule() {
- return new SkiaModule();
-}
-} // namespace pp
-
-
-///////////////////////////////////////////
-///////////// SkOSWindow impl /////////////
-///////////////////////////////////////////
-
-void SkOSWindow::onSetTitle(const char title[])
-{
- char buffer[2048];
- sprintf(buffer, "SetTitle:%s", title);
- gPluginInstance->PostMessage(buffer);
-}
-
-void SkOSWindow::onHandleInval(const SkIRect& rect)
-{
- gPluginInstance->paint();
-}
-
-void SkOSWindow::onPDFSaved(const char title[], const char desc[],
- const char path[]) {
-}
-
-///////////////////////////////////////////
-/////////////// SkEvent impl //////////////
-///////////////////////////////////////////
-
-void SkEvent::SignalQueueTimer(SkMSec ms) {
-}
-
-void SkEvent::SignalNonEmptyQueue() {
-}
« no previous file with comments | « platform_tools/nacl/src/nacl_interface.cpp ('k') | platform_tools/nacl/tests/index.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698