Sub Process_Globals
Dim imageName As String : imageName = "tempImage"
Dim lwm As LWManager
Dim LiveEngine As LWEngine
Dim image, resized As Bitmap
End Sub
Sub Service_Create
lwm.Initialize("lwm", False)
image = LoadBitmap(File.DirAssets, "rescue.jpg")
End Sub
Sub Service_Start (StartingIntent As Intent)
End Sub
Sub Service_Destroy
End Sub
Sub ResizeImage(original As Bitmap, TargetX As Int, TargetY As Int) As Bitmap
Dim origRatio As Float = original.Width / original.Height
Dim targetRatio As Float = TargetX / TargetY
Dim scale As Float
If targetRatio > origRatio Then
scale = TargetY / original.Height
Else
scale = TargetX / original.Width
End If
Dim c As Canvas
Dim b As Bitmap
b.InitializeMutable(TargetX, TargetY)
c.Initialize2(b)
'set the background
c.DrawColor(Colors.LightGray)
Dim r As Rect
Dim w = original.Width * scale, h = original.Height * scale As Int
r.Initialize(TargetX / 2 - w / 2, TargetY / 2 - h / 2, TargetX / 2 + w / 2, TargetY / 2+ h / 2)
c.DrawBitmap(original, Null, r)
Return b
End Sub
Sub LWM_OffsetChanged (Engine As LWEngine)
If image.IsInitialized AND resized.IsInitialized = False Then
resized = ResizeImage(image, Engine.FullWallpaperWidth, Engine.FullWallpaperHeight)
End If
If resized.IsInitialized Then
Engine.Rect.Left = -Engine.CurrentOffsetX
Engine.Rect.Top = -Engine.CurrentOffsetY
Engine.Rect.Right = -Engine.CurrentOffsetX + Engine.FullWallpaperWidth
Engine.Rect.Bottom = -Engine.CurrentOffsetY + Engine.FullWallpaperHeight
Engine.Canvas.DrawBitmap(resized, Null, Engine.Rect)
End If
Engine.RefreshAll
End Sub