You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			654 B
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			32 lines
		
	
	
		
			654 B
		
	
	
	
		
			Go
		
	
| package main
 | |
| 
 | |
| import (
 | |
| 	"bytes"
 | |
| 	b64 "encoding/base64"
 | |
| 	"image"
 | |
| 	"image/color"
 | |
| 
 | |
| 	"github.com/disintegration/imaging"
 | |
| )
 | |
| 
 | |
| type Doorbell struct {
 | |
| 	image image.Image
 | |
| }
 | |
| 
 | |
| func (a *Animation) animateDoorbell() {
 | |
| 	if a.countDown > 0 {
 | |
| 		a.ctx.SetColor(color.Black)
 | |
| 		a.ctx.Clear()
 | |
| 		a.ctx.DrawImageAnchored(a.doorbell.image, 0, 0, 0, 0)
 | |
| 		a.countDown -= 50
 | |
| 	} else {
 | |
| 		a.doorbell = Doorbell{}
 | |
| 		a.countDown = 5000
 | |
| 	}
 | |
| }
 | |
| func (a *Animation) loadImage(imgType string, img string) {
 | |
| 	baseImage, _ := b64.StdEncoding.DecodeString(img)
 | |
| 	bigImage, _, _ := image.Decode(bytes.NewReader(baseImage))
 | |
| 	a.doorbell.image = imaging.Resize(bigImage, 64, 64, imaging.Lanczos)
 | |
| }
 |