| Index: resources/slides.lua
|
| diff --git a/resources/slides.lua b/resources/slides.lua
|
| index df9fc47bd6a94c5ead0d45a28b5a1eb579a58718..43c9b3b32fa307d8f00d5146ed34335965c4a35f 100644
|
| --- a/resources/slides.lua
|
| +++ b/resources/slides.lua
|
| @@ -1,4 +1,5 @@
|
| gShowBounds = false
|
| +gUseBlurInTransitions = false
|
|
|
| gPath = "/skia/trunk/resources/"
|
|
|
| @@ -27,32 +28,6 @@ function make_paint(typefacename, stylebits, size, color)
|
| return paint
|
| end
|
|
|
| -function center_rect(sw, sh, dst)
|
| - local dw = dst.right - dst.left
|
| - local dh = dst.bottom - dst.top
|
| -
|
| - local rw, rh
|
| -
|
| - if sw / sh > dw / dh then
|
| - rw = dw
|
| - rh = sh * dw / sw
|
| - else
|
| - rh = dh
|
| - rw = sw * dh / sh
|
| - end
|
| -
|
| - local x = dst.left + ((sw - rw) / 2)
|
| - local y = dst.top + ((sh - rh) / 2)
|
| - return make_rect(x, y, x + rw, y + rh)
|
| -end
|
| -
|
| -function draw_image_centered(canvas, image)
|
| - local sw = image:width()
|
| - local sh = image:height()
|
| - local dstR = center_rect(image:width(), image:height(), make_rect(20, 20, 620, 460))
|
| - canvas:drawImageRect(image, nil, dstR)
|
| -end
|
| -
|
| function draw_bullet(canvas, x, y, paint, indent)
|
| if 0 == indent then
|
| return
|
| @@ -165,6 +140,8 @@ local gCurrAnimation
|
|
|
| gSlideIndex = 1
|
|
|
| +-----------------------------------------------------------------------------
|
| +
|
| function new_drawable_picture(pic)
|
| return {
|
| picture = pic,
|
| @@ -187,6 +164,18 @@ 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
|
| +
|
| function new_drawable_slide(slide)
|
| return {
|
| slide = slide,
|
| @@ -203,6 +192,14 @@ function new_drawable_slide(slide)
|
| }
|
| end
|
|
|
| +gNewDrawableFactory = {
|
| + default = new_drawable_slide,
|
| + picture = convert_to_picture_drawable,
|
| + image = convert_to_image_drawable,
|
| +}
|
| +
|
| +-----------------------------------------------------------------------------
|
| +
|
| function next_slide()
|
| local prev = gSlides[gSlideIndex]
|
|
|
| @@ -221,19 +218,7 @@ function prev_slide()
|
| end
|
| 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 = new_drawable_slide
|
| +gDrawableType = "default"
|
|
|
| load_file("slides_transitions")
|
|
|
| @@ -249,8 +234,8 @@ function spawn_transition(prevSlide, nextSlide, is_forward)
|
| transition = fade_slide_transition
|
| end
|
|
|
| - local prevDrawable = gMakeDrawable(prevSlide)
|
| - local nextDrawable = gMakeDrawable(nextSlide)
|
| + local prevDrawable = gNewDrawableFactory[gDrawableType](prevSlide)
|
| + local nextDrawable = gNewDrawableFactory[gDrawableType](nextSlide)
|
| gCurrAnimation = transition(prevDrawable, nextDrawable, is_forward)
|
| end
|
|
|
| @@ -352,6 +337,11 @@ local keyProcs = {
|
| ["-"] = function () scale_text_delta(gTemplate, -1) end,
|
|
|
| b = function () gShowBounds = not gShowBounds end,
|
| + B = function () gUseBlurInTransitions = not gUseBlurInTransitions end,
|
| +
|
| + ["1"] = function () gDrawableType = "default" end,
|
| + ["2"] = function () gDrawableType = "picture" end,
|
| + ["3"] = function () gDrawableType = "image" end,
|
| }
|
|
|
| function onCharHandler(uni)
|
|
|