draw_spectral_bar   xtlang


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/examples/contrib/spectral_meter.xtm

Implementation

;; draw an individual 'bar' in the spectrum
(bind-func draw_spectral_bar
  (let ((orange_break 500.0)  ;marks transition to orange levels
        (red_break 650.0)     ;marks transition to red levels
        (colour_array:|3,rgb_colour|* (alloc)))
    ;; fill the colours for the spectral levels
    (tfill! (aref-ptr colour_array 0) 0.0 0.8 0.1) ;green
    (tfill! (aref-ptr colour_array 1) 0.6 0.5 0.0) ;orange
    (tfill! (aref-ptr colour_array 2) 1.0 0.2 0.0) ;red
    (lambda (cr bar_index bar_width bar_height)
      (let ((bar_width_jittered (+ bar_width
                                   (round (* (* bar_width 0.5)
                                             (- (random) 0.5)))))
            (bar_xpos (* (i64tod bar_index)
                         bar_width)))
        ;; draw red bars
        (if (> bar_height red_break)
            (begin
              (set_cairo_source_with_colour cr (aref-ptr colour_array 2))
              (cairo_rectangle cr
                               bar_xpos
                               0.0
                               bar_width_jittered
                               bar_height)
              (cairo_fill cr)))
        ;; draw orange bars
        (if (> bar_height orange_break)
            (begin
              (set_cairo_source_with_colour cr (aref-ptr colour_array 1))
              (cairo_rectangle cr
                               bar_xpos
                               0.0
                               bar_width_jittered
                               (if (> bar_height red_break)
                                   red_break bar_height))
              (cairo_fill cr)))
        ;; draw green bars
        (set_cairo_source_with_colour cr (aref-ptr colour_array 0))
        (cairo_rectangle cr
                         bar_xpos
                         0.0
                         bar_width_jittered
                         (if (> bar_height orange_break)
                             orange_break bar_height))
        (cairo_fill cr)))))


Back to Index

