Add callback function for emulator drawing

This commit is contained in:
Fred Sundvik 2016-05-18 09:03:42 +03:00
parent fa8feb21a4
commit 94519e387a
2 changed files with 10 additions and 1 deletions

View File

@ -413,6 +413,10 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) {
#ifdef LED_ENABLE #ifdef LED_ENABLE
gdispGFlush(LED_DISPLAY); gdispGFlush(LED_DISPLAY);
#endif #endif
#if EMULATOR
draw_emulator();
#endif
// The animation can enable the visualizer // The animation can enable the visualizer
// And we might need to update the state when that happens // And we might need to update the state when that happens
// so don't sleep // so don't sleep

View File

@ -50,6 +50,11 @@ void visualizer_resume(void);
GDisplay* get_lcd_display(void); GDisplay* get_lcd_display(void);
GDisplay* get_led_display(void); GDisplay* get_led_display(void);
// For emulator builds, this function need to be implemented
#if EMULATOR
void draw_emulator(void);
#endif
// If you need support for more than 16 keyframes per animation, you can change this // If you need support for more than 16 keyframes per animation, you can change this
#define MAX_VISUALIZER_KEY_FRAMES 16 #define MAX_VISUALIZER_KEY_FRAMES 16
@ -134,7 +139,7 @@ bool keyframe_enable_lcd_and_backlight(keyframe_animation_t* animation, visualiz
// directly from the initalize_user_visualizer function (the animation can be null) // directly from the initalize_user_visualizer function (the animation can be null)
bool enable_visualization(keyframe_animation_t* animation, visualizer_state_t* state); bool enable_visualization(keyframe_animation_t* animation, visualizer_state_t* state);
// These two functions have to be implemented by the user // These functions have to be implemented by the user
void initialize_user_visualizer(visualizer_state_t* state); void initialize_user_visualizer(visualizer_state_t* state);
void update_user_visualizer_state(visualizer_state_t* state); void update_user_visualizer_state(visualizer_state_t* state);
void user_visualizer_suspend(visualizer_state_t* state); void user_visualizer_suspend(visualizer_state_t* state);