diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ab3b2948..f30355664 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -161,6 +161,7 @@ set(ES_HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/src/Window.h
${CMAKE_CURRENT_SOURCE_DIR}/src/XMLReader.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/components/AnimatedImageComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/AsyncReqComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ButtonComponent.h
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentGrid.h
@@ -251,6 +252,7 @@ set(ES_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/src/Window.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/XMLReader.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/components/AnimatedImageComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/AsyncReqComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ButtonComponent.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/components/ComponentGrid.cpp
@@ -342,6 +344,11 @@ set(ES_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/fav_add_svg.cpp
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/fav_remove_svg.cpp
${CMAKE_CURRENT_SOURCE_DIR}/data/converted/slider_knob_svg.cpp
+
+ ${CMAKE_CURRENT_SOURCE_DIR}/data/converted/busy_0_svg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/data/converted/busy_1_svg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/data/converted/busy_2_svg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/data/converted/busy_3_svg.cpp
)
#SOURCE_GROUP(resources FILES ResourceUtil.cpp)
diff --git a/data/ResourceUtil.cpp b/data/ResourceUtil.cpp
index 11d5a1551..11ac955c6 100644
--- a/data/ResourceUtil.cpp
+++ b/data/ResourceUtil.cpp
@@ -2,9 +2,13 @@
#include "Resources.h"
-const size_t res2hNrOfFiles = 35;
+const size_t res2hNrOfFiles = 39;
const Res2hEntry res2hFiles[res2hNrOfFiles] = {
{":/arrow.svg", arrow_svg_size, arrow_svg_data},
+ {":/busy_0.svg", busy_0_svg_size, busy_0_svg_data},
+ {":/busy_1.svg", busy_1_svg_size, busy_1_svg_data},
+ {":/busy_2.svg", busy_2_svg_size, busy_2_svg_data},
+ {":/busy_3.svg", busy_3_svg_size, busy_3_svg_data},
{":/button.png", button_png_size, button_png_data},
{":/button_filled.png", button_filled_png_size, button_filled_png_data},
{":/checkbox_checked.svg", checkbox_checked_svg_size, checkbox_checked_svg_data},
@@ -43,40 +47,44 @@ const Res2hEntry res2hFiles[res2hNrOfFiles] = {
res2hMapType::value_type mapTemp[] = {
std::make_pair(":/arrow.svg", res2hFiles[0]),
- std::make_pair(":/button.png", res2hFiles[1]),
- std::make_pair(":/button_filled.png", res2hFiles[2]),
- std::make_pair(":/checkbox_checked.svg", res2hFiles[3]),
- std::make_pair(":/checkbox_unchecked.svg", res2hFiles[4]),
- std::make_pair(":/ES_logo_16.png", res2hFiles[5]),
- std::make_pair(":/ES_logo_32.png", res2hFiles[6]),
- std::make_pair(":/fav_add.svg", res2hFiles[7]),
- std::make_pair(":/fav_remove.svg", res2hFiles[8]),
- std::make_pair(":/frame.png", res2hFiles[9]),
- std::make_pair(":/off.svg", res2hFiles[10]),
- std::make_pair(":/on.svg", res2hFiles[11]),
- std::make_pair(":/opensans_hebrew_condensed_light.ttf", res2hFiles[12]),
- std::make_pair(":/opensans_hebrew_condensed_regular.ttf", res2hFiles[13]),
- std::make_pair(":/option_arrow.svg", res2hFiles[14]),
- std::make_pair(":/scroll_gradient.png", res2hFiles[15]),
- std::make_pair(":/slider_knob.svg", res2hFiles[16]),
- std::make_pair(":/star_filled.svg", res2hFiles[17]),
- std::make_pair(":/star_unfilled.svg", res2hFiles[18]),
- std::make_pair(":/textinput_ninepatch.png", res2hFiles[19]),
- std::make_pair(":/help/button_a.svg", res2hFiles[20]),
- std::make_pair(":/help/button_b.svg", res2hFiles[21]),
- std::make_pair(":/help/button_l.svg", res2hFiles[22]),
- std::make_pair(":/help/button_r.svg", res2hFiles[23]),
- std::make_pair(":/help/button_select.svg", res2hFiles[24]),
- std::make_pair(":/help/button_start.svg", res2hFiles[25]),
- std::make_pair(":/help/button_x.svg", res2hFiles[26]),
- std::make_pair(":/help/button_y.svg", res2hFiles[27]),
- std::make_pair(":/help/dpad_all.svg", res2hFiles[28]),
- std::make_pair(":/help/dpad_down.svg", res2hFiles[29]),
- std::make_pair(":/help/dpad_left.svg", res2hFiles[30]),
- std::make_pair(":/help/dpad_leftright.svg", res2hFiles[31]),
- std::make_pair(":/help/dpad_right.svg", res2hFiles[32]),
- std::make_pair(":/help/dpad_up.svg", res2hFiles[33]),
- std::make_pair(":/help/dpad_updown.svg", res2hFiles[34])
+ std::make_pair(":/busy_0.svg", res2hFiles[1]),
+ std::make_pair(":/busy_1.svg", res2hFiles[2]),
+ std::make_pair(":/busy_2.svg", res2hFiles[3]),
+ std::make_pair(":/busy_3.svg", res2hFiles[4]),
+ std::make_pair(":/button.png", res2hFiles[5]),
+ std::make_pair(":/button_filled.png", res2hFiles[6]),
+ std::make_pair(":/checkbox_checked.svg", res2hFiles[7]),
+ std::make_pair(":/checkbox_unchecked.svg", res2hFiles[8]),
+ std::make_pair(":/ES_logo_16.png", res2hFiles[9]),
+ std::make_pair(":/ES_logo_32.png", res2hFiles[10]),
+ std::make_pair(":/fav_add.svg", res2hFiles[11]),
+ std::make_pair(":/fav_remove.svg", res2hFiles[12]),
+ std::make_pair(":/frame.png", res2hFiles[13]),
+ std::make_pair(":/off.svg", res2hFiles[14]),
+ std::make_pair(":/on.svg", res2hFiles[15]),
+ std::make_pair(":/opensans_hebrew_condensed_light.ttf", res2hFiles[16]),
+ std::make_pair(":/opensans_hebrew_condensed_regular.ttf", res2hFiles[17]),
+ std::make_pair(":/option_arrow.svg", res2hFiles[18]),
+ std::make_pair(":/scroll_gradient.png", res2hFiles[19]),
+ std::make_pair(":/slider_knob.svg", res2hFiles[20]),
+ std::make_pair(":/star_filled.svg", res2hFiles[21]),
+ std::make_pair(":/star_unfilled.svg", res2hFiles[22]),
+ std::make_pair(":/textinput_ninepatch.png", res2hFiles[23]),
+ std::make_pair(":/help/button_a.svg", res2hFiles[24]),
+ std::make_pair(":/help/button_b.svg", res2hFiles[25]),
+ std::make_pair(":/help/button_l.svg", res2hFiles[26]),
+ std::make_pair(":/help/button_r.svg", res2hFiles[27]),
+ std::make_pair(":/help/button_select.svg", res2hFiles[28]),
+ std::make_pair(":/help/button_start.svg", res2hFiles[29]),
+ std::make_pair(":/help/button_x.svg", res2hFiles[30]),
+ std::make_pair(":/help/button_y.svg", res2hFiles[31]),
+ std::make_pair(":/help/dpad_all.svg", res2hFiles[32]),
+ std::make_pair(":/help/dpad_down.svg", res2hFiles[33]),
+ std::make_pair(":/help/dpad_left.svg", res2hFiles[34]),
+ std::make_pair(":/help/dpad_leftright.svg", res2hFiles[35]),
+ std::make_pair(":/help/dpad_right.svg", res2hFiles[36]),
+ std::make_pair(":/help/dpad_up.svg", res2hFiles[37]),
+ std::make_pair(":/help/dpad_updown.svg", res2hFiles[38])
};
res2hMapType res2hMap(mapTemp, mapTemp + sizeof mapTemp / sizeof mapTemp[0]);
diff --git a/data/Resources.h b/data/Resources.h
index 1a7f4c031..bc001b46d 100644
--- a/data/Resources.h
+++ b/data/Resources.h
@@ -8,6 +8,18 @@
extern const size_t arrow_svg_size;
extern const unsigned char arrow_svg_data[];
+extern const size_t busy_0_svg_size;
+extern const unsigned char busy_0_svg_data[];
+
+extern const size_t busy_1_svg_size;
+extern const unsigned char busy_1_svg_data[];
+
+extern const size_t busy_2_svg_size;
+extern const unsigned char busy_2_svg_data[];
+
+extern const size_t busy_3_svg_size;
+extern const unsigned char busy_3_svg_data[];
+
extern const size_t button_png_size;
extern const unsigned char button_png_data[];
diff --git a/data/converted/busy_0_svg.cpp b/data/converted/busy_0_svg.cpp
new file mode 100644
index 000000000..732d087fc
--- /dev/null
+++ b/data/converted/busy_0_svg.cpp
@@ -0,0 +1,144 @@
+//this file was auto-generated from "busy_0.svg" by res2h
+
+#include "../Resources.h"
+
+const size_t busy_0_svg_size = 1369;
+const unsigned char busy_0_svg_data[1369] = {
+ 0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,
+ 0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,
+ 0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,
+ 0x75,0x74,0x66,0x2d,0x38,0x22,0x3f,0x3e,0x0d,0x0a,
+ 0x3c,0x21,0x2d,0x2d,0x20,0x47,0x65,0x6e,0x65,0x72,
+ 0x61,0x74,0x6f,0x72,0x3a,0x20,0x41,0x64,0x6f,0x62,
+ 0x65,0x20,0x49,0x6c,0x6c,0x75,0x73,0x74,0x72,0x61,
+ 0x74,0x6f,0x72,0x20,0x31,0x36,0x2e,0x30,0x2e,0x33,
+ 0x2c,0x20,0x53,0x56,0x47,0x20,0x45,0x78,0x70,0x6f,
+ 0x72,0x74,0x20,0x50,0x6c,0x75,0x67,0x2d,0x49,0x6e,
+ 0x20,0x2e,0x20,0x53,0x56,0x47,0x20,0x56,0x65,0x72,
+ 0x73,0x69,0x6f,0x6e,0x3a,0x20,0x36,0x2e,0x30,0x30,
+ 0x20,0x42,0x75,0x69,0x6c,0x64,0x20,0x30,0x29,0x20,
+ 0x20,0x2d,0x2d,0x3e,0x0d,0x0a,0x3c,0x21,0x44,0x4f,
+ 0x43,0x54,0x59,0x50,0x45,0x20,0x73,0x76,0x67,0x20,
+ 0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,
+ 0x2f,0x57,0x33,0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,
+ 0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,0x45,
+ 0x4e,0x22,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,
+ 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,
+ 0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,
+ 0x54,0x44,0x2f,0x73,0x76,0x67,0x31,0x31,0x2e,0x64,
+ 0x74,0x64,0x22,0x3e,0x0d,0x0a,0x3c,0x73,0x76,0x67,
+ 0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0x20,0x69,0x64,0x3d,0x22,0x45,
+ 0x62,0x65,0x6e,0x65,0x5f,0x31,0x22,0x20,0x78,0x6d,
+ 0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,
+ 0x72,0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,
+ 0x67,0x22,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70,
+ 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,
+ 0x6f,0x72,0x67,0x2f,0x31,0x39,0x39,0x39,0x2f,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x22,0x20,0x78,0x3d,0x22,0x30,
+ 0x70,0x78,0x22,0x20,0x79,0x3d,0x22,0x30,0x70,0x78,
+ 0x22,0x0d,0x0a,0x09,0x20,0x77,0x69,0x64,0x74,0x68,
+ 0x3d,0x22,0x32,0x31,0x2e,0x30,0x30,0x32,0x70,0x78,
+ 0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x70,0x78,0x22,0x20,
+ 0x76,0x69,0x65,0x77,0x42,0x6f,0x78,0x3d,0x22,0x30,
+ 0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,0x32,0x20,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,0x65,0x6e,
+ 0x61,0x62,0x6c,0x65,0x2d,0x62,0x61,0x63,0x6b,0x67,
+ 0x72,0x6f,0x75,0x6e,0x64,0x3d,0x22,0x6e,0x65,0x77,
+ 0x20,0x30,0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,
+ 0x32,0x20,0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,
+ 0x78,0x6d,0x6c,0x3a,0x73,0x70,0x61,0x63,0x65,0x3d,
+ 0x22,0x70,0x72,0x65,0x73,0x65,0x72,0x76,0x65,0x22,
+ 0x3e,0x0d,0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,
+ 0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,
+ 0x0d,0x0a,0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,
+ 0x69,0x6c,0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,
+ 0x37,0x37,0x22,0x20,0x64,0x3d,0x22,0x4d,0x32,0x31,
+ 0x2e,0x30,0x30,0x32,0x2c,0x32,0x31,0x2e,0x32,0x39,
+ 0x33,0x63,0x30,0x2c,0x30,0x2e,0x33,0x39,0x2d,0x30,
+ 0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x68,0x2d,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2d,
+ 0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x76,0x2d,0x38,0x2e,0x33,0x37,0x39,0x0d,0x0a,
+ 0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,0x39,0x2c,
+ 0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x68,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x56,0x32,0x31,0x2e,0x32,0x39,0x33,0x7a,0x22,0x2f,
+ 0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,0x0a,0x3c,
+ 0x67,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,
+ 0x22,0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,0x09,0x3c,
+ 0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,0x6c,0x3d,
+ 0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,0x22,0x20,
+ 0x64,0x3d,0x22,0x4d,0x32,0x31,0x2e,0x30,0x30,0x32,
+ 0x2c,0x39,0x2e,0x30,0x38,0x38,0x63,0x30,0x2c,0x30,
+ 0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2c,
+ 0x30,0x2e,0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x68,0x2d,0x37,
+ 0x2e,0x39,0x33,0x37,0x63,0x2d,0x30,0x2e,0x33,0x39,
+ 0x2c,0x30,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,
+ 0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x38,0x56,0x30,0x2e,0x37,
+ 0x30,0x38,0x0d,0x0a,0x09,0x09,0x63,0x30,0x2d,0x30,
+ 0x2e,0x33,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2d,
+ 0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,
+ 0x39,0x2d,0x30,0x2e,0x37,0x30,0x38,0x68,0x37,0x2e,
+ 0x39,0x33,0x37,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x33,
+ 0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x56,0x39,0x2e,0x30,0x38,0x38,
+ 0x7a,0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,
+ 0x0d,0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,0x69,
+ 0x74,0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,0x0d,
+ 0x0a,0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,0x69,
+ 0x6c,0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,0x37,
+ 0x37,0x22,0x20,0x64,0x3d,0x22,0x4d,0x39,0x2e,0x33,
+ 0x35,0x34,0x2c,0x32,0x31,0x2e,0x32,0x39,0x33,0x63,
+ 0x30,0x2c,0x30,0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,
+ 0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x48,0x30,0x2e,0x37,0x30,0x38,0x43,0x30,0x2e,0x33,
+ 0x31,0x39,0x2c,0x32,0x32,0x2e,0x30,0x30,0x32,0x2c,
+ 0x30,0x2c,0x32,0x31,0x2e,0x36,0x38,0x33,0x2c,0x30,
+ 0x2c,0x32,0x31,0x2e,0x32,0x39,0x33,0x76,0x2d,0x38,
+ 0x2e,0x33,0x37,0x39,0x0d,0x0a,0x09,0x09,0x63,0x30,
+ 0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2e,0x33,0x31,
+ 0x39,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,0x30,0x39,0x68,
+ 0x37,0x2e,0x39,0x33,0x38,0x63,0x30,0x2e,0x33,0x39,
+ 0x2c,0x30,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,
+ 0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x56,0x32,0x31,0x2e,
+ 0x32,0x39,0x33,0x7a,0x22,0x2f,0x3e,0x0d,0x0a,0x3c,
+ 0x2f,0x67,0x3e,0x0d,0x0a,0x3c,0x67,0x3e,0x0d,0x0a,
+ 0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,
+ 0x22,0x20,0x64,0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,
+ 0x34,0x2c,0x39,0x2e,0x30,0x38,0x37,0x63,0x30,0x2c,
+ 0x30,0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,
+ 0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,0x38,0x48,0x30,
+ 0x2e,0x37,0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x39,0x2e,0x37,0x39,0x36,0x2c,0x30,0x2c,0x39,
+ 0x2e,0x34,0x37,0x37,0x2c,0x30,0x2c,0x39,0x2e,0x30,
+ 0x38,0x37,0x56,0x30,0x2e,0x37,0x30,0x38,0x0d,0x0a,
+ 0x09,0x09,0x43,0x30,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x68,0x37,0x2e,0x39,
+ 0x33,0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,
+ 0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x56,0x39,0x2e,0x30,0x38,0x37,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x2f,0x73,0x76,0x67,0x3e,0x0d,0x0a
+};
diff --git a/data/converted/busy_1_svg.cpp b/data/converted/busy_1_svg.cpp
new file mode 100644
index 000000000..6bbc474e1
--- /dev/null
+++ b/data/converted/busy_1_svg.cpp
@@ -0,0 +1,144 @@
+//this file was auto-generated from "busy_1.svg" by res2h
+
+#include "../Resources.h"
+
+const size_t busy_1_svg_size = 1369;
+const unsigned char busy_1_svg_data[1369] = {
+ 0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,
+ 0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,
+ 0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,
+ 0x75,0x74,0x66,0x2d,0x38,0x22,0x3f,0x3e,0x0d,0x0a,
+ 0x3c,0x21,0x2d,0x2d,0x20,0x47,0x65,0x6e,0x65,0x72,
+ 0x61,0x74,0x6f,0x72,0x3a,0x20,0x41,0x64,0x6f,0x62,
+ 0x65,0x20,0x49,0x6c,0x6c,0x75,0x73,0x74,0x72,0x61,
+ 0x74,0x6f,0x72,0x20,0x31,0x36,0x2e,0x30,0x2e,0x33,
+ 0x2c,0x20,0x53,0x56,0x47,0x20,0x45,0x78,0x70,0x6f,
+ 0x72,0x74,0x20,0x50,0x6c,0x75,0x67,0x2d,0x49,0x6e,
+ 0x20,0x2e,0x20,0x53,0x56,0x47,0x20,0x56,0x65,0x72,
+ 0x73,0x69,0x6f,0x6e,0x3a,0x20,0x36,0x2e,0x30,0x30,
+ 0x20,0x42,0x75,0x69,0x6c,0x64,0x20,0x30,0x29,0x20,
+ 0x20,0x2d,0x2d,0x3e,0x0d,0x0a,0x3c,0x21,0x44,0x4f,
+ 0x43,0x54,0x59,0x50,0x45,0x20,0x73,0x76,0x67,0x20,
+ 0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,
+ 0x2f,0x57,0x33,0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,
+ 0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,0x45,
+ 0x4e,0x22,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,
+ 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,
+ 0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,
+ 0x54,0x44,0x2f,0x73,0x76,0x67,0x31,0x31,0x2e,0x64,
+ 0x74,0x64,0x22,0x3e,0x0d,0x0a,0x3c,0x73,0x76,0x67,
+ 0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0x20,0x69,0x64,0x3d,0x22,0x45,
+ 0x62,0x65,0x6e,0x65,0x5f,0x31,0x22,0x20,0x78,0x6d,
+ 0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,
+ 0x72,0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,
+ 0x67,0x22,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70,
+ 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,
+ 0x6f,0x72,0x67,0x2f,0x31,0x39,0x39,0x39,0x2f,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x22,0x20,0x78,0x3d,0x22,0x30,
+ 0x70,0x78,0x22,0x20,0x79,0x3d,0x22,0x30,0x70,0x78,
+ 0x22,0x0d,0x0a,0x09,0x20,0x77,0x69,0x64,0x74,0x68,
+ 0x3d,0x22,0x32,0x31,0x2e,0x30,0x30,0x32,0x70,0x78,
+ 0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x70,0x78,0x22,0x20,
+ 0x76,0x69,0x65,0x77,0x42,0x6f,0x78,0x3d,0x22,0x30,
+ 0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,0x32,0x20,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,0x65,0x6e,
+ 0x61,0x62,0x6c,0x65,0x2d,0x62,0x61,0x63,0x6b,0x67,
+ 0x72,0x6f,0x75,0x6e,0x64,0x3d,0x22,0x6e,0x65,0x77,
+ 0x20,0x30,0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,
+ 0x32,0x20,0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,
+ 0x78,0x6d,0x6c,0x3a,0x73,0x70,0x61,0x63,0x65,0x3d,
+ 0x22,0x70,0x72,0x65,0x73,0x65,0x72,0x76,0x65,0x22,
+ 0x3e,0x0d,0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,
+ 0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,
+ 0x0d,0x0a,0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,
+ 0x69,0x6c,0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,
+ 0x37,0x37,0x22,0x20,0x64,0x3d,0x22,0x4d,0x32,0x31,
+ 0x2e,0x30,0x30,0x32,0x2c,0x32,0x31,0x2e,0x32,0x39,
+ 0x33,0x63,0x30,0x2c,0x30,0x2e,0x33,0x39,0x2d,0x30,
+ 0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x68,0x2d,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2d,
+ 0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x76,0x2d,0x38,0x2e,0x33,0x37,0x39,0x0d,0x0a,
+ 0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,0x39,0x2c,
+ 0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x68,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x56,0x32,0x31,0x2e,0x32,0x39,0x33,0x7a,0x22,0x2f,
+ 0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,0x0a,0x3c,
+ 0x67,0x3e,0x0d,0x0a,0x09,0x3c,0x70,0x61,0x74,0x68,
+ 0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x37,0x37,
+ 0x37,0x37,0x37,0x37,0x22,0x20,0x64,0x3d,0x22,0x4d,
+ 0x32,0x31,0x2e,0x30,0x30,0x32,0x2c,0x39,0x2e,0x30,
+ 0x38,0x38,0x63,0x30,0x2c,0x30,0x2e,0x33,0x39,0x2d,
+ 0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,
+ 0x38,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x68,0x2d,0x37,0x2e,0x39,0x33,0x37,
+ 0x63,0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2d,0x30,
+ 0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,
+ 0x30,0x38,0x56,0x30,0x2e,0x37,0x30,0x38,0x0d,0x0a,
+ 0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,0x39,0x2c,
+ 0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x38,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x38,0x68,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,
+ 0x56,0x39,0x2e,0x30,0x38,0x38,0x7a,0x22,0x2f,0x3e,
+ 0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,0x0a,0x3c,0x67,
+ 0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,
+ 0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,0x09,0x3c,0x70,
+ 0x61,0x74,0x68,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,
+ 0x23,0x37,0x37,0x37,0x37,0x37,0x37,0x22,0x20,0x64,
+ 0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,0x34,0x2c,0x32,
+ 0x31,0x2e,0x32,0x39,0x33,0x63,0x30,0x2c,0x30,0x2e,
+ 0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,0x38,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x48,0x30,0x2e,0x37,
+ 0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,0x2c,0x32,
+ 0x32,0x2e,0x30,0x30,0x32,0x2c,0x30,0x2c,0x32,0x31,
+ 0x2e,0x36,0x38,0x33,0x2c,0x30,0x2c,0x32,0x31,0x2e,
+ 0x32,0x39,0x33,0x76,0x2d,0x38,0x2e,0x33,0x37,0x39,
+ 0x0d,0x0a,0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,
+ 0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,
+ 0x30,0x2e,0x37,0x30,0x39,0x68,0x37,0x2e,0x39,0x33,
+ 0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x56,0x32,0x31,0x2e,0x32,0x39,0x33,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,
+ 0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,
+ 0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,
+ 0x22,0x20,0x64,0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,
+ 0x34,0x2c,0x39,0x2e,0x30,0x38,0x37,0x63,0x30,0x2c,
+ 0x30,0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,
+ 0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,0x38,0x48,0x30,
+ 0x2e,0x37,0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x39,0x2e,0x37,0x39,0x36,0x2c,0x30,0x2c,0x39,
+ 0x2e,0x34,0x37,0x37,0x2c,0x30,0x2c,0x39,0x2e,0x30,
+ 0x38,0x37,0x56,0x30,0x2e,0x37,0x30,0x38,0x0d,0x0a,
+ 0x09,0x09,0x43,0x30,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x68,0x37,0x2e,0x39,
+ 0x33,0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,
+ 0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x56,0x39,0x2e,0x30,0x38,0x37,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x2f,0x73,0x76,0x67,0x3e,0x0d,0x0a
+};
diff --git a/data/converted/busy_2_svg.cpp b/data/converted/busy_2_svg.cpp
new file mode 100644
index 000000000..46896deb6
--- /dev/null
+++ b/data/converted/busy_2_svg.cpp
@@ -0,0 +1,144 @@
+//this file was auto-generated from "busy_2.svg" by res2h
+
+#include "../Resources.h"
+
+const size_t busy_2_svg_size = 1369;
+const unsigned char busy_2_svg_data[1369] = {
+ 0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,
+ 0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,
+ 0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,
+ 0x75,0x74,0x66,0x2d,0x38,0x22,0x3f,0x3e,0x0d,0x0a,
+ 0x3c,0x21,0x2d,0x2d,0x20,0x47,0x65,0x6e,0x65,0x72,
+ 0x61,0x74,0x6f,0x72,0x3a,0x20,0x41,0x64,0x6f,0x62,
+ 0x65,0x20,0x49,0x6c,0x6c,0x75,0x73,0x74,0x72,0x61,
+ 0x74,0x6f,0x72,0x20,0x31,0x36,0x2e,0x30,0x2e,0x33,
+ 0x2c,0x20,0x53,0x56,0x47,0x20,0x45,0x78,0x70,0x6f,
+ 0x72,0x74,0x20,0x50,0x6c,0x75,0x67,0x2d,0x49,0x6e,
+ 0x20,0x2e,0x20,0x53,0x56,0x47,0x20,0x56,0x65,0x72,
+ 0x73,0x69,0x6f,0x6e,0x3a,0x20,0x36,0x2e,0x30,0x30,
+ 0x20,0x42,0x75,0x69,0x6c,0x64,0x20,0x30,0x29,0x20,
+ 0x20,0x2d,0x2d,0x3e,0x0d,0x0a,0x3c,0x21,0x44,0x4f,
+ 0x43,0x54,0x59,0x50,0x45,0x20,0x73,0x76,0x67,0x20,
+ 0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,
+ 0x2f,0x57,0x33,0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,
+ 0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,0x45,
+ 0x4e,0x22,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,
+ 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,
+ 0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,
+ 0x54,0x44,0x2f,0x73,0x76,0x67,0x31,0x31,0x2e,0x64,
+ 0x74,0x64,0x22,0x3e,0x0d,0x0a,0x3c,0x73,0x76,0x67,
+ 0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0x20,0x69,0x64,0x3d,0x22,0x45,
+ 0x62,0x65,0x6e,0x65,0x5f,0x31,0x22,0x20,0x78,0x6d,
+ 0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,
+ 0x72,0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,
+ 0x67,0x22,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70,
+ 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,
+ 0x6f,0x72,0x67,0x2f,0x31,0x39,0x39,0x39,0x2f,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x22,0x20,0x78,0x3d,0x22,0x30,
+ 0x70,0x78,0x22,0x20,0x79,0x3d,0x22,0x30,0x70,0x78,
+ 0x22,0x0d,0x0a,0x09,0x20,0x77,0x69,0x64,0x74,0x68,
+ 0x3d,0x22,0x32,0x31,0x2e,0x30,0x30,0x32,0x70,0x78,
+ 0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x70,0x78,0x22,0x20,
+ 0x76,0x69,0x65,0x77,0x42,0x6f,0x78,0x3d,0x22,0x30,
+ 0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,0x32,0x20,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,0x65,0x6e,
+ 0x61,0x62,0x6c,0x65,0x2d,0x62,0x61,0x63,0x6b,0x67,
+ 0x72,0x6f,0x75,0x6e,0x64,0x3d,0x22,0x6e,0x65,0x77,
+ 0x20,0x30,0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,
+ 0x32,0x20,0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,
+ 0x78,0x6d,0x6c,0x3a,0x73,0x70,0x61,0x63,0x65,0x3d,
+ 0x22,0x70,0x72,0x65,0x73,0x65,0x72,0x76,0x65,0x22,
+ 0x3e,0x0d,0x0a,0x3c,0x67,0x3e,0x0d,0x0a,0x09,0x3c,
+ 0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,0x6c,0x3d,
+ 0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,0x22,0x20,
+ 0x64,0x3d,0x22,0x4d,0x32,0x31,0x2e,0x30,0x30,0x32,
+ 0x2c,0x32,0x31,0x2e,0x32,0x39,0x33,0x63,0x30,0x2c,
+ 0x30,0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,
+ 0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x68,0x2d,
+ 0x37,0x2e,0x39,0x33,0x37,0x63,0x2d,0x30,0x2e,0x33,
+ 0x39,0x2c,0x30,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2d,
+ 0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x2d,0x30,0x2e,0x37,0x30,0x39,0x76,0x2d,0x38,
+ 0x2e,0x33,0x37,0x39,0x0d,0x0a,0x09,0x09,0x63,0x30,
+ 0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2e,0x33,0x31,
+ 0x39,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,
+ 0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,0x39,0x68,
+ 0x37,0x2e,0x39,0x33,0x37,0x63,0x30,0x2e,0x33,0x39,
+ 0x2c,0x30,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,
+ 0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x56,0x32,0x31,0x2e,
+ 0x32,0x39,0x33,0x7a,0x22,0x2f,0x3e,0x0d,0x0a,0x3c,
+ 0x2f,0x67,0x3e,0x0d,0x0a,0x3c,0x67,0x20,0x6f,0x70,
+ 0x61,0x63,0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x35,
+ 0x22,0x3e,0x0d,0x0a,0x09,0x3c,0x70,0x61,0x74,0x68,
+ 0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,0x23,0x37,0x37,
+ 0x37,0x37,0x37,0x37,0x22,0x20,0x64,0x3d,0x22,0x4d,
+ 0x32,0x31,0x2e,0x30,0x30,0x32,0x2c,0x39,0x2e,0x30,
+ 0x38,0x38,0x63,0x30,0x2c,0x30,0x2e,0x33,0x39,0x2d,
+ 0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,
+ 0x38,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x68,0x2d,0x37,0x2e,0x39,0x33,0x37,
+ 0x63,0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2d,0x30,
+ 0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,
+ 0x30,0x38,0x56,0x30,0x2e,0x37,0x30,0x38,0x0d,0x0a,
+ 0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,0x39,0x2c,
+ 0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x38,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x38,0x68,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,
+ 0x56,0x39,0x2e,0x30,0x38,0x38,0x7a,0x22,0x2f,0x3e,
+ 0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,0x0a,0x3c,0x67,
+ 0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,0x22,
+ 0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,0x09,0x3c,0x70,
+ 0x61,0x74,0x68,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,
+ 0x23,0x37,0x37,0x37,0x37,0x37,0x37,0x22,0x20,0x64,
+ 0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,0x34,0x2c,0x32,
+ 0x31,0x2e,0x32,0x39,0x33,0x63,0x30,0x2c,0x30,0x2e,
+ 0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,0x38,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x48,0x30,0x2e,0x37,
+ 0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,0x2c,0x32,
+ 0x32,0x2e,0x30,0x30,0x32,0x2c,0x30,0x2c,0x32,0x31,
+ 0x2e,0x36,0x38,0x33,0x2c,0x30,0x2c,0x32,0x31,0x2e,
+ 0x32,0x39,0x33,0x76,0x2d,0x38,0x2e,0x33,0x37,0x39,
+ 0x0d,0x0a,0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,
+ 0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,
+ 0x30,0x2e,0x37,0x30,0x39,0x68,0x37,0x2e,0x39,0x33,
+ 0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x56,0x32,0x31,0x2e,0x32,0x39,0x33,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,
+ 0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,
+ 0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,
+ 0x22,0x20,0x64,0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,
+ 0x34,0x2c,0x39,0x2e,0x30,0x38,0x37,0x63,0x30,0x2c,
+ 0x30,0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,
+ 0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,0x38,0x48,0x30,
+ 0x2e,0x37,0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x39,0x2e,0x37,0x39,0x36,0x2c,0x30,0x2c,0x39,
+ 0x2e,0x34,0x37,0x37,0x2c,0x30,0x2c,0x39,0x2e,0x30,
+ 0x38,0x37,0x56,0x30,0x2e,0x37,0x30,0x38,0x0d,0x0a,
+ 0x09,0x09,0x43,0x30,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x68,0x37,0x2e,0x39,
+ 0x33,0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,
+ 0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x56,0x39,0x2e,0x30,0x38,0x37,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x2f,0x73,0x76,0x67,0x3e,0x0d,0x0a
+};
diff --git a/data/converted/busy_3_svg.cpp b/data/converted/busy_3_svg.cpp
new file mode 100644
index 000000000..8172c7c5f
--- /dev/null
+++ b/data/converted/busy_3_svg.cpp
@@ -0,0 +1,144 @@
+//this file was auto-generated from "busy_3.svg" by res2h
+
+#include "../Resources.h"
+
+const size_t busy_3_svg_size = 1369;
+const unsigned char busy_3_svg_data[1369] = {
+ 0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,
+ 0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,
+ 0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x22,
+ 0x75,0x74,0x66,0x2d,0x38,0x22,0x3f,0x3e,0x0d,0x0a,
+ 0x3c,0x21,0x2d,0x2d,0x20,0x47,0x65,0x6e,0x65,0x72,
+ 0x61,0x74,0x6f,0x72,0x3a,0x20,0x41,0x64,0x6f,0x62,
+ 0x65,0x20,0x49,0x6c,0x6c,0x75,0x73,0x74,0x72,0x61,
+ 0x74,0x6f,0x72,0x20,0x31,0x36,0x2e,0x30,0x2e,0x33,
+ 0x2c,0x20,0x53,0x56,0x47,0x20,0x45,0x78,0x70,0x6f,
+ 0x72,0x74,0x20,0x50,0x6c,0x75,0x67,0x2d,0x49,0x6e,
+ 0x20,0x2e,0x20,0x53,0x56,0x47,0x20,0x56,0x65,0x72,
+ 0x73,0x69,0x6f,0x6e,0x3a,0x20,0x36,0x2e,0x30,0x30,
+ 0x20,0x42,0x75,0x69,0x6c,0x64,0x20,0x30,0x29,0x20,
+ 0x20,0x2d,0x2d,0x3e,0x0d,0x0a,0x3c,0x21,0x44,0x4f,
+ 0x43,0x54,0x59,0x50,0x45,0x20,0x73,0x76,0x67,0x20,
+ 0x50,0x55,0x42,0x4c,0x49,0x43,0x20,0x22,0x2d,0x2f,
+ 0x2f,0x57,0x33,0x43,0x2f,0x2f,0x44,0x54,0x44,0x20,
+ 0x53,0x56,0x47,0x20,0x31,0x2e,0x31,0x2f,0x2f,0x45,
+ 0x4e,0x22,0x20,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,
+ 0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,
+ 0x67,0x2f,0x47,0x72,0x61,0x70,0x68,0x69,0x63,0x73,
+ 0x2f,0x53,0x56,0x47,0x2f,0x31,0x2e,0x31,0x2f,0x44,
+ 0x54,0x44,0x2f,0x73,0x76,0x67,0x31,0x31,0x2e,0x64,
+ 0x74,0x64,0x22,0x3e,0x0d,0x0a,0x3c,0x73,0x76,0x67,
+ 0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,
+ 0x31,0x2e,0x31,0x22,0x20,0x69,0x64,0x3d,0x22,0x45,
+ 0x62,0x65,0x6e,0x65,0x5f,0x31,0x22,0x20,0x78,0x6d,
+ 0x6c,0x6e,0x73,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,
+ 0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,
+ 0x72,0x67,0x2f,0x32,0x30,0x30,0x30,0x2f,0x73,0x76,
+ 0x67,0x22,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x3d,0x22,0x68,0x74,0x74,0x70,
+ 0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,
+ 0x6f,0x72,0x67,0x2f,0x31,0x39,0x39,0x39,0x2f,0x78,
+ 0x6c,0x69,0x6e,0x6b,0x22,0x20,0x78,0x3d,0x22,0x30,
+ 0x70,0x78,0x22,0x20,0x79,0x3d,0x22,0x30,0x70,0x78,
+ 0x22,0x0d,0x0a,0x09,0x20,0x77,0x69,0x64,0x74,0x68,
+ 0x3d,0x22,0x32,0x31,0x2e,0x30,0x30,0x32,0x70,0x78,
+ 0x22,0x20,0x68,0x65,0x69,0x67,0x68,0x74,0x3d,0x22,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x70,0x78,0x22,0x20,
+ 0x76,0x69,0x65,0x77,0x42,0x6f,0x78,0x3d,0x22,0x30,
+ 0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,0x32,0x20,
+ 0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,0x65,0x6e,
+ 0x61,0x62,0x6c,0x65,0x2d,0x62,0x61,0x63,0x6b,0x67,
+ 0x72,0x6f,0x75,0x6e,0x64,0x3d,0x22,0x6e,0x65,0x77,
+ 0x20,0x30,0x20,0x30,0x20,0x32,0x31,0x2e,0x30,0x30,
+ 0x32,0x20,0x32,0x32,0x2e,0x30,0x30,0x32,0x22,0x20,
+ 0x78,0x6d,0x6c,0x3a,0x73,0x70,0x61,0x63,0x65,0x3d,
+ 0x22,0x70,0x72,0x65,0x73,0x65,0x72,0x76,0x65,0x22,
+ 0x3e,0x0d,0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,
+ 0x69,0x74,0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,
+ 0x0d,0x0a,0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,
+ 0x69,0x6c,0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,
+ 0x37,0x37,0x22,0x20,0x64,0x3d,0x22,0x4d,0x32,0x31,
+ 0x2e,0x30,0x30,0x32,0x2c,0x32,0x31,0x2e,0x32,0x39,
+ 0x33,0x63,0x30,0x2c,0x30,0x2e,0x33,0x39,0x2d,0x30,
+ 0x2e,0x33,0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x68,0x2d,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x2d,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2d,
+ 0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x76,0x2d,0x38,0x2e,0x33,0x37,0x39,0x0d,0x0a,
+ 0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,0x39,0x2c,
+ 0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x68,0x37,0x2e,0x39,0x33,0x37,0x63,
+ 0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,
+ 0x56,0x32,0x31,0x2e,0x32,0x39,0x33,0x7a,0x22,0x2f,
+ 0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,0x0a,0x3c,
+ 0x67,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3d,
+ 0x22,0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,0x09,0x3c,
+ 0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,0x6c,0x3d,
+ 0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,0x22,0x20,
+ 0x64,0x3d,0x22,0x4d,0x32,0x31,0x2e,0x30,0x30,0x32,
+ 0x2c,0x39,0x2e,0x30,0x38,0x38,0x63,0x30,0x2c,0x30,
+ 0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2c,
+ 0x30,0x2e,0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,0x30,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x68,0x2d,0x37,
+ 0x2e,0x39,0x33,0x37,0x63,0x2d,0x30,0x2e,0x33,0x39,
+ 0x2c,0x30,0x2d,0x30,0x2e,0x37,0x30,0x39,0x2d,0x30,
+ 0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,0x37,0x30,0x39,
+ 0x2d,0x30,0x2e,0x37,0x30,0x38,0x56,0x30,0x2e,0x37,
+ 0x30,0x38,0x0d,0x0a,0x09,0x09,0x63,0x30,0x2d,0x30,
+ 0x2e,0x33,0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2d,
+ 0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,
+ 0x39,0x2d,0x30,0x2e,0x37,0x30,0x38,0x68,0x37,0x2e,
+ 0x39,0x33,0x37,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,0x2e,0x33,
+ 0x31,0x39,0x2c,0x30,0x2e,0x37,0x30,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x56,0x39,0x2e,0x30,0x38,0x38,
+ 0x7a,0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,
+ 0x0d,0x0a,0x3c,0x67,0x3e,0x0d,0x0a,0x09,0x3c,0x70,
+ 0x61,0x74,0x68,0x20,0x66,0x69,0x6c,0x6c,0x3d,0x22,
+ 0x23,0x37,0x37,0x37,0x37,0x37,0x37,0x22,0x20,0x64,
+ 0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,0x34,0x2c,0x32,
+ 0x31,0x2e,0x32,0x39,0x33,0x63,0x30,0x2c,0x30,0x2e,
+ 0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,
+ 0x2e,0x37,0x30,0x39,0x2d,0x30,0x2e,0x37,0x30,0x38,
+ 0x2c,0x30,0x2e,0x37,0x30,0x39,0x48,0x30,0x2e,0x37,
+ 0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,0x2c,0x32,
+ 0x32,0x2e,0x30,0x30,0x32,0x2c,0x30,0x2c,0x32,0x31,
+ 0x2e,0x36,0x38,0x33,0x2c,0x30,0x2c,0x32,0x31,0x2e,
+ 0x32,0x39,0x33,0x76,0x2d,0x38,0x2e,0x33,0x37,0x39,
+ 0x0d,0x0a,0x09,0x09,0x63,0x30,0x2d,0x30,0x2e,0x33,
+ 0x39,0x2c,0x30,0x2e,0x33,0x31,0x39,0x2d,0x30,0x2e,
+ 0x37,0x30,0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,
+ 0x30,0x2e,0x37,0x30,0x39,0x68,0x37,0x2e,0x39,0x33,
+ 0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x37,
+ 0x30,0x39,0x56,0x32,0x31,0x2e,0x32,0x39,0x33,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x67,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,
+ 0x79,0x3d,0x22,0x30,0x2e,0x35,0x22,0x3e,0x0d,0x0a,
+ 0x09,0x3c,0x70,0x61,0x74,0x68,0x20,0x66,0x69,0x6c,
+ 0x6c,0x3d,0x22,0x23,0x37,0x37,0x37,0x37,0x37,0x37,
+ 0x22,0x20,0x64,0x3d,0x22,0x4d,0x39,0x2e,0x33,0x35,
+ 0x34,0x2c,0x39,0x2e,0x30,0x38,0x37,0x63,0x30,0x2c,
+ 0x30,0x2e,0x33,0x39,0x2d,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x37,0x30,0x38,0x2d,0x30,0x2e,0x37,
+ 0x30,0x38,0x2c,0x30,0x2e,0x37,0x30,0x38,0x48,0x30,
+ 0x2e,0x37,0x30,0x38,0x43,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x39,0x2e,0x37,0x39,0x36,0x2c,0x30,0x2c,0x39,
+ 0x2e,0x34,0x37,0x37,0x2c,0x30,0x2c,0x39,0x2e,0x30,
+ 0x38,0x37,0x56,0x30,0x2e,0x37,0x30,0x38,0x0d,0x0a,
+ 0x09,0x09,0x43,0x30,0x2c,0x30,0x2e,0x33,0x31,0x39,
+ 0x2c,0x30,0x2e,0x33,0x31,0x39,0x2c,0x30,0x2c,0x30,
+ 0x2e,0x37,0x30,0x38,0x2c,0x30,0x68,0x37,0x2e,0x39,
+ 0x33,0x38,0x63,0x30,0x2e,0x33,0x39,0x2c,0x30,0x2c,
+ 0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,0x33,0x31,
+ 0x39,0x2c,0x30,0x2e,0x37,0x30,0x38,0x2c,0x30,0x2e,
+ 0x37,0x30,0x38,0x56,0x39,0x2e,0x30,0x38,0x37,0x7a,
+ 0x22,0x2f,0x3e,0x0d,0x0a,0x3c,0x2f,0x67,0x3e,0x0d,
+ 0x0a,0x3c,0x2f,0x73,0x76,0x67,0x3e,0x0d,0x0a
+};
diff --git a/data/resources/busy_0.svg b/data/resources/busy_0.svg
new file mode 100644
index 000000000..6dc4abb27
--- /dev/null
+++ b/data/resources/busy_0.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/data/resources/busy_1.svg b/data/resources/busy_1.svg
new file mode 100644
index 000000000..d13089132
--- /dev/null
+++ b/data/resources/busy_1.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/data/resources/busy_2.svg b/data/resources/busy_2.svg
new file mode 100644
index 000000000..95862598b
--- /dev/null
+++ b/data/resources/busy_2.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/data/resources/busy_3.svg b/data/resources/busy_3.svg
new file mode 100644
index 000000000..cf35d9cfc
--- /dev/null
+++ b/data/resources/busy_3.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/src/components/AnimatedImageComponent.cpp b/src/components/AnimatedImageComponent.cpp
new file mode 100644
index 000000000..665045df7
--- /dev/null
+++ b/src/components/AnimatedImageComponent.cpp
@@ -0,0 +1,90 @@
+#include "AnimatedImageComponent.h"
+#include "ImageComponent.h"
+#include "../Log.h"
+
+// animation definitions because there's only one right now and i'm too lazy to make another file
+AnimationFrame BUSY_ANIMATION_FRAMES[] = {
+ {":/busy_0.svg", 500},
+ {":/busy_1.svg", 500},
+ {":/busy_2.svg", 500},
+ {":/busy_3.svg", 500},
+};
+const AnimationDef BUSY_ANIMATION_DEF = { BUSY_ANIMATION_FRAMES, 4, true };
+
+
+AnimatedImageComponent::AnimatedImageComponent(Window* window, const AnimationDef* def) : GuiComponent(window), mEnabled(false)
+{
+ if(def)
+ load(def);
+}
+
+void AnimatedImageComponent::load(const AnimationDef* def)
+{
+ mFrames.clear();
+
+ assert(def->frameCount >= 1);
+
+ for(size_t i = 0; i < def->frameCount; i++)
+ {
+ if(def->frames[i].path != NULL && !ResourceManager::getInstance()->fileExists(def->frames[i].path))
+ {
+ LOG(LogError) << "Missing animation frame " << i << " (\"" << def->frames[i].path << "\")";
+ continue;
+ }
+
+ auto img = std::unique_ptr(new ImageComponent(mWindow));
+ img->setResize(mSize.x(), mSize.y());
+ img->setImage(std::string(def->frames[i].path), false);
+
+ mFrames.push_back(ImageFrame(std::move(img), def->frames[i].time));
+ }
+
+ mLoop = def->loop;
+
+ mCurrentFrame = 0;
+ mFrameAccumulator = 0;
+ mEnabled = true;
+}
+
+void AnimatedImageComponent::onSizeChanged()
+{
+ for(auto it = mFrames.begin(); it != mFrames.end(); it++)
+ {
+ it->first->setResize(mSize.x(), mSize.y());
+ }
+}
+
+void AnimatedImageComponent::update(int deltaTime)
+{
+ if(!mEnabled || mFrames.size() == 0)
+ return;
+
+ mFrameAccumulator += deltaTime;
+
+ while(mFrames.at(mCurrentFrame).second <= mFrameAccumulator)
+ {
+ mCurrentFrame++;
+
+ if(mCurrentFrame == mFrames.size())
+ {
+ if(mLoop)
+ {
+ // restart
+ mCurrentFrame = 0;
+ }else{
+ // done, stop at last frame
+ mCurrentFrame--;
+ mEnabled = false;
+ break;
+ }
+ }
+
+ mFrameAccumulator -= mFrames.at(mCurrentFrame).second;
+ }
+}
+
+void AnimatedImageComponent::render(const Eigen::Affine3f& trans)
+{
+ if(mFrames.size())
+ mFrames.at(mCurrentFrame).first->render(getTransform() * trans);
+}
diff --git a/src/components/AnimatedImageComponent.h b/src/components/AnimatedImageComponent.h
new file mode 100644
index 000000000..a49bc0804
--- /dev/null
+++ b/src/components/AnimatedImageComponent.h
@@ -0,0 +1,43 @@
+#include "../GuiComponent.h"
+
+class ImageComponent;
+
+struct AnimationFrame
+{
+ const char* path;
+ int time;
+};
+
+struct AnimationDef
+{
+ AnimationFrame* frames;
+ size_t frameCount;
+ bool loop;
+};
+
+class AnimatedImageComponent : public GuiComponent
+{
+public:
+ AnimatedImageComponent(Window* window, const AnimationDef* def = NULL);
+
+ void load(const AnimationDef* def); // no reference to def is kept after loading is complete
+
+ void update(int deltaTime) override;
+ void render(const Eigen::Affine3f& trans) override;
+
+ void onSizeChanged() override;
+
+private:
+ typedef std::pair, int> ImageFrame;
+
+ std::vector mFrames;
+
+ bool mLoop;
+ bool mEnabled;
+ int mFrameAccumulator;
+ int mCurrentFrame;
+};
+
+
+// animation declarations because there's only one right now and I'm too lazy to make another file
+extern const AnimationDef BUSY_ANIMATION_DEF;
diff --git a/src/views/SystemView.cpp b/src/views/SystemView.cpp
index 9045b263c..6707742cb 100644
--- a/src/views/SystemView.cpp
+++ b/src/views/SystemView.cpp
@@ -22,10 +22,6 @@ SystemView::SystemView(Window* window) : IList(wind
mSystemInfo.setSize(mSize.x(), mSystemInfo.getSize().y() * 2.f);
mSystemInfo.setPosition(0, (mSize.y() + BAND_HEIGHT) / 2);
- //const float sysInfoHeight = mSystemInfo.getSize().y() * 1.3f;
- //mSystemInfo.setSize(mSize.x(), sysInfoHeight);
- //mSystemInfo.setPosition(0, (mSize.y() - BAND_HEIGHT) / 2 + BAND_HEIGHT - sysInfoHeight);
-
populate();
}
@@ -251,7 +247,6 @@ void SystemView::render(const Eigen::Affine3f& parentTrans)
Renderer::setMatrix(trans);
Renderer::drawRect(mSystemInfo.getPosition().x(), mSystemInfo.getPosition().y() - 1, mSize.x(), mSystemInfo.getSize().y(), 0xDDDDDD00 | (unsigned char)(mSystemInfo.getOpacity() / 255.f * 0xD8));
- //Renderer::drawRect(mSystemInfo.getPosition().x() + mSize.x() * 0.025f, mSystemInfo.getPosition().y() - 1, mSize.x() * 0.95f, 2.f, 0x777777FF);
mSystemInfo.render(trans);
}
diff --git a/src/views/SystemView.h b/src/views/SystemView.h
index 4272ad9bc..65664ff65 100644
--- a/src/views/SystemView.h
+++ b/src/views/SystemView.h
@@ -8,6 +8,7 @@
#include "../resources/TextureResource.h"
class SystemData;
+class AnimatedImageComponent;
struct SystemViewData
{