зеркало из https://github.com/mozilla/moz-skia.git
update to SampleView
git-svn-id: http://skia.googlecode.com/svn/trunk@1252 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
Родитель
2ba4abbb31
Коммит
961ddb04a0
|
@ -1334,7 +1334,7 @@ bool SampleView::onQuery(SkEvent* evt) {
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TEST_GPIPEx
|
#define TEST_GPIPE
|
||||||
|
|
||||||
#ifdef TEST_GPIPE
|
#ifdef TEST_GPIPE
|
||||||
#include "SkGPipe.h"
|
#include "SkGPipe.h"
|
||||||
|
@ -1348,10 +1348,11 @@ public:
|
||||||
virtual void notifyWritten(size_t bytes);
|
virtual void notifyWritten(size_t bytes);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SkGPipeReader fReader;
|
SkGPipeReader fReader;
|
||||||
void* fBlock;
|
void* fBlock;
|
||||||
size_t fBlockSize;
|
size_t fBlockSize;
|
||||||
size_t fBytesWritten;
|
size_t fBytesWritten;
|
||||||
|
int fAtomsWritten;
|
||||||
SkGPipeReader::Status fStatus;
|
SkGPipeReader::Status fStatus;
|
||||||
|
|
||||||
size_t fTotalWritten;
|
size_t fTotalWritten;
|
||||||
|
@ -1362,13 +1363,15 @@ SimplePC::SimplePC(SkCanvas* target) : fReader(target) {
|
||||||
fBlockSize = fBytesWritten = 0;
|
fBlockSize = fBytesWritten = 0;
|
||||||
fStatus = SkGPipeReader::kDone_Status;
|
fStatus = SkGPipeReader::kDone_Status;
|
||||||
fTotalWritten = 0;
|
fTotalWritten = 0;
|
||||||
|
fAtomsWritten = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SimplePC::~SimplePC() {
|
SimplePC::~SimplePC() {
|
||||||
// SkASSERT(SkGPipeReader::kDone_Status == fStatus);
|
// SkASSERT(SkGPipeReader::kDone_Status == fStatus);
|
||||||
sk_free(fBlock);
|
sk_free(fBlock);
|
||||||
|
|
||||||
SkDebugf("--- %d bytes written to pipe, status %d\n", fTotalWritten, fStatus);
|
SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten,
|
||||||
|
fAtomsWritten, fStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* SimplePC::requestBlock(size_t minRequest, size_t* actual) {
|
void* SimplePC::requestBlock(size_t minRequest, size_t* actual) {
|
||||||
|
@ -1388,6 +1391,8 @@ void SimplePC::notifyWritten(size_t bytes) {
|
||||||
SkASSERT(SkGPipeReader::kError_Status != fStatus);
|
SkASSERT(SkGPipeReader::kError_Status != fStatus);
|
||||||
fBytesWritten += bytes;
|
fBytesWritten += bytes;
|
||||||
fTotalWritten += bytes;
|
fTotalWritten += bytes;
|
||||||
|
|
||||||
|
fAtomsWritten += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -28,33 +28,25 @@ static void testparse() {
|
||||||
SkParsePath::ToSVGString(p2, &str2);
|
SkParsePath::ToSVGString(p2, &str2);
|
||||||
}
|
}
|
||||||
|
|
||||||
class ArcsView : public SkView {
|
class ArcsView : public SampleView {
|
||||||
public:
|
public:
|
||||||
ArcsView()
|
ArcsView() {
|
||||||
{
|
|
||||||
testparse();
|
testparse();
|
||||||
fSweep = SkIntToScalar(100);
|
fSweep = SkIntToScalar(100);
|
||||||
|
this->setBGColor(0xFFDDDDDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// overrides from SkEventSink
|
// overrides from SkEventSink
|
||||||
virtual bool onQuery(SkEvent* evt)
|
virtual bool onQuery(SkEvent* evt) {
|
||||||
{
|
if (SampleCode::TitleQ(*evt)) {
|
||||||
if (SampleCode::TitleQ(*evt))
|
|
||||||
{
|
|
||||||
SampleCode::TitleR(evt, "Arcs");
|
SampleCode::TitleR(evt, "Arcs");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas)
|
static void drawRectWithLines(SkCanvas* canvas, const SkRect& r, const SkPaint& p) {
|
||||||
{
|
|
||||||
canvas->drawColor(0xFFDDDDDD);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void drawRectWithLines(SkCanvas* canvas, const SkRect& r, const SkPaint& p)
|
|
||||||
{
|
|
||||||
canvas->drawRect(r, p);
|
canvas->drawRect(r, p);
|
||||||
canvas->drawLine(r.fLeft, r.fTop, r.fRight, r.fBottom, p);
|
canvas->drawLine(r.fLeft, r.fTop, r.fRight, r.fBottom, p);
|
||||||
canvas->drawLine(r.fLeft, r.fBottom, r.fRight, r.fTop, p);
|
canvas->drawLine(r.fLeft, r.fBottom, r.fRight, r.fTop, p);
|
||||||
|
@ -63,8 +55,7 @@ protected:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_label(SkCanvas* canvas, const SkRect& rect,
|
static void draw_label(SkCanvas* canvas, const SkRect& rect,
|
||||||
int start, int sweep)
|
int start, int sweep) {
|
||||||
{
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
|
|
||||||
paint.setAntiAlias(true);
|
paint.setAntiAlias(true);
|
||||||
|
@ -79,8 +70,7 @@ protected:
|
||||||
rect.fBottom + paint.getTextSize() * 5/4, paint);
|
rect.fBottom + paint.getTextSize() * 5/4, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void drawArcs(SkCanvas* canvas)
|
static void drawArcs(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
SkRect r;
|
SkRect r;
|
||||||
SkScalar w = SkIntToScalar(75);
|
SkScalar w = SkIntToScalar(75);
|
||||||
|
@ -107,8 +97,7 @@ protected:
|
||||||
225, 90
|
225, 90
|
||||||
};
|
};
|
||||||
|
|
||||||
for (int i = 0; i < SK_ARRAY_COUNT(gAngles); i += 2)
|
for (int i = 0; i < SK_ARRAY_COUNT(gAngles); i += 2) {
|
||||||
{
|
|
||||||
paint.setColor(SK_ColorBLACK);
|
paint.setColor(SK_ColorBLACK);
|
||||||
drawRectWithLines(canvas, r, paint);
|
drawRectWithLines(canvas, r, paint);
|
||||||
|
|
||||||
|
@ -124,10 +113,7 @@ protected:
|
||||||
canvas->restore();
|
canvas->restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas)
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
fSweep = SampleCode::GetAnimScalar(SkIntToScalar(360)/24,
|
fSweep = SampleCode::GetAnimScalar(SkIntToScalar(360)/24,
|
||||||
SkIntToScalar(360));
|
SkIntToScalar(360));
|
||||||
// fSweep = SkFloatToScalar(359.99f);
|
// fSweep = SkFloatToScalar(359.99f);
|
||||||
|
@ -175,22 +161,20 @@ protected:
|
||||||
this->inval(NULL);
|
this->inval(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
|
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
|
||||||
{
|
|
||||||
// fSweep += SK_Scalar1;
|
// fSweep += SK_Scalar1;
|
||||||
this->inval(NULL);
|
this->inval(NULL);
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
return this->INHERITED::onFindClickHandler(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual bool onClick(Click* click)
|
virtual bool onClick(Click* click) {
|
||||||
{
|
|
||||||
return this->INHERITED::onClick(click);
|
return this->INHERITED::onClick(click);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SkScalar fSweep;
|
SkScalar fSweep;
|
||||||
|
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -3,9 +3,10 @@
|
||||||
#include "SkPath.h"
|
#include "SkPath.h"
|
||||||
#include "SkView.h"
|
#include "SkView.h"
|
||||||
|
|
||||||
class ComplexClipView : public SkView {
|
class ComplexClipView : public SampleView {
|
||||||
public:
|
public:
|
||||||
ComplexClipView() {
|
ComplexClipView() {
|
||||||
|
this->setBGColor(0xFFA0DDA0);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -18,11 +19,7 @@ protected:
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas) {
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
canvas->drawColor(SkColorSetRGB(0xA0,0xDD,0xA0));
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas) {
|
|
||||||
SkPath path;
|
SkPath path;
|
||||||
path.moveTo(SkIntToScalar(0), SkIntToScalar(50));
|
path.moveTo(SkIntToScalar(0), SkIntToScalar(50));
|
||||||
path.quadTo(SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(50), SkIntToScalar(0));
|
path.quadTo(SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(50), SkIntToScalar(0));
|
||||||
|
@ -62,7 +59,6 @@ protected:
|
||||||
clipB.close();
|
clipB.close();
|
||||||
SkColor colorB = SK_ColorRED;
|
SkColor colorB = SK_ColorRED;
|
||||||
|
|
||||||
drawBG(canvas);
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
paint.setAntiAlias(true);
|
paint.setAntiAlias(true);
|
||||||
|
|
||||||
|
@ -145,7 +141,7 @@ protected:
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
return this->INHERITED::onFindClickHandler(x, y);
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -10,8 +10,7 @@
|
||||||
#include "SkUtils.h"
|
#include "SkUtils.h"
|
||||||
#include "SkRandom.h"
|
#include "SkRandom.h"
|
||||||
|
|
||||||
static void addbump(SkPath* path, const SkPoint pts[2], SkScalar bump)
|
static void addbump(SkPath* path, const SkPoint pts[2], SkScalar bump) {
|
||||||
{
|
|
||||||
SkVector tang;
|
SkVector tang;
|
||||||
|
|
||||||
tang.setLength(pts[1].fX - pts[0].fX, pts[1].fY - pts[0].fY, bump);
|
tang.setLength(pts[1].fX - pts[0].fX, pts[1].fY - pts[0].fY, bump);
|
||||||
|
@ -21,8 +20,7 @@ static void addbump(SkPath* path, const SkPoint pts[2], SkScalar bump)
|
||||||
path->lineTo(pts[1]);
|
path->lineTo(pts[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void subdivide(SkPath* path, SkScalar bump)
|
static void subdivide(SkPath* path, SkScalar bump) {
|
||||||
{
|
|
||||||
SkPath::Iter iter(*path, false);
|
SkPath::Iter iter(*path, false);
|
||||||
SkPoint pts[4];
|
SkPoint pts[4];
|
||||||
SkPath tmp;
|
SkPath tmp;
|
||||||
|
@ -46,8 +44,7 @@ FINISH:
|
||||||
path->swap(tmp);
|
path->swap(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
static SkIPoint* getpts(const SkPath& path, int* count)
|
static SkIPoint* getpts(const SkPath& path, int* count) {
|
||||||
{
|
|
||||||
SkPoint pts[4];
|
SkPoint pts[4];
|
||||||
int n = 1;
|
int n = 1;
|
||||||
SkIPoint* array;
|
SkIPoint* array;
|
||||||
|
@ -92,15 +89,13 @@ FINISHED2:
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
static SkScalar nextScalarRange(SkRandom& rand, SkScalar min, SkScalar max)
|
static SkScalar nextScalarRange(SkRandom& rand, SkScalar min, SkScalar max) {
|
||||||
{
|
|
||||||
return min + SkScalarMul(rand.nextUScalar1(), max - min);
|
return min + SkScalarMul(rand.nextUScalar1(), max - min);
|
||||||
}
|
}
|
||||||
|
|
||||||
class CullView : public SkView {
|
class CullView : public SampleView {
|
||||||
public:
|
public:
|
||||||
CullView()
|
CullView() {
|
||||||
{
|
|
||||||
fClip.set(0, 0, SkIntToScalar(160), SkIntToScalar(160));
|
fClip.set(0, 0, SkIntToScalar(160), SkIntToScalar(160));
|
||||||
|
|
||||||
SkRandom rand;
|
SkRandom rand;
|
||||||
|
@ -119,51 +114,25 @@ public:
|
||||||
subdivide(&fPath, bump);
|
subdivide(&fPath, bump);
|
||||||
subdivide(&fPath, bump);
|
subdivide(&fPath, bump);
|
||||||
fPoints = getpts(fPath, &fPtCount);
|
fPoints = getpts(fPath, &fPtCount);
|
||||||
|
|
||||||
|
this->setBGColor(0xFFDDDDDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~CullView()
|
virtual ~CullView() {
|
||||||
{
|
|
||||||
delete[] fPoints;
|
delete[] fPoints;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// overrides from SkEventSink
|
// overrides from SkEventSink
|
||||||
virtual bool onQuery(SkEvent* evt)
|
virtual bool onQuery(SkEvent* evt) {
|
||||||
{
|
if (SampleCode::TitleQ(*evt)) {
|
||||||
if (SampleCode::TitleQ(*evt))
|
|
||||||
{
|
|
||||||
SampleCode::TitleR(evt, "Culling");
|
SampleCode::TitleR(evt, "Culling");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas)
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
canvas->drawColor(0xFFDDDDDD);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
SkPaint paint;
|
|
||||||
|
|
||||||
paint.setAntiAliasOn(true);
|
|
||||||
paint.setTextSize(SkIntToScalar(20));
|
|
||||||
paint.setTypeface(SkTypeface::Create("serif", SkTypeface::kBoldItalic))->unref();
|
|
||||||
|
|
||||||
uint16_t text[20];
|
|
||||||
|
|
||||||
text[0] = 'H';
|
|
||||||
text[1] = 'i';
|
|
||||||
text[2] = ' ';
|
|
||||||
for (int i = 3; i < 20; i++)
|
|
||||||
text[i] = 0x3040 + i;
|
|
||||||
canvas->drawText16(text, 20, SkIntToScalar(20), SkIntToScalar(20), paint);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas)
|
|
||||||
{
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkAutoCanvasRestore ar(canvas, true);
|
SkAutoCanvasRestore ar(canvas, true);
|
||||||
|
|
||||||
canvas->translate( SkScalarHalf(this->width() - fClip.width()),
|
canvas->translate( SkScalarHalf(this->width() - fClip.width()),
|
||||||
|
@ -204,23 +173,13 @@ protected:
|
||||||
this->inval(NULL);
|
this->inval(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
|
|
||||||
{
|
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool onClick(Click* click)
|
|
||||||
{
|
|
||||||
return this->INHERITED::onClick(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SkRect fClip;
|
SkRect fClip;
|
||||||
SkIPoint* fPoints;
|
SkIPoint* fPoints;
|
||||||
SkPath fPath;
|
SkPath fPath;
|
||||||
int fPtCount;
|
int fPtCount;
|
||||||
|
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -62,8 +62,7 @@ static void draw_sweep(SkCanvas* c, int width, int height, SkScalar angle) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void make_bm(SkBitmap* bm)
|
static void make_bm(SkBitmap* bm) {
|
||||||
{
|
|
||||||
bm->setConfig(SkBitmap::kARGB_8888_Config, 100, 100);
|
bm->setConfig(SkBitmap::kARGB_8888_Config, 100, 100);
|
||||||
bm->allocPixels();
|
bm->allocPixels();
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -109,7 +108,7 @@ static void pre_dither(const SkBitmap& bm) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DitherView : public SkView {
|
class DitherView : public SampleView {
|
||||||
public:
|
public:
|
||||||
SkBitmap fBM, fBMPreDither, fBM16;
|
SkBitmap fBM, fBMPreDither, fBM16;
|
||||||
SkScalar fAngle;
|
SkScalar fAngle;
|
||||||
|
@ -121,6 +120,8 @@ public:
|
||||||
fBM.copyTo(&fBM16, SkBitmap::kARGB_4444_Config);
|
fBM.copyTo(&fBM16, SkBitmap::kARGB_4444_Config);
|
||||||
|
|
||||||
fAngle = 0;
|
fAngle = 0;
|
||||||
|
|
||||||
|
this->setBGColor(0xFF181818);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -133,14 +134,7 @@ protected:
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas) {
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
// canvas->drawColor(0xFFDDDDDD);
|
|
||||||
canvas->drawColor(0xFF181818);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas) {
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
SkScalar x = SkIntToScalar(10);
|
SkScalar x = SkIntToScalar(10);
|
||||||
SkScalar y = SkIntToScalar(10);
|
SkScalar y = SkIntToScalar(10);
|
||||||
|
@ -173,20 +167,8 @@ protected:
|
||||||
this->inval(NULL);
|
this->inval(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
|
|
||||||
{
|
|
||||||
// fSweep += SK_Scalar1;
|
|
||||||
this->inval(NULL);
|
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool onClick(Click* click)
|
|
||||||
{
|
|
||||||
return this->INHERITED::onClick(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#define WIDTH 200
|
#define WIDTH 200
|
||||||
#define HEIGHT 200
|
#define HEIGHT 200
|
||||||
|
|
||||||
class LooperView : public SkView {
|
class LooperView : public SampleView {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SkLayerDrawLooper* fLooper;
|
SkLayerDrawLooper* fLooper;
|
||||||
|
@ -48,6 +48,8 @@ public:
|
||||||
paint->setMaskFilter(mf)->unref();
|
paint->setMaskFilter(mf)->unref();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this->setBGColor(0xFFDDDDDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~LooperView() {
|
virtual ~LooperView() {
|
||||||
|
@ -64,14 +66,7 @@ protected:
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas) {
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
canvas->drawColor(0xFFDDDDDD);
|
|
||||||
// canvas->drawColor(SK_ColorWHITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas) {
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
paint.setTextSize(SkIntToScalar(72));
|
paint.setTextSize(SkIntToScalar(72));
|
||||||
paint.setLooper(fLooper);
|
paint.setLooper(fLooper);
|
||||||
|
@ -86,17 +81,8 @@ protected:
|
||||||
paint);
|
paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
|
|
||||||
this->inval(NULL);
|
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool onClick(Click* click) {
|
|
||||||
return this->INHERITED::onClick(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -19,11 +19,10 @@
|
||||||
#include "SkTypeface.h"
|
#include "SkTypeface.h"
|
||||||
#include "SkXfermode.h"
|
#include "SkXfermode.h"
|
||||||
|
|
||||||
class EmbossView : public SkView {
|
class EmbossView : public SampleView {
|
||||||
SkEmbossMaskFilter::Light fLight;
|
SkEmbossMaskFilter::Light fLight;
|
||||||
public:
|
public:
|
||||||
EmbossView()
|
EmbossView() {
|
||||||
{
|
|
||||||
fLight.fDirection[0] = SK_Scalar1;
|
fLight.fDirection[0] = SK_Scalar1;
|
||||||
fLight.fDirection[1] = SK_Scalar1;
|
fLight.fDirection[1] = SK_Scalar1;
|
||||||
fLight.fDirection[2] = SK_Scalar1;
|
fLight.fDirection[2] = SK_Scalar1;
|
||||||
|
@ -33,25 +32,15 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// overrides from SkEventSink
|
// overrides from SkEventSink
|
||||||
virtual bool onQuery(SkEvent* evt)
|
virtual bool onQuery(SkEvent* evt) {
|
||||||
{
|
if (SampleCode::TitleQ(*evt)) {
|
||||||
if (SampleCode::TitleQ(*evt))
|
|
||||||
{
|
|
||||||
SampleCode::TitleR(evt, "Emboss");
|
SampleCode::TitleR(evt, "Emboss");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas)
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
canvas->drawColor(SK_ColorWHITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas)
|
|
||||||
{
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
|
|
||||||
paint.setAntiAlias(true);
|
paint.setAntiAlias(true);
|
||||||
|
@ -67,7 +56,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -9,13 +9,15 @@
|
||||||
#include "SkShader.h"
|
#include "SkShader.h"
|
||||||
#include "SkUtils.h"
|
#include "SkUtils.h"
|
||||||
|
|
||||||
class FillTypeView : public SkView {
|
class FillTypeView : public SampleView {
|
||||||
SkPath fPath;
|
SkPath fPath;
|
||||||
public:
|
public:
|
||||||
FillTypeView() {
|
FillTypeView() {
|
||||||
const SkScalar radius = SkIntToScalar(45);
|
const SkScalar radius = SkIntToScalar(45);
|
||||||
fPath.addCircle(SkIntToScalar(50), SkIntToScalar(50), radius);
|
fPath.addCircle(SkIntToScalar(50), SkIntToScalar(50), radius);
|
||||||
fPath.addCircle(SkIntToScalar(100), SkIntToScalar(100), radius);
|
fPath.addCircle(SkIntToScalar(100), SkIntToScalar(100), radius);
|
||||||
|
|
||||||
|
this->setBGColor(0xFFDDDDDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -28,10 +30,6 @@ protected:
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas) {
|
|
||||||
canvas->drawColor(0xFFDDDDDD);
|
|
||||||
}
|
|
||||||
|
|
||||||
void showPath(SkCanvas* canvas, int x, int y, SkPath::FillType ft,
|
void showPath(SkCanvas* canvas, int x, int y, SkPath::FillType ft,
|
||||||
SkScalar scale, const SkPaint& paint) {
|
SkScalar scale, const SkPaint& paint) {
|
||||||
|
|
||||||
|
@ -60,9 +58,7 @@ protected:
|
||||||
scale, paint);
|
scale, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas) {
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
drawBG(canvas);
|
|
||||||
|
|
||||||
canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
|
canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
|
||||||
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
|
@ -83,16 +79,8 @@ protected:
|
||||||
showFour(canvas, scale, paint);
|
showFour(canvas, scale, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
|
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool onClick(Click* click) {
|
|
||||||
return this->INHERITED::onClick(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -14,8 +14,7 @@
|
||||||
#include "SkColorFilter.h"
|
#include "SkColorFilter.h"
|
||||||
#include "SkDither.h"
|
#include "SkDither.h"
|
||||||
|
|
||||||
static void make_bm(SkBitmap* bm)
|
static void make_bm(SkBitmap* bm) {
|
||||||
{
|
|
||||||
const SkColor colors[] = {
|
const SkColor colors[] = {
|
||||||
SK_ColorRED, SK_ColorGREEN,
|
SK_ColorRED, SK_ColorGREEN,
|
||||||
SK_ColorBLUE, SK_ColorWHITE
|
SK_ColorBLUE, SK_ColorWHITE
|
||||||
|
@ -32,8 +31,7 @@ static void make_bm(SkBitmap* bm)
|
||||||
}
|
}
|
||||||
|
|
||||||
static SkScalar draw_bm(SkCanvas* canvas, const SkBitmap& bm,
|
static SkScalar draw_bm(SkCanvas* canvas, const SkBitmap& bm,
|
||||||
SkScalar x, SkScalar y, SkPaint* paint)
|
SkScalar x, SkScalar y, SkPaint* paint) {
|
||||||
{
|
|
||||||
#if 1
|
#if 1
|
||||||
canvas->drawBitmap(bm, x, y, paint);
|
canvas->drawBitmap(bm, x, y, paint);
|
||||||
return SkIntToScalar(bm.width()) * 5/4;
|
return SkIntToScalar(bm.width()) * 5/4;
|
||||||
|
@ -52,8 +50,7 @@ static SkScalar draw_bm(SkCanvas* canvas, const SkBitmap& bm,
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static SkScalar draw_set(SkCanvas* c, const SkBitmap& bm, SkScalar x, SkPaint* p)
|
static SkScalar draw_set(SkCanvas* c, const SkBitmap& bm, SkScalar x, SkPaint* p) {
|
||||||
{
|
|
||||||
x += draw_bm(c, bm, x, 0, p);
|
x += draw_bm(c, bm, x, 0, p);
|
||||||
p->setFilterBitmap(true);
|
p->setFilterBitmap(true);
|
||||||
x += draw_bm(c, bm, x, 0, p);
|
x += draw_bm(c, bm, x, 0, p);
|
||||||
|
@ -71,8 +68,7 @@ static const char* gConfigNames[] = {
|
||||||
"8888"
|
"8888"
|
||||||
};
|
};
|
||||||
|
|
||||||
static SkScalar draw_row(SkCanvas* canvas, const SkBitmap& bm)
|
static SkScalar draw_row(SkCanvas* canvas, const SkBitmap& bm) {
|
||||||
{
|
|
||||||
SkAutoCanvasRestore acr(canvas, true);
|
SkAutoCanvasRestore acr(canvas, true);
|
||||||
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
|
@ -94,39 +90,30 @@ static SkScalar draw_row(SkCanvas* canvas, const SkBitmap& bm)
|
||||||
return x * scale / 3;
|
return x * scale / 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
class FilterView : public SkView {
|
class FilterView : public SampleView {
|
||||||
public:
|
public:
|
||||||
SkBitmap fBM8, fBM4444, fBM16, fBM32;
|
SkBitmap fBM8, fBM4444, fBM16, fBM32;
|
||||||
|
|
||||||
FilterView()
|
FilterView() {
|
||||||
{
|
|
||||||
make_bm(&fBM8);
|
make_bm(&fBM8);
|
||||||
fBM8.copyTo(&fBM4444, SkBitmap::kARGB_4444_Config);
|
fBM8.copyTo(&fBM4444, SkBitmap::kARGB_4444_Config);
|
||||||
fBM8.copyTo(&fBM16, SkBitmap::kRGB_565_Config);
|
fBM8.copyTo(&fBM16, SkBitmap::kRGB_565_Config);
|
||||||
fBM8.copyTo(&fBM32, SkBitmap::kARGB_8888_Config);
|
fBM8.copyTo(&fBM32, SkBitmap::kARGB_8888_Config);
|
||||||
|
|
||||||
|
this->setBGColor(0xFFDDDDDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// overrides from SkEventSink
|
// overrides from SkEventSink
|
||||||
virtual bool onQuery(SkEvent* evt)
|
virtual bool onQuery(SkEvent* evt) {
|
||||||
{
|
if (SampleCode::TitleQ(*evt)) {
|
||||||
if (SampleCode::TitleQ(*evt))
|
|
||||||
{
|
|
||||||
SampleCode::TitleR(evt, "Filter");
|
SampleCode::TitleR(evt, "Filter");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas)
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
canvas->drawColor(0xFFDDDDDD);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas)
|
|
||||||
{
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkScalar x = SkIntToScalar(10);
|
SkScalar x = SkIntToScalar(10);
|
||||||
SkScalar y = SkIntToScalar(10);
|
SkScalar y = SkIntToScalar(10);
|
||||||
|
|
||||||
|
@ -140,20 +127,8 @@ protected:
|
||||||
draw_row(canvas, fBM32);
|
draw_row(canvas, fBM32);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
|
|
||||||
{
|
|
||||||
// fSweep += SK_Scalar1;
|
|
||||||
this->inval(NULL);
|
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool onClick(Click* click)
|
|
||||||
{
|
|
||||||
return this->INHERITED::onClick(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -17,7 +17,7 @@ static const char* gNames[] = {
|
||||||
"/skimages/background_01.png"
|
"/skimages/background_01.png"
|
||||||
};
|
};
|
||||||
|
|
||||||
class Filter2View : public SkView {
|
class Filter2View : public SampleView {
|
||||||
public:
|
public:
|
||||||
SkBitmap* fBitmaps;
|
SkBitmap* fBitmaps;
|
||||||
int fBitmapCount;
|
int fBitmapCount;
|
||||||
|
@ -38,6 +38,8 @@ public:
|
||||||
SkImageDecoder::kDecodePixels_Mode, NULL);
|
SkImageDecoder::kDecodePixels_Mode, NULL);
|
||||||
}
|
}
|
||||||
fCurrIndex = 0;
|
fCurrIndex = 0;
|
||||||
|
|
||||||
|
this->setBGColor(SK_ColorGRAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~Filter2View() {
|
virtual ~Filter2View() {
|
||||||
|
@ -56,15 +58,7 @@ protected:
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas) {
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
// canvas->drawColor(0xFFDDDDDD);
|
|
||||||
canvas->drawColor(SK_ColorGRAY);
|
|
||||||
// canvas->drawColor(SK_ColorWHITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas) {
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
canvas->translate(SkIntToScalar(10), SkIntToScalar(50));
|
canvas->translate(SkIntToScalar(10), SkIntToScalar(50));
|
||||||
|
|
||||||
const SkScalar W = SkIntToScalar(fBitmaps[0].width() + 1);
|
const SkScalar W = SkIntToScalar(fBitmaps[0].width() + 1);
|
||||||
|
@ -112,7 +106,7 @@ protected:
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -6,8 +6,7 @@
|
||||||
|
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
||||||
static void call_measure()
|
static void call_measure() {
|
||||||
{
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
uint16_t text[32];
|
uint16_t text[32];
|
||||||
SkRandom rand;
|
SkRandom rand;
|
||||||
|
@ -17,8 +16,7 @@ static void call_measure()
|
||||||
for (int j = 0; j < SK_ARRAY_COUNT(text); j++)
|
for (int j = 0; j < SK_ARRAY_COUNT(text); j++)
|
||||||
text[j] = (uint16_t)((rand.nextU() & 0xFF) + 32);
|
text[j] = (uint16_t)((rand.nextU() & 0xFF) + 32);
|
||||||
|
|
||||||
for (int i = 9; i < 36; i++)
|
for (int i = 9; i < 36; i++) {
|
||||||
{
|
|
||||||
SkPaint::FontMetrics m;
|
SkPaint::FontMetrics m;
|
||||||
|
|
||||||
paint.setTextSize(SkIntToScalar(i));
|
paint.setTextSize(SkIntToScalar(i));
|
||||||
|
@ -27,8 +25,7 @@ static void call_measure()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void call_draw(SkCanvas* canvas)
|
static void call_draw(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
SkPaint paint;
|
SkPaint paint;
|
||||||
uint16_t text[32];
|
uint16_t text[32];
|
||||||
SkRandom rand;
|
SkRandom rand;
|
||||||
|
@ -55,28 +52,24 @@ static void call_draw(SkCanvas* canvas)
|
||||||
|
|
||||||
static bool gDone;
|
static bool gDone;
|
||||||
|
|
||||||
static void* measure_proc(void* context)
|
static void* measure_proc(void* context) {
|
||||||
{
|
while (!gDone) {
|
||||||
while (!gDone)
|
|
||||||
{
|
|
||||||
call_measure();
|
call_measure();
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void* draw_proc(void* context)
|
static void* draw_proc(void* context) {
|
||||||
{
|
|
||||||
SkBitmap* bm = (SkBitmap*)context;
|
SkBitmap* bm = (SkBitmap*)context;
|
||||||
SkCanvas canvas(*bm);
|
SkCanvas canvas(*bm);
|
||||||
|
|
||||||
while (!gDone)
|
while (!gDone) {
|
||||||
{
|
|
||||||
call_draw(&canvas);
|
call_draw(&canvas);
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
class FontCacheView : public SkView {
|
class FontCacheView : public SampleView {
|
||||||
public:
|
public:
|
||||||
enum { N = 4 };
|
enum { N = 4 };
|
||||||
|
|
||||||
|
@ -84,11 +77,9 @@ public:
|
||||||
pthread_t fDThreads[N];
|
pthread_t fDThreads[N];
|
||||||
SkBitmap fBitmaps[N];
|
SkBitmap fBitmaps[N];
|
||||||
|
|
||||||
FontCacheView()
|
FontCacheView() {
|
||||||
{
|
|
||||||
gDone = false;
|
gDone = false;
|
||||||
for (int i = 0; i < N; i++)
|
for (int i = 0; i < N; i++) {
|
||||||
{
|
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
status = pthread_create(&fMThreads[i], NULL, measure_proc, NULL);
|
status = pthread_create(&fMThreads[i], NULL, measure_proc, NULL);
|
||||||
|
@ -99,13 +90,12 @@ public:
|
||||||
status = pthread_create(&fDThreads[i], NULL, draw_proc, &fBitmaps[i]);
|
status = pthread_create(&fDThreads[i], NULL, draw_proc, &fBitmaps[i]);
|
||||||
SkASSERT(0 == status);
|
SkASSERT(0 == status);
|
||||||
}
|
}
|
||||||
|
this->setBGColor(0xFFDDDDDD);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~FontCacheView()
|
virtual ~FontCacheView() {
|
||||||
{
|
|
||||||
gDone = true;
|
gDone = true;
|
||||||
for (int i = 0; i < N; i++)
|
for (int i = 0; i < N; i++) {
|
||||||
{
|
|
||||||
void* ret;
|
void* ret;
|
||||||
int status = pthread_join(fMThreads[i], &ret);
|
int status = pthread_join(fMThreads[i], &ret);
|
||||||
SkASSERT(0 == status);
|
SkASSERT(0 == status);
|
||||||
|
@ -116,49 +106,26 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// overrides from SkEventSink
|
// overrides from SkEventSink
|
||||||
virtual bool onQuery(SkEvent* evt)
|
virtual bool onQuery(SkEvent* evt) {
|
||||||
{
|
if (SampleCode::TitleQ(*evt)) {
|
||||||
if (SampleCode::TitleQ(*evt))
|
|
||||||
{
|
|
||||||
SampleCode::TitleR(evt, "FontCache");
|
SampleCode::TitleR(evt, "FontCache");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas)
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
canvas->drawColor(0xFFDDDDDD);
|
|
||||||
// canvas->drawColor(SK_ColorWHITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas)
|
|
||||||
{
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkScalar x = 0;
|
SkScalar x = 0;
|
||||||
SkScalar y = 0;
|
SkScalar y = 0;
|
||||||
for (int i = 0; i < N; i++)
|
for (int i = 0; i < N; i++) {
|
||||||
{
|
|
||||||
canvas->drawBitmap(fBitmaps[i], x, y);
|
canvas->drawBitmap(fBitmaps[i], x, y);
|
||||||
x += SkIntToScalar(fBitmaps[i].width());
|
x += SkIntToScalar(fBitmaps[i].width());
|
||||||
}
|
}
|
||||||
this->inval(NULL);
|
this->inval(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
|
|
||||||
{
|
|
||||||
this->inval(NULL);
|
|
||||||
return this->INHERITED::onFindClickHandler(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool onClick(Click* click)
|
|
||||||
{
|
|
||||||
return this->INHERITED::onClick(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -23,34 +23,24 @@
|
||||||
#include "SkColorPriv.h"
|
#include "SkColorPriv.h"
|
||||||
#include "SkImageDecoder.h"
|
#include "SkImageDecoder.h"
|
||||||
|
|
||||||
class LinesView : public SkView {
|
class LinesView : public SampleView {
|
||||||
public:
|
public:
|
||||||
LinesView() {}
|
LinesView() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// overrides from SkEventSink
|
// overrides from SkEventSink
|
||||||
virtual bool onQuery(SkEvent* evt)
|
virtual bool onQuery(SkEvent* evt) {
|
||||||
{
|
if (SampleCode::TitleQ(*evt)) {
|
||||||
if (SampleCode::TitleQ(*evt))
|
|
||||||
{
|
|
||||||
SampleCode::TitleR(evt, "Lines");
|
SampleCode::TitleR(evt, "Lines");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return this->INHERITED::onQuery(evt);
|
return this->INHERITED::onQuery(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawBG(SkCanvas* canvas)
|
|
||||||
{
|
|
||||||
// canvas->drawColor(0xFFDDDDDD);
|
|
||||||
canvas->drawColor(SK_ColorWHITE);
|
|
||||||
// canvas->drawColor(SK_ColorBLACK);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
0x1F * x + 0x1F * (32 - x)
|
0x1F * x + 0x1F * (32 - x)
|
||||||
*/
|
*/
|
||||||
void drawRings(SkCanvas* canvas)
|
void drawRings(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
canvas->scale(SkIntToScalar(1)/2, SkIntToScalar(1)/2);
|
canvas->scale(SkIntToScalar(1)/2, SkIntToScalar(1)/2);
|
||||||
|
|
||||||
SkRect r;
|
SkRect r;
|
||||||
|
@ -67,10 +57,7 @@ protected:
|
||||||
canvas->drawRect(r, paint);
|
canvas->drawRect(r, paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void onDraw(SkCanvas* canvas)
|
virtual void onDrawContent(SkCanvas* canvas) {
|
||||||
{
|
|
||||||
this->drawBG(canvas);
|
|
||||||
|
|
||||||
SkBitmap bm;
|
SkBitmap bm;
|
||||||
SkImageDecoder::DecodeFile("/kill.gif", &bm);
|
SkImageDecoder::DecodeFile("/kill.gif", &bm);
|
||||||
canvas->drawBitmap(bm, 0, 0, NULL);
|
canvas->drawBitmap(bm, 0, 0, NULL);
|
||||||
|
@ -104,8 +91,7 @@ protected:
|
||||||
canvas->drawLine(x, y, x + SkIntToScalar(90), y + SkIntToScalar(90), paint);
|
canvas->drawLine(x, y, x + SkIntToScalar(90), y + SkIntToScalar(90), paint);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y)
|
virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) {
|
||||||
{
|
|
||||||
fAlpha = SkScalarRound(y);
|
fAlpha = SkScalarRound(y);
|
||||||
this->inval(NULL);
|
this->inval(NULL);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -113,7 +99,7 @@ protected:
|
||||||
private:
|
private:
|
||||||
|
|
||||||
int fAlpha;
|
int fAlpha;
|
||||||
typedef SkView INHERITED;
|
typedef SampleView INHERITED;
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
Загрузка…
Ссылка в новой задаче