Scale the GUI to fit the screen

With this patch set, if needed, we scale the images during early
boot. TTF support is needed to properly scale the font. No font
scaling is done on the old style fixed width font used in the
console.

Special thanks to _that for figuring out the scaling and blending
function calls to make this possible.

Change-Id: If2f79bef16d6db2e1298bfc3d00c9bcca2bee37a
diff --git a/gui/devices/1024x600/res/ui.xml b/gui/devices/1024x600/res/ui.xml
index 1669d45..e76cc95 100644
--- a/gui/devices/1024x600/res/ui.xml
+++ b/gui/devices/1024x600/res/ui.xml
@@ -22,10 +22,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="mediumwide_button" type="image" filename="mediumwide-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
@@ -42,7 +42,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1024x768/res/ui.xml b/gui/devices/1024x768/res/ui.xml
index 253ae07..cfaf48e 100644
--- a/gui/devices/1024x768/res/ui.xml
+++ b/gui/devices/1024x768/res/ui.xml
@@ -22,10 +22,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="mediumwide_button" type="image" filename="mediumwide-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
@@ -42,7 +42,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1080x1920/res/ui.xml b/gui/devices/1080x1920/res/ui.xml
index ddab4f3..f38462c 100644
--- a/gui/devices/1080x1920/res/ui.xml
+++ b/gui/devices/1080x1920/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1200x1920/res/ui.xml b/gui/devices/1200x1920/res/ui.xml
index c02032f..782f0bd 100644
--- a/gui/devices/1200x1920/res/ui.xml
+++ b/gui/devices/1200x1920/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1280x800/res/ui.xml b/gui/devices/1280x800/res/ui.xml
index 94d0bf9..0c7ecf0 100644
--- a/gui/devices/1280x800/res/ui.xml
+++ b/gui/devices/1280x800/res/ui.xml
@@ -22,10 +22,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="mediumwide_button" type="image" filename="mediumwide-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
@@ -42,7 +42,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1440x2560/res/ui.xml b/gui/devices/1440x2560/res/ui.xml
index 52bf207..35bd4c6 100644
--- a/gui/devices/1440x2560/res/ui.xml
+++ b/gui/devices/1440x2560/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1600x2560/res/ui.xml b/gui/devices/1600x2560/res/ui.xml
index b85803b..8c35ef8 100644
--- a/gui/devices/1600x2560/res/ui.xml
+++ b/gui/devices/1600x2560/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/1920x1200/res/ui.xml b/gui/devices/1920x1200/res/ui.xml
index 4bd85a2..05a3ee6 100644
--- a/gui/devices/1920x1200/res/ui.xml
+++ b/gui/devices/1920x1200/res/ui.xml
@@ -22,10 +22,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="mediumwide_button" type="image" filename="mediumwide-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
@@ -42,7 +42,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/240x240/res/images/cursor.png b/gui/devices/240x240/res/images/cursor.png
new file mode 100644
index 0000000..32c8ae1
--- /dev/null
+++ b/gui/devices/240x240/res/images/cursor.png
Binary files differ
diff --git a/gui/devices/240x240/res/ui.xml b/gui/devices/240x240/res/ui.xml
index f1cd461..9c30373 100644
--- a/gui/devices/240x240/res/ui.xml
+++ b/gui/devices/240x240/res/ui.xml
@@ -3,6 +3,7 @@
 <recovery>
 	<details>
 		<resolution width="240" height="240" />
+		<roundscreen offset_x="30" offset_y="30" />
 		<author>masteroftime</author>
 		<title>TWRP x201</title>
 		<description>tDPI Smartwatch Theme</description>
@@ -25,10 +26,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,6 +44,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/2560x1600/res/ui.xml b/gui/devices/2560x1600/res/ui.xml
index 6da373e..57945cb 100644
--- a/gui/devices/2560x1600/res/ui.xml
+++ b/gui/devices/2560x1600/res/ui.xml
@@ -22,10 +22,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="mediumwide_button" type="image" filename="mediumwide-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
@@ -42,7 +42,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/280x280/res/images/cursor.png b/gui/devices/280x280/res/images/cursor.png
new file mode 100644
index 0000000..32c8ae1
--- /dev/null
+++ b/gui/devices/280x280/res/images/cursor.png
Binary files differ
diff --git a/gui/devices/280x280/res/ui.xml b/gui/devices/280x280/res/ui.xml
index 24e6e4c..5eaf1a9 100644
--- a/gui/devices/280x280/res/ui.xml
+++ b/gui/devices/280x280/res/ui.xml
@@ -3,6 +3,7 @@
 <recovery>
 	<details>
 		<resolution width="280" height="280" />
