16dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com/* 26dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com * Copyright 2012 Google Inc. 36dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com * 46dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com * Use of this source code is governed by a BSD-style license that can be 56dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com * found in the LICENSE file. 66dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com */ 76dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 86dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 96dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com#ifndef SKIMAGEWIDGET_H_ 106dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com#define SKIMAGEWIDGET_H_ 116dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 126dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com#include <QWidget> 136dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 146ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com#include "SkSurface.h" 156dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.comclass SkDebugger; 166dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 176dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.comclass SkImageWidget : public QWidget { 186dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com Q_OBJECT 196dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 206dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.compublic: 216dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com SkImageWidget(SkDebugger* debugger); 22a009083bd10353b91903cab84362b0e744d3b3b7skia.committer@gmail.com 236ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com virtual ~SkImageWidget() { 246ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com fSurface->unref(); 256ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com } 266dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 276dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com void draw() { 286dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com this->update(); 296dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com } 306dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 316dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com static const int kImageWidgetWidth = 256; 326dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com static const int kImageWidgetHeight = 256; 336dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 346dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.comsignals: 356dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com void drawComplete(); 366dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 376dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.comprotected: 386dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com void paintEvent(QPaintEvent* event); 396dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 406dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.comprivate: 416ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com SkDebugger* fDebugger; 426ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com char fPixels[kImageWidgetHeight * 4 * kImageWidgetWidth]; 436ede1fe62bbb4e98f4eff4e4afb1d20e1e070423robertphillips@google.com SkSurface* fSurface; 446dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com}; 456dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com 466dec8fcb4427c68649aede96864cff7c71df6393robertphillips@google.com#endif /* SKIMAGEWIDGET_H_ */ 47