Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Unified Diff: resources/slides.lua

Issue 663993002: add blurimagefilter to lua (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/utils/SkLua.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: resources/slides.lua
diff --git a/resources/slides.lua b/resources/slides.lua
index a4de5b74d6a20b37f7bd06ab994f04afc01f1993..b2c9b902c311b6ef3198980428bbbf452b417907 100644
--- a/resources/slides.lua
+++ b/resources/slides.lua
@@ -138,8 +138,18 @@ function slide_transition(prev, next, is_forward)
return rec
end
+function sqr(value) return value * value end
+
+function ease(value)
+function set_blur(paint, alpha)
+ local sigma = sqr(1 - alpha) * 20
+-- paint:setImageFilter(Sk.newBlurImageFilter(sigma, sigma))
+ paint:setAlpha(alpha)
+end
+
function fade_slide_transition(prev, next, is_forward)
local rec = {
+ paint = Sk.newPaint(),
prevDrawable = prev,
nextDrawable = next,
proc = function(self, canvas, drawSlideProc)
@@ -147,8 +157,12 @@ function fade_slide_transition(prev, next, is_forward)
drawSlideProc(canvas)
return nil
end
- self.prevDrawable:draw(canvas, self.prev_x, 0, self.prev_a)
- self.nextDrawable:draw(canvas, self.next_x, 0, self.next_a)
+
+ set_blur(self.paint, self.prev_a)
+ self.prevDrawable:draw(canvas, self.prev_x, 0, self.paint)
+
+ set_blur(self.paint, self.next_a)
+ self.nextDrawable:draw(canvas, self.next_x, 0, self.paint)
self:step()
return self
end
@@ -263,6 +277,20 @@ function new_drawable_image(img)
}
end
+function convert_to_picture_drawable(slide)
+ local rec = Sk.newPictureRecorder()
+ drawSlide(rec:beginRecording(640, 480), slide, gTemplate)
+ return new_drawable_picture(rec:endRecording())
+end
+
+function convert_to_image_drawable(slide)
+ local surf = Sk.newRasterSurface(640, 480)
+ drawSlide(surf:getCanvas(), slide, gTemplate)
+ return new_drawable_image(surf:newImageSnapshot())
+end
+
+gMakeDrawable = convert_to_picture_drawable
+
function spawn_transition(prevSlide, nextSlide, is_forward)
local transition
if is_forward then
@@ -275,14 +303,8 @@ function spawn_transition(prevSlide, nextSlide, is_forward)
transition = fade_slide_transition
end
- local rec = Sk.newPictureRecorder()
-
- drawSlide(rec:beginRecording(640, 480), prevSlide, gTemplate)
- local prevDrawable = new_drawable_picture(rec:endRecording())
-
- drawSlide(rec:beginRecording(640, 480), nextSlide, gTemplate)
- local nextDrawable = new_drawable_picture(rec:endRecording())
-
+ local prevDrawable = gMakeDrawable(prevSlide)
+ local nextDrawable = gMakeDrawable(nextSlide)
gCurrAnimation = transition(prevDrawable, nextDrawable, is_forward)
end
« no previous file with comments | « no previous file | src/utils/SkLua.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698