static void glw_text_bitmap_render(glw_t *w, const glw_rctx_t *rc) { glw_text_bitmap_t *gtb = (glw_text_bitmap_t *)w; float alpha; float blur = 1 - (rc->rc_sharpness * w->glw_sharpness); if(glw_is_focusable_or_clickable(w)) glw_store_matrix(w, rc); alpha = rc->rc_alpha * w->glw_alpha; if(alpha < GLW_ALPHA_EPSILON) return; if(glw_is_tex_inited(>b->gtb_texture) && gtb->gtb_image != NULL) { glw_renderer_draw(>b->gtb_text_renderer, w->glw_root, rc, >b->gtb_texture, NULL, >b->gtb_color, NULL, alpha, blur, NULL); } if(gtb->gtb_paint_cursor) { glw_root_t *gr = w->glw_root; float a = cos((gr->gr_frames & 2047) * (360.0f / 2048.0f)) * 0.5f + 0.5f; glw_rctx_t rc0 = *rc; glw_zinc(&rc0); glw_renderer_draw(>b->gtb_cursor_renderer, w->glw_root, &rc0, NULL, NULL, NULL, NULL, alpha * a, blur, NULL); } }
static void glw_slider_render_y(glw_t *w, const glw_rctx_t *rc) { glw_slider_t *s = (glw_slider_t *)w; glw_t *c; glw_rctx_t rc0; if(glw_is_focusable_or_clickable(w)) glw_store_matrix(w, rc); if((c = TAILQ_FIRST(&w->glw_childs)) == NULL) return; rc0 = *rc; rc0.rc_alpha *= w->glw_alpha; glw_reposition(&rc0, 0, s->knob_pos_px + s->knob_size_px / 2, rc->rc_width, s->knob_pos_px - s->knob_size_px / 2); glw_render0(c, &rc0); }