Similar Entries

  • VAO_bind_and_draw_arrays    xtlang
  • cairo_draw_image    xtlang
  • cpBBArea    xtlang
  • draw    xtlang
  • draw    xtlang
  • draw-skeleton    xtlang
  • draw_a_circle    xtlang
  • draw_a_circle    xtlang
  • draw_a_line    xtlang
  • draw_a_line    xtlang
  • draw_barplot    xtlang
  • draw_color_body_frame    xtlang
  • draw_color_body_frame_with_hands    xtlang
  • draw_frame    xtlang
  • draw_frame    xtlang
  • draw_frame    xtlang
  • draw_quad    xtlang
  • draw_rgb_frame    xtlang
  • draw_scatterplot    xtlang
  • draw_scene    xtlang
  • draw_seg    xtlang
  • draw_spectrum_key    xtlang
  • dv_draw_axes_2D    xtlang
  • dv_draw_axis_labels_2D    xtlang
  • dv_draw_bars    xtlang
  • dv_draw_line    xtlang
  • dv_draw_line_segments    xtlang
  • dv_draw_scatter_points    xtlang
  • dv_draw_scatter_points    xtlang
  • dv_draw_title    xtlang
  • gl-draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw    xtlang
  • gl_draw_arrows    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_loop    xtlang
  • gl_draw_particles    xtlang
  • gui_draw_circle    xtlang
  • gui_draw_rect    xtlang
  • gui_draw_text_in_bounds    xtlang
  • init_draw_quad    xtlang
  • nvg_draw_loop    xtlang
  • nvg_draw_loop    xtlang
  • nvg_draw_loop    xtlang
  • nvg_draw_loop    xtlang
  • nvg_draw_text    xtlang
  • psystem_draw    xtlang
  • psystem_draw    xtlang
  • shader_prepare_draw    xtlang
  • shader_prepare_draw    xtlang
  • shader_prepare_draw    xtlang
  • shader_prepare_draw    xtlang
  • shader_prepare_draw    xtlang
  • xtm_draw_arc    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_fill    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arc_stroke    xtlang
  • xtm_draw_arcd    xtlang
  • xtm_draw_bezier_fill    xtlang
  • xtm_draw_bezier_fill    xtlang
  • xtm_draw_bezier_fill    xtlang
  • xtm_draw_bezier_fill    xtlang
  • xtm_draw_bezier_stroke    xtlang
  • xtm_draw_bezier_stroke    xtlang
  • xtm_draw_bezier_stroke    xtlang
  • xtm_draw_bezier_stroke    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_fill    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_circle_stroke    xtlang
  • xtm_draw_ellipse    xtlang
  • xtm_draw_ellipse_fill    xtlang
  • xtm_draw_ellipse_fill    xtlang
  • xtm_draw_ellipse_fill    xtlang
  • xtm_draw_ellipse_fill    xtlang
  • xtm_draw_ellipse_stroke    xtlang
  • xtm_draw_ellipse_stroke    xtlang
  • xtm_draw_ellipse_stroke    xtlang
  • xtm_draw_ellipse_stroke    xtlang
  • xtm_draw_ellipsed    xtlang
  • xtm_draw_line    xtlang
  • xtm_draw_line    xtlang
  • xtm_draw_line    xtlang
  • xtm_draw_line    xtlang
  • xtm_draw_line    xtlang
  • xtm_draw_lined    xtlang
  • xtm_draw_mesh    xtlang
  • xtm_draw_mesh    xtlang
  • xtm_draw_model    xtlang
  • xtm_draw_model    xtlang
  • xtm_draw_path    xtlang
  • xtm_draw_path_keep    xtlang
  • xtm_draw_poly    xtlang
  • xtm_draw_polyd    xtlang
  • xtm_draw_quad    xtlang
  • xtm_draw_quad_fill    xtlang
  • xtm_draw_quad_fill    xtlang
  • xtm_draw_quad_fill    xtlang
  • xtm_draw_quad_fill    xtlang
  • xtm_draw_quad_stroke    xtlang
  • xtm_draw_quad_stroke    xtlang
  • xtm_draw_quad_stroke    xtlang
  • xtm_draw_quad_stroke    xtlang
  • xtm_draw_quadd    xtlang
  • xtm_draw_rect    xtlang
  • xtm_draw_rect_fill    xtlang
  • xtm_draw_rect_fill    xtlang
  • xtm_draw_rect_fill    xtlang
  • xtm_draw_rect_fill    xtlang
  • xtm_draw_rect_stroke    xtlang
  • xtm_draw_rect_stroke    xtlang
  • xtm_draw_rect_stroke    xtlang
  • xtm_draw_rect_stroke    xtlang
  • xtm_draw_rectd    xtlang
  • xtm_draw_round_rect    xtlang
  • xtm_draw_round_rectd    xtlang
  • xtm_draw_rounded_rect_fill    xtlang
  • xtm_draw_rounded_rect_fill    xtlang
  • xtm_draw_rounded_rect_fill    xtlang
  • xtm_draw_rounded_rect_fill    xtlang
  • xtm_draw_rounded_rect_stroke    xtlang
  • xtm_draw_rounded_rect_stroke    xtlang
  • xtm_draw_rounded_rect_stroke    xtlang
  • xtm_draw_rounded_rect_stroke    xtlang
  • xtm_draw_rounded_rect_varying_fill    xtlang
  • xtm_draw_rounded_rect_varying_fill    xtlang
  • xtm_draw_rounded_rect_varying_fill    xtlang
  • xtm_draw_rounded_rect_varying_fill    xtlang
  • xtm_draw_rounded_rect_varying_stroke    xtlang
  • xtm_draw_rounded_rect_varying_stroke    xtlang
  • xtm_draw_rounded_rect_varying_stroke    xtlang
  • xtm_draw_rounded_rect_varying_stroke    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tex    xtlang
  • xtm_draw_tri    xtlang
  • xtm_draw_tri_fill    xtlang
  • xtm_draw_tri_fill    xtlang
  • xtm_draw_tri_fill    xtlang
  • xtm_draw_tri_fill    xtlang
  • xtm_draw_tri_stroke    xtlang
  • xtm_draw_tri_stroke    xtlang
  • xtm_draw_tri_stroke    xtlang
  • xtm_draw_tri_stroke    xtlang
  • xtm_draw_trid    xtlang
  • xtm_draw_vao    xtlang
  • xtm_draw_vao    xtlang
  • xtm_draw_vgimage    xtlang
  • xtm_scale_and_draw_vgimage    xtlang
  • xtm_scale_and_draw_vgimaged    xtlang