+		<roundscreen offset_x="35" offset_y="35" />
 		<author>TeamWin</author>
 		<title>Backup Naowz</title>
 		<description>Default basic theme</description>
@@ -25,10 +26,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,6 +44,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/320x320/res/images/cursor.png b/gui/devices/320x320/res/images/cursor.png
new file mode 100644
index 0000000..32c8ae1
--- /dev/null
+++ b/gui/devices/320x320/res/images/cursor.png
Binary files differ
diff --git a/gui/devices/320x320/res/ui.xml b/gui/devices/320x320/res/ui.xml
index 6558d0b..69d9cbd 100644
--- a/gui/devices/320x320/res/ui.xml
+++ b/gui/devices/320x320/res/ui.xml
@@ -3,6 +3,7 @@
 <recovery>
 	<details>
 		<resolution width="320" height="320" />
+		<roundscreen offset_x="40" offset_y="40" />
 		<author>TeamWin</author>
 		<title>Backup Naowz</title>
 		<description>Default basic theme</description>
@@ -25,10 +26,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,6 +44,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/320x480/res/ui.xml b/gui/devices/320x480/res/ui.xml
index 70d33e6..d91df42 100644
--- a/gui/devices/320x480/res/ui.xml
+++ b/gui/devices/320x480/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/480x800/res/ui.xml b/gui/devices/480x800/res/ui.xml
index 895cfaa..b1880ba 100644
--- a/gui/devices/480x800/res/ui.xml
+++ b/gui/devices/480x800/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/480x854/res/ui.xml b/gui/devices/480x854/res/ui.xml
index c4ce65f..52a9f4b 100644
--- a/gui/devices/480x854/res/ui.xml
+++ b/gui/devices/480x854/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/540x960/res/ui.xml b/gui/devices/540x960/res/ui.xml
index eb6d671..5abe640 100644
--- a/gui/devices/540x960/res/ui.xml
+++ b/gui/devices/540x960/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="qhd-medium-button" />
 		<resource name="sort_button" type="image" filename="qhd-sort-button" />
 		<resource name="minus_button" type="image" filename="qhd-minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/720x1280/res/ui.xml b/gui/devices/720x1280/res/ui.xml
index 3020daa..714ca4c 100644
--- a/gui/devices/720x1280/res/ui.xml
+++ b/gui/devices/720x1280/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/800x1280/res/ui.xml b/gui/devices/800x1280/res/ui.xml
index 6f49bf7..e4d8b29 100644
--- a/gui/devices/800x1280/res/ui.xml
+++ b/gui/devices/800x1280/res/ui.xml
@@ -25,10 +25,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
 		<resource name="minus_button" type="image" filename="minus-button" />
@@ -43,7 +43,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>
diff --git a/gui/devices/800x480/res/ui.xml b/gui/devices/800x480/res/ui.xml
index b80ed3b..faa0878 100644
--- a/gui/devices/800x480/res/ui.xml
+++ b/gui/devices/800x480/res/ui.xml
@@ -22,10 +22,10 @@
 		<resource name="progress" type="animation" filename="indeterminate" />
 		<resource name="progress_empty" type="image" filename="progress_empty" />
 		<resource name="progress_full" type="image" filename="progress_fill" />
-		<resource name="checkbox_false" type="image" filename="checkbox_empty" />
-		<resource name="checkbox_true" type="image" filename="checkbox_checked" />
-		<resource name="radio_false" type="image" filename="radio_empty" />
-		<resource name="radio_true" type="image" filename="radio_selected" />
+		<resource name="checkbox_false" type="image" filename="checkbox_empty" retainaspect="1" />
+		<resource name="checkbox_true" type="image" filename="checkbox_checked" retainaspect="1" />
+		<resource name="radio_false" type="image" filename="radio_empty" retainaspect="1" />
+		<resource name="radio_true" type="image" filename="radio_selected" retainaspect="1" />
 		<resource name="medium_button" type="image" filename="medium-button" />
 		<resource name="mediumwide_button" type="image" filename="mediumwide-button" />
 		<resource name="sort_button" type="image" filename="sort-button" />
@@ -42,7 +42,7 @@
 		<resource name="keyboard2" type="image" filename="keyboard2" />
 		<resource name="keyboard3" type="image" filename="keyboard3" />
 		<resource name="keyboard4" type="image" filename="keyboard4" />
-		<resource name="cursor" type="image" filename="cursor" />
+		<resource name="cursor" type="image" filename="cursor" retainaspect="1" />
 	</resources>
 
 	<variables>