             fraction -= 1.0;
             if (fraction < 0) fraction = 0.0;
 
-            color.red = 0;
-            color.green = 255 - 255.0 / 2 * (fraction);
-            color.blue = 255.0 * (fraction);
+            color = {
+              0,
+              (uint8_t)(255 - 255.0 / 2 * (fraction)),
+              (uint8_t)(255.0 * (fraction))
+            };
 
             matrix.drawTriangle(matrix.getScreenWidth() - i, matrix.getScreenHeight(), 0, matrix.getScreenHeight() - i, matrix.getScreenWidth(), i, color);
             matrix.swapBuffers(true);

            fraction -= 1.0;
            if (fraction < 0) fraction = 0.0;

            color.red = 0;
            color.green = 255 - 255.0 / 2 * (fraction);
            color.blue = 255.0 * (fraction);

            matrix.drawCircle(matrix.getScreenWidth() / 2, matrix.getScreenHeight() / 2, i, color);
            matrix.swapBuffers(true);

            rgb24 color;
            float fraction = ((float)millis() - currentMillis) / ((float)transitionTime / 2);

            color = {
              (uint8_t)(255 - 255.0 * fraction),
              (uint8_t)(255.0 * fraction),
              0
            };

            matrix.drawRoundRectangle(matrix.getScreenWidth() / 2 - i - 1, matrix.getScreenHeight() / 2 - i - 1, matrix.getScreenWidth() / 2 + i, matrix.getScreenHeight() / 2 + i, i / 2, color);
            matrix.swapBuffers(true);
