/* forces everything on screen to be redrawn -- perfect for keeping track of settings! */ void forceScreenRedraw() { // maybe the colors changed! for(int i = 0; i < 4; i++) { ClockDigit_setColor(&clockDigits[i], globalSettings.timeColor, globalSettings.timeBgColor); } window_set_background_color(mainWindow, globalSettings.timeBgColor); // or maybe the sidebar position changed! if(globalSettings.sidebarOnRight) { layer_set_frame(sidebarLayer, GRect(114, 0, 30, 168)); for(int i = 0; i < 4; i++) { ClockDigit_offsetPosition(&clockDigits[i], 0); } } else { layer_set_frame(sidebarLayer, GRect(0, 0, 30, 168)); for(int i = 0; i < 4; i++) { ClockDigit_offsetPosition(&clockDigits[i], 30); } } // maybe the language changed! update_clock(); }
/* forces everything on screen to be redrawn -- perfect for keeping track of settings! */ void redrawScreen() { // check if the tick handler frequency should be changed if(globalSettings.updateScreenEverySecond != updatingEverySecond) { tick_timer_service_unsubscribe(); if(globalSettings.updateScreenEverySecond) { tick_timer_service_subscribe(SECOND_UNIT, tick_handler); updatingEverySecond = true; } else { tick_timer_service_subscribe(MINUTE_UNIT, tick_handler); updatingEverySecond = false; } } // maybe the colors changed! for(int i = 0; i < 4; i++) { ClockDigit_setColor(&clockDigits[i], globalSettings.timeColor, globalSettings.timeBgColor); // ClockDigit_setColor(&clockDigits[i], globalSettings.timeColor, GColorWhite); } window_set_background_color(mainWindow, globalSettings.timeBgColor); // or maybe the sidebar position changed! int digitOffset = (globalSettings.sidebarOnLeft) ? 30 : 0; for(int i = 0; i < 4; i++) { ClockDigit_offsetPosition(&clockDigits[i], digitOffset); } // maybe the language changed! update_clock(); // update the sidebar Sidebar_redraw(); }