void onDrawContent(SkCanvas* canvas) override { test_huge_stroke(canvas); return; canvas->translate(SkIntToScalar(10), SkIntToScalar(10)); SkPaint paint; paint.setAntiAlias(true); if (true) { canvas->drawColor(SK_ColorBLACK); paint.setTextSize(24); paint.setColor(SK_ColorWHITE); canvas->translate(10, 30); static const SkBlurStyle gStyle[] = { kNormal_SkBlurStyle, kInner_SkBlurStyle, kOuter_SkBlurStyle, kSolid_SkBlurStyle, }; for (int x = 0; x < 5; x++) { SkScalar sigma = SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(4)); for (int y = 0; y < 10; y++) { if (x) { paint.setMaskFilter(SkBlurMaskFilter::Make(gStyle[x - 1], sigma)); } canvas->drawString("Title Bar", x*SkIntToScalar(100), y*SkIntToScalar(30), paint); sigma *= 0.75f; } } return; } paint.setColor(SK_ColorBLUE); #if 1 SkPath p; float r = rand.nextUScalar1() + 0.5f; SkScalar x = 0, y = 0; p.moveTo(x, y); #if 0 p.cubicTo(x-75*r, y+75*r, x-40*r, y+125*r, x, y+85*r); p.cubicTo(x+40*r, y+125*r, x+75*r, y+75*r, x, y); #else p.cubicTo(x+75*r, y+75*r, x+40*r, y+125*r, x, y+85*r); p.cubicTo(x-40*r, y+125*r, x-75*r, y+75*r, x, y); #endif p.close(); fPath = p; fPath.offset(100, 0); #endif fPath.setFillType(SkPath::kWinding_FillType); drawSet(canvas, &paint); canvas->translate(0, fPath.getBounds().height() * 5 / 4); fPath.setFillType(SkPath::kEvenOdd_FillType); drawSet(canvas, &paint); }
int initialization(int user_input) { // Initialize SDL's subsystems - in this case, only video. if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) { fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError()); exit(1); } // Register SDL_Quit to be called at exit; makes sure things are // cleaned up when we quit. atexit(SDL_Quit); // Attempt to create a 640x480 window with 32bit pixels. screen = SDL_SetVideoMode(sizeX, sizeY, 32, SDL_SWSURFACE); // If we fail, return error. if ( screen == NULL ) { fprintf(stderr, "Unable to set 640x480 video: %s\n", SDL_GetError()); exit(1); } offset = 0; zoom_factor = 1; while (1) //loop forever { if (user_input == 1) { drawSet(zoom_factor, offset); } else if (user_input == 2) { drawSet(zoom_factor, offset); zoom_factor += 1; offset += 0.54;//0.15 with zoom factor 0.25; } // Check for events. SDL_Event event; while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_KEYDOWN: break; case SDL_KEYUP: // If escape is pressed, return (and thus, quit) if (event.key.keysym.sym == SDLK_ESCAPE) return 0; break; case SDL_QUIT: return 0; } } } }
void drawSets(SkCanvas* canvas) const { SkAutoCanvasRestore acr(canvas, true); const SkFilterQuality filters[] = { kNone_SkFilterQuality, kLow_SkFilterQuality, kMedium_SkFilterQuality, kHigh_SkFilterQuality }; const bool AAs[] = { false, true }; SkPaint paint; for (int i = 0; i < fSets.count(); ++i) { auto& set = fSets[i]; SkPoint lastPt; for (size_t j = 0; j < SK_ARRAY_COUNT(AAs); ++j) { paint.setAntiAlias(AAs[j]); for (size_t k = 0; k < SK_ARRAY_COUNT(filters); ++k) { paint.setFilterQuality(filters[k]); lastPt = drawSet(canvas, set, paint); canvas->translate((kSegLen + 4) * set.fVector.y(), (kSegLen + 4) * set.fVector.x()); } } canvas->translate(lastPt.x() + kSegLen, - SkIntToScalar(kSegLen + 4) * SK_ARRAY_COUNT(filters) * SK_ARRAY_COUNT(AAs)); } }
void googleweatherWidget::paintExtFace(QPainter *p, const QStyleOptionGraphicsItem * e , QWidget *widget) { QRectF r = e->exposedRect; p->setCompositionMode(QPainter::CompositionMode_Source); p->fillRect(rect(), Qt::transparent); p->drawImage (QRect(r.x(),r.y(),widgetBack.width(),widgetBack.height()),widgetBack); p->setCompositionMode(QPainter::CompositionMode_SourceOver); p->setBackgroundMode(Qt::TransparentMode); p->save (); p->setRenderHint (QPainter::SmoothPixmapTransform); p->setClipRect(clip); p->restore(); //setCity_UI(p); drawSet(p); initTimer = 1; }
virtual void onDraw(SkCanvas* canvas) { drawBG(canvas); //return; canvas->translate(SkIntToScalar(10), SkIntToScalar(10)); SkPaint paint; paint.setAntiAlias(true); if (true) { canvas->drawColor(SK_ColorBLACK); paint.setTextSize(24); paint.setColor(SK_ColorWHITE); canvas->translate(10, 30); static const SkBlurMaskFilter::BlurStyle gStyle[] = { SkBlurMaskFilter::kNormal_BlurStyle, SkBlurMaskFilter::kInner_BlurStyle, SkBlurMaskFilter::kOuter_BlurStyle, SkBlurMaskFilter::kSolid_BlurStyle, }; for (int x = 0; x < 5; x++) { SkMaskFilter* mf; SkScalar radius = 4; for (int y = 0; y < 10; y++) { if (x) { mf = SkBlurMaskFilter::Create(radius, gStyle[x - 1]); paint.setMaskFilter(mf)->unref(); } canvas->drawText("Title Bar", 9, x*100, y*30, paint); radius *= 0.75f; } } return; } paint.setColor(SK_ColorBLUE); #if 1 SkPath p; float r = rand.nextUScalar1() + 0.5f; SkScalar x = 0, y = 0; p.moveTo(x, y); #if 0 p.cubicTo(x-75*r, y+75*r, x-40*r, y+125*r, x, y+85*r); p.cubicTo(x+40*r, y+125*r, x+75*r, y+75*r, x, y); #else p.cubicTo(x+75*r, y+75*r, x+40*r, y+125*r, x, y+85*r); p.cubicTo(x-40*r, y+125*r, x-75*r, y+75*r, x, y); #endif p.close(); fPath = p; fPath.offset(100, 0); #endif fPath.setFillType(SkPath::kWinding_FillType); drawSet(canvas, &paint); canvas->translate(0, fPath.getBounds().height() * 5 / 4); fPath.setFillType(SkPath::kEvenOdd_FillType); drawSet(canvas, &paint); }