@@ -175,8 +175,19 @@ def _update_state(self):
175175 # not activated yet, keep movement 1:1
176176 self ._scroll_x_circle_filter .x = self ._scroll_x_circle
177177
178- def _render_shimmer_label (self , label_rect : rl .Rectangle ):
179- # Shimmer shader for iOS-style text animation
178+ def _render_shimmer_label (self ):
179+ label_alpha = int (255 * (1.0 - self .slider_percentage ) * self ._opacity_filter .x )
180+ if label_alpha <= 0 :
181+ return
182+
183+ self ._label .set_text_color (rl .Color (255 , 255 , 255 , label_alpha ))
184+ label_rect = rl .Rectangle (
185+ self ._rect .x + 20 ,
186+ self ._rect .y ,
187+ self ._rect .width - self ._circle_bg_txt .width - 20 * 2.5 ,
188+ self ._rect .height ,
189+ )
190+
180191 if self ._shimmer_shader is None :
181192 self ._shimmer_shader = rl .load_shader_from_memory (SHIMMER_VERTEX_SHADER , SHIMMER_FRAGMENT_SHADER )
182193 self ._shimmer_time_loc = rl .get_shader_location (self ._shimmer_shader , "time" )
@@ -204,16 +215,8 @@ def _render(self, _):
204215 btn_x = bg_txt_x + self ._bg_txt .width - self ._circle_bg_txt .width + self ._scroll_x_circle_filter .x
205216 btn_y = self ._rect .y + (self ._rect .height - self ._circle_bg_txt .height ) / 2
206217
207- label_alpha = int (255 * (1.0 - self .slider_percentage ) * self ._opacity_filter .x )
208- if label_alpha > 0 :
209- self ._label .set_text_color (rl .Color (255 , 255 , 255 , label_alpha ))
210- label_rect = rl .Rectangle (
211- self ._rect .x + 20 ,
212- self ._rect .y ,
213- self ._rect .width - self ._circle_bg_txt .width - 20 * 2.5 ,
214- self ._rect .height ,
215- )
216- self ._render_shimmer_label (label_rect )
218+ # Shimmer shader for label
219+ self ._render_shimmer_label ()
217220
218221 # circle and arrow
219222 circle_bg_txt = self ._circle_bg_pressed_txt if self ._is_dragging_circle or self .confirmed else self ._circle_bg_txt
0 commit comments