Exemple #1
0
    void onDrawContent(SkCanvas* canvas) override {
        fFB.drawBG(canvas);
        if (fFB.getTriangle()) {
            fFB.drawTriangle(canvas, fPts);
        }
        else if (fIsRect) {
            fFB.drawRect(canvas, fPts);
        } else {
            fFB.drawLine(canvas, fPts);
        }
        fFB.drawFG(canvas);

        {
            SkString str;
            str.printf("%s %s %s %s",
                       fFB.getAA() ? "AA" : "BW",
                       FatBits::kHair_Style == fFB.getStyle() ? "Hair" : "Stroke",
                       fFB.getUseGPU() ? "GPU" : "CPU",
                       fFB.getUseClip() ? "clip" : "noclip");
            SkPaint paint;
            paint.setAntiAlias(true);
            paint.setTextSize(16);
            paint.setColor(SK_ColorBLUE);
            canvas->drawText(str.c_str(), str.size(), 10, 16, paint);
        }
    }
Exemple #2
0
 DrawLineView() {
     fFB.setWHZ(24, 16, 48);
     fPts[0].set(48, 48);
     fPts[1].set(48 * 5, 48 * 4);
     fPts[2].set(48 * 2, 48 * 6);
     fIsRect = false;
 }
Exemple #3
0
 DrawLineView() {
     fFB.setWHZ(24*2, 16*2, fZoom);
     fPts[0].set(1, 1);
     fPts[1].set(5, 4);
     fPts[2].set(2, 6);
     SkMatrix::MakeScale(SkIntToScalar(fZoom)).mapPoints(fPts, 3);
     fIsRect = false;
 }
 DrawLineView() {
     fFB.setWHZ(24, 16, kZoom);
     fPts[0].set(1, 1);
     fPts[1].set(5, 4);
     fPts[2].set(2, 6);
     SkMatrix::MakeScale(kZoom, kZoom).mapPoints(fPts, 3);
     fIsRect = false;
 }
Exemple #5
0
    SkView::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) override {
        SkPoint pt = { x, y };
        int index = -1;
        int count = fFB.getTriangle() ? 3 : 2;
        SkScalar tol = 12;

        for (int i = 0; i < count; ++i) {
            if (fPts[i].equalsWithinTolerance(pt, tol)) {
                index = i;
                break;
            }
        }
        return new IndexClick(this, index);
    }
Exemple #6
0
    void onDrawContent(SkCanvas* canvas) override {
        fFB.drawBG(canvas);
        if (fFB.getTriangle()) {
            fFB.drawTriangle(canvas, fPts);
        }
        else if (fIsRect) {
            fFB.drawRect(canvas, fPts);
        } else {
            fFB.drawLine(canvas, fPts);
        }
        fFB.drawFG(canvas);

        {
            SkString str;
            str.printf("%s %s %s",
                       fFB.getAA() ? "AA" : "BW",
                       FatBits::kHair_Style == fFB.getStyle() ? "Hair" : "Stroke",
                       fFB.getUseClip() ? "clip" : "noclip");
            SkPaint paint;
            paint.setColor(SK_ColorBLUE);
            SkFont font(nullptr, 16);
            canvas->drawString(str, 10, 16, font, paint);
        }
    }
Exemple #7
0
 bool onQuery(SkEvent* evt) override {
     if (SampleCode::TitleQ(*evt)) {
         SampleCode::TitleR(evt, "FatBits");
         return true;
     }
     SkUnichar uni;
     if (SampleCode::CharQ(*evt, &uni)) {
         switch (uni) {
             case 'c':
                 fFB.setUseClip(!fFB.getUseClip());
                 this->inval(NULL);
                 return true;
             case 'r':
                 fIsRect = !fIsRect;
                 this->inval(NULL);
                 return true;
             case 'o':
                 fFB.toggleRectAsOval();
                 this->inval(NULL);
                 return true;
             case 'x':
                 fFB.setGrid(!fFB.getGrid());
                 this->inval(NULL);
                 return true;
             case 's':
                 if (FatBits::kStroke_Style == fFB.getStyle()) {
                     this->setStyle(FatBits::kHair_Style);
                 } else {
                     this->setStyle(FatBits::kStroke_Style);
                 }
                 return true;
             case 'a':
                 fFB.setAA(!fFB.getAA());
                 this->inval(NULL);
                 return true;
             case 'w':
                 fFB.setShowSkeleton(!fFB.getShowSkeleton());
                 this->inval(NULL);
                 return true;
             case 'g':
                 fFB.setUseGPU(!fFB.getUseGPU());
                 this->inval(NULL);
                 return true;
             case 't':
                 fFB.setTriangle(!fFB.getTriangle());
                 this->inval(NULL);
                 return true;
         }
     }
     return this->INHERITED::onQuery(evt);
 }
Exemple #8
0
 void setStyle(FatBits::Style s) {
     fFB.setStyle(s);
     this->inval(NULL);
 }
Exemple #9
0
 bool onQuery(SkEvent* evt) override {
     if (SampleCode::TitleQ(*evt)) {
         SampleCode::TitleR(evt, "FatBits");
         return true;
     }
     SkUnichar uni;
     if (SampleCode::CharQ(*evt, &uni)) {
         switch (uni) {
             case 'c':
                 fFB.setUseClip(!fFB.getUseClip());
                 return true;
             case 'r':
                 fIsRect = !fIsRect;
                 return true;
             case 'o':
                 fFB.toggleRectAsOval();
                 return true;
             case 'x':
                 fFB.setGrid(!fFB.getGrid());
                 return true;
             case 's':
                 if (FatBits::kStroke_Style == fFB.getStyle()) {
                     this->setStyle(FatBits::kHair_Style);
                 } else {
                     this->setStyle(FatBits::kStroke_Style);
                 }
                 return true;
             case 'k': {
                 const SkPaint::Cap caps[] = {
                     SkPaint::kButt_Cap, SkPaint::kRound_Cap, SkPaint::kSquare_Cap,
                 };
                 fFB.fStrokeCap = caps[(fFB.fStrokeCap + 1) % 3];
                 return true;
             } break;
             case 'a':
                 fFB.setAA(!fFB.getAA());
                 return true;
             case 'w':
                 fFB.setShowSkeleton(!fFB.getShowSkeleton());
                 return true;
             case 'g':
                 fFB.togglePixelColors();
                 return true;
             case 't':
                 fFB.setTriangle(!fFB.getTriangle());
                 return true;
             case '-':
                 fFB.fStrokeWidth -= 0.125f;
                 return true;
             case '=':
                 fFB.fStrokeWidth += 0.125f;
                 return true;
         }
     }
     return this->INHERITED::onQuery(evt);
 }
Exemple #10
0
 void setStyle(FatBits::Style s) {
     fFB.setStyle(s);
 }