Browse Source

Move the logo drawing keyframe to lcd_keyframes

Fred Sundvik 8 years ago
parent
commit
3074269c4a

+ 2 - 20
keyboards/ergodox/infinity/visualizer.c

@@ -72,24 +72,6 @@ static visualizer_user_data_t user_data_keyboard = {
 _Static_assert(sizeof(visualizer_user_data_t) <= VISUALIZER_USER_DATA_SIZE,
     "Please increase the VISUALIZER_USER_DATA_SIZE");
 
-bool display_logo(keyframe_animation_t* animation, visualizer_state_t* state) {
-    (void)state;
-    (void)animation;
-    (void)state;
-    // Read the uGFX documentation for information how to use the displays
-    // http://wiki.ugfx.org/index.php/Main_Page
-    gdispClear(White);
-
-    // You can use static variables for things that can't be found in the animation
-    // or state structs, here we use the image
-
-    //gdispGBlitArea is a tricky function to use since it supports blitting part of the image
-    // if you have full screen image, then just use 128 and 32 for both source and target dimensions
-    gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)resource_lcd_logo);
-
-    return false;
-}
-
 // Feel free to modify the animations below, or even add new ones if needed
 
 // Don't worry, if the startup animation is long, you can use the keyboard like normal
@@ -99,7 +81,7 @@ static keyframe_animation_t startup_animation = {
     .loop = false,
     .frame_lengths = {0, gfxMillisecondsToTicks(10000), 0},
     .frame_functions = {
-            display_logo,
+            lcd_keyframe_draw_logo,
             backlight_keyframe_animate_color,
     },
 };
@@ -162,7 +144,7 @@ static keyframe_animation_t resume_animation = {
     .frame_functions = {
             lcd_keyframe_enable,
             backlight_keyframe_enable,
-            display_logo,
+            lcd_keyframe_draw_logo,
             backlight_keyframe_animate_color,
     },
 };

+ 2 - 20
keyboards/ergodox/keymaps/default/visualizer.c

@@ -46,24 +46,6 @@ typedef enum {
 
 static lcd_state_t lcd_state = LCD_STATE_INITIAL;
 
-bool display_logo(keyframe_animation_t* animation, visualizer_state_t* state) {
-    (void)state;
-    (void)animation;
-    (void)state;
-    // Read the uGFX documentation for information how to use the displays
-    // http://wiki.ugfx.org/index.php/Main_Page
-    gdispClear(White);
-
-    // You can use static variables for things that can't be found in the animation
-    // or state structs, here we use the image
-
-    //gdispGBlitArea is a tricky function to use since it supports blitting part of the image
-    // if you have full screen image, then just use 128 and 32 for both source and target dimensions
-    gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)resource_lcd_logo);
-
-    return false;
-}
-
 // Feel free to modify the animations below, or even add new ones if needed
 
 // Don't worry, if the startup animation is long, you can use the keyboard like normal
@@ -73,7 +55,7 @@ static keyframe_animation_t startup_animation = {
     .loop = false,
     .frame_lengths = {0, gfxMillisecondsToTicks(10000), 0},
     .frame_functions = {
-            display_logo,
+            lcd_keyframe_draw_logo,
             backlight_keyframe_animate_color,
     },
 };
@@ -104,7 +86,7 @@ static keyframe_animation_t resume_animation = {
     .frame_functions = {
             lcd_keyframe_enable,
             backlight_keyframe_enable,
-            display_logo,
+            lcd_keyframe_draw_logo,
             backlight_keyframe_animate_color,
     },
 };

+ 19 - 0
quantum/visualizer/lcd_keyframes.c

@@ -18,6 +18,7 @@
 #include <string.h>
 #include "action_util.h"
 #include "led.h"
+#include "resources/resources.h"
 
 bool lcd_keyframe_display_layer_text(keyframe_animation_t* animation, visualizer_state_t* state) {
     (void)animation;
@@ -154,6 +155,24 @@ bool lcd_keyframe_display_layer_and_led_states(keyframe_animation_t* animation,
     return false;
 }
 
+bool lcd_keyframe_draw_logo(keyframe_animation_t* animation, visualizer_state_t* state) {
+    (void)state;
+    (void)animation;
+    // Read the uGFX documentation for information how to use the displays
+    // http://wiki.ugfx.org/index.php/Main_Page
+    gdispClear(White);
+
+    // You can use static variables for things that can't be found in the animation
+    // or state structs, here we use the image
+
+    //gdispGBlitArea is a tricky function to use since it supports blitting part of the image
+    // if you have full screen image, then just use 128 and 32 for both source and target dimensions
+    gdispGBlitArea(GDISP, 0, 0, 128, 32, 0, 0, 128, (pixel_t*)resource_lcd_logo);
+
+    return false;
+}
+
+
 bool lcd_keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state) {
     (void)animation;
     (void)state;

+ 2 - 0
quantum/visualizer/lcd_keyframes.h

@@ -29,6 +29,8 @@ bool lcd_keyframe_display_mods_bitmap(keyframe_animation_t* animation, visualize
 bool lcd_keyframe_display_led_states(keyframe_animation_t* animation, visualizer_state_t* state);
 // Displays both the layer text and the led states
 bool lcd_keyframe_display_layer_and_led_states(keyframe_animation_t* animation, visualizer_state_t* state);
+// Displays the QMK logo on the LCD screen
+bool lcd_keyframe_draw_logo(keyframe_animation_t* animation, visualizer_state_t* state);
 
 bool lcd_keyframe_disable(keyframe_animation_t* animation, visualizer_state_t* state);
 bool lcd_keyframe_enable(keyframe_animation_t* animation, visualizer_state_t* state);