зеркало из https://github.com/mozilla/moz-skia.git
99 строки
2.3 KiB
C++
99 строки
2.3 KiB
C++
|
#include "SampleCode.h"
|
||
|
#include "SkView.h"
|
||
|
#include "SkCanvas.h"
|
||
|
#include "SkBlurMaskFilter.h"
|
||
|
#include "SkCamera.h"
|
||
|
#include "SkColorFilter.h"
|
||
|
#include "SkColorPriv.h"
|
||
|
#include "SkDevice.h"
|
||
|
#include "SkGradientShader.h"
|
||
|
#include "SkImageDecoder.h"
|
||
|
#include "SkInterpolator.h"
|
||
|
#include "SkMaskFilter.h"
|
||
|
#include "SkPath.h"
|
||
|
#include "SkRegion.h"
|
||
|
#include "SkShader.h"
|
||
|
#include "SkShaderExtras.h"
|
||
|
#include "SkTime.h"
|
||
|
#include "SkTypeface.h"
|
||
|
#include "SkUtils.h"
|
||
|
#include "SkKey.h"
|
||
|
#include "SkXfermode.h"
|
||
|
#include "SkDrawFilter.h"
|
||
|
|
||
|
#include "test.h"
|
||
|
|
||
|
class TestsView : public SkView {
|
||
|
public:
|
||
|
skia::Test::Iter fIter;
|
||
|
|
||
|
TestsView() {}
|
||
|
|
||
|
protected:
|
||
|
// overrides from SkEventSink
|
||
|
virtual bool onQuery(SkEvent* evt) {
|
||
|
if (SampleCode::TitleQ(*evt)) {
|
||
|
SampleCode::TitleR(evt, "Tests");
|
||
|
return true;
|
||
|
}
|
||
|
return this->INHERITED::onQuery(evt);
|
||
|
}
|
||
|
|
||
|
void drawBG(SkCanvas* canvas) {
|
||
|
canvas->drawColor(SK_ColorWHITE);
|
||
|
}
|
||
|
|
||
|
virtual void onDraw(SkCanvas* canvas) {
|
||
|
this->drawBG(canvas);
|
||
|
|
||
|
skia::Test* test = fIter.next();
|
||
|
if (NULL == test) {
|
||
|
fIter.reset();
|
||
|
test = fIter.next();
|
||
|
}
|
||
|
|
||
|
SkIPoint size;
|
||
|
test->getSize(&size);
|
||
|
|
||
|
SkBitmap bitmap;
|
||
|
bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.fX, size.fY);
|
||
|
bitmap.allocPixels();
|
||
|
bitmap.eraseColor(0);
|
||
|
|
||
|
SkCanvas c(bitmap);
|
||
|
test->draw(&c);
|
||
|
|
||
|
canvas->drawBitmap(bitmap, SkIntToScalar(10), SkIntToScalar(10), NULL);
|
||
|
|
||
|
SkString str;
|
||
|
test->getString(skia::Test::kTitle, &str);
|
||
|
SkDebugf("--- %s\n", str.c_str());
|
||
|
delete test;
|
||
|
}
|
||
|
|
||
|
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
|
||
|
this->inval(NULL);
|
||
|
|
||
|
return this->INHERITED::onFindClickHandler(x, y);
|
||
|
}
|
||
|
|
||
|
virtual bool onClick(Click* click) {
|
||
|
this->inval(NULL);
|
||
|
return this->INHERITED::onClick(click);
|
||
|
}
|
||
|
|
||
|
virtual bool handleKey(SkKey key) {
|
||
|
this->inval(NULL);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
typedef SkView INHERITED;
|
||
|
};
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
static SkView* MyFactory() { return new TestsView; }
|
||
|
static SkViewRegister reg(MyFactory);
|
||
|
|