void filterview_paint(t_filterview *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_point(x, view, &rect); }
void radio_paint(t_radio *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); draw_items(x, view, &rect); }
void meter_paint(t_meter *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); draw_leds(x, view, &rect); }
void gain_paint(t_gain *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); draw_knob(x, view, &rect); }
static void plane_paint(t_plane *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); t_elayer *g = ebox_start_layer((t_ebox *)x, cream_sym_points_layer, rect.width, rect.height); if(g) { const float size = x->f_size; const char inv1 = ebox_parameter_isinverted((t_ebox *)x, 1); const char inv2 = ebox_parameter_isinverted((t_ebox *)x, 2); const float valx = ebox_parameter_getvalue_normalized((t_ebox *)x, 1); const float valy = ebox_parameter_getvalue_normalized((t_ebox *)x, 2); egraphics_set_color_rgba(g, &x->f_color_point); if(!inv1 && !inv2) egraphics_circle(g, valx * (rect.width - size * 2.f) + size, (1.f - valy) * (rect.height - size * 2.f) + size, size); else if(!inv1 && inv2) egraphics_circle(g, valx * (rect.width - size * 2.f) + size, valy * (rect.height - size * 2.f) + size, size); else if(inv1 && !inv2) egraphics_circle(g, (1.f - valx) * (rect.width - size * 2.f) + size, (1.f - valy) * (rect.height - size * 2.f) + size, size); else egraphics_circle(g, (1.f - valx) * (rect.width - size * 2.f) + size, valy * (rect.height - size * 2.f) + size, size); egraphics_fill(g); ebox_end_layer((t_ebox*)x, cream_sym_points_layer); } ebox_paint_layer((t_ebox *)x, cream_sym_points_layer, 0, 0); }
void knob_paint(t_knob *x, t_object *view) { t_rect rect; if(x->f_endless) { if(x->f_min < x->f_max) { x->f_value = fmodf(x->f_value + x->f_max - x->f_min, x->f_max - x->f_min); } else { x->f_value = fmodf(x->f_value + x->f_min - x->f_max, x->f_min - x->f_max); } } else { if(x->f_min < x->f_max) x->f_value = pd_clip_minmax(x->f_value, x->f_min, x->f_max); else x->f_value = pd_clip_minmax(x->f_value, x->f_max, x->f_min); } ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); draw_needle(x, view, &rect); }
void carray_paint(t_carray *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); draw_buffer(x, view, &rect); }
static void knob_paint(t_knob *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); draw_needle(x, view, &rect); }
void breakpoints_paint(t_breakpoints *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); x->f_size.x = rect.width; x->f_size.y = rect.height; draw_text(x, view, &rect); draw_points(x, view, &rect); }
void plane_paint(t_plane *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); x->f_ratio.x = (rect.width - 2 * x->f_size - 2) / (x->f_boundaries.width - x->f_boundaries.x); x->f_ratio.y = (rect.height - 2 * x->f_size - 2) / (x->f_boundaries.height - x->f_boundaries.y); draw_point(x, view, &rect); }
static void tab_paint(t_tab *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_selection(x, view, &rect); draw_background(x, view, &rect); draw_text(x, view, &rect); }
void scope_paint(t_scope *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); if(x->f_mode) draw_signalXY(x, view, &rect); else draw_signal(x, view, &rect); }
static void knob_mousedrag(t_knob *x, t_object *patcherview, t_pt pt, long modifiers) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); if(x->f_circular) { const float size = rect.width * 0.5f; const float angle = pd_angle(pt.x - size, -(size - pt.y)); if(x->f_endless) { const float value = pd_wrap((angle - EPD_PI2) / EPD_2PI, 0.f, 1.f); if(ebox_parameter_isinverted((t_ebox *)x, 1)) { ebox_parameter_setvalue_normalized((t_ebox *)x, 1, 1.f - value, 1); } else { ebox_parameter_setvalue_normalized((t_ebox *)x, 1, value, 1); } } else { const float value = (pd_clip(pd_wrap((angle - EPD_PI2) / EPD_2PI, 0.f, 1.f), 0.125f, 0.875f) - 0.125f) / 0.75f; if(ebox_parameter_isinverted((t_ebox *)x, 1)) { ebox_parameter_setvalue_normalized((t_ebox *)x, 1, 1.f - value, 1); } else { ebox_parameter_setvalue_normalized((t_ebox *)x, 1, value, 1); } } knob_output(x); ebox_invalidate_layer((t_ebox *)x, cream_sym_needle_layer); ebox_redraw((t_ebox *)x); } else { const float current = ebox_parameter_getvalue_normalized((t_ebox *)x, 1); const float diff = (x->f_reference - pt.y) / (rect.width) * (ebox_parameter_isinverted((t_ebox *)x, 1) ? -1.f : 1.f); if(x->f_endless) { ebox_parameter_setvalue_normalized((t_ebox *)x, 1, pd_wrap(current + diff, 0.f, 1.f), 1); } else { ebox_parameter_setvalue_normalized((t_ebox *)x, 1, pd_clip(current + diff, 0.f, 1.f), 1); } x->f_reference = pt.y; } knob_output(x); ebox_invalidate_layer((t_ebox *)x, cream_sym_needle_layer); ebox_redraw((t_ebox *)x); }
void hoa_scope_paint(t_hoa_scope *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); x->f_center = rect.width * .5; x->f_radius = x->f_center * 0.95; draw_background(x, view, &rect); draw_harmonics(x, view, &rect); }
static void dsp_tilde_paint(t_dsp_tilde *x, t_object *view) { t_rect rect; if(!x->f_init) { x->f_state = sys_getdspstate(); x->f_init = 1; } ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); }
void hoa_meter_paint(t_hoa_meter *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); x->f_center = rect.width * .5; x->f_radius = x->f_center * 0.95; x->f_radius_center = x->f_radius / 5.; draw_background(x, view, &rect); draw_leds(x, view, &rect); draw_vectors(x, view, &rect); }
static void blackboard_paint(t_blackboard *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); sys_vgui((char *)"%s delete %snopen\n", x->j_box.b_drawing_id->s_name, x->j_box.b_all_id->s_name); for(int i = 0; i < x->f_ninstructions; i++) { sys_vgui((char *)"%s %s -tags %snopen\n", x->j_box.b_drawing_id->s_name, x->f_instructions[i], x->j_box.b_all_id->s_name); } x->f_box = rect; }
static void incdec_paint(t_incdec *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); t_elayer *g = ebox_start_layer((t_ebox *)x, cream_sym_background_layer, rect.width, rect.height); if (g) { egraphics_set_color_rgba(g, &x->f_color_arrow); if(x->f_mouse_down) { if(x->f_mouse_down == 1) { egraphics_rectangle(g, 0.f, 0.f, rect.width, rect.height * 0.5f); } else { egraphics_rectangle(g, 0.f, rect.height * 0.5f, rect.width, rect.height); } egraphics_fill(g); } if(x->f_mouse_down == 1) { egraphics_set_color_rgba(g, &x->f_color_background); } egraphics_move_to(g, 2.f, rect.height * 0.5f - 3.f); egraphics_line_to(g, rect.width - 2.f, rect.height * 0.5f - 3.f); egraphics_line_to(g, rect.width * 0.5f, 2.f); egraphics_fill(g); if(x->f_mouse_down == -1) { egraphics_set_color_rgba(g, &x->f_color_background); } else { egraphics_set_color_rgba(g, &x->f_color_arrow); } egraphics_move_to(g, 2.f, rect.height * 0.5f + 3.f); egraphics_line_to(g, rect.width - 2.f, rect.height * 0.5f + 3.f); egraphics_line_to(g, rect.width * 0.5f, rect.height - 2.f); egraphics_fill(g); egraphics_set_color_rgba(g, &x->f_color_border); egraphics_set_line_width(g, 2.f); egraphics_line_fast(g, 0., rect.height * 0.5f, rect.width, rect.height * 0.5f); ebox_end_layer((t_ebox*)x, cream_sym_background_layer); } ebox_paint_layer((t_ebox *)x, cream_sym_background_layer, 0., 0.); }
static void plane_mousedown(t_plane *x, t_object *patcherview, t_pt pt, long modifiers) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); ebox_parameter_begin_changes((t_ebox *)x, 1); ebox_parameter_begin_changes((t_ebox *)x, 2); const float minx = ebox_parameter_getmin((t_ebox *)x, 1); const float maxx = ebox_parameter_getmax((t_ebox *)x, 1); const float miny = ebox_parameter_getmin((t_ebox *)x, 2); const float maxy = ebox_parameter_getmax((t_ebox *)x, 2); const float valx = plane_getvalue(&rect, pt.x, minx, maxx, x->f_size); const float valy = plane_getvalue(&rect, pt.y, miny, maxy, x->f_size); ebox_parameter_setvalue((t_ebox *)x, 1, valx, 1); ebox_parameter_setvalue((t_ebox *)x, 2, valy, 1); }
static void tab_mousemove(t_tab *x, t_object *patcherview, t_pt pt, long modifiers) { t_rect rect; int index; if(x->f_nitems) { ebox_get_rect_for_view((t_ebox *)x, &rect); index = x->f_orientation ? (pt.y / (rect.height / (float)x->f_nitems)) : (pt.x / (rect.width / (float)x->f_nitems)); x->f_item_hover = pd_clip(index, 0, x->f_nitems - 1); outlet_float(x->f_out_hover, x->f_item_hover); ebox_invalidate_layer((t_ebox *)x, cream_sym_selection_layer); ebox_redraw((t_ebox *)x); } }
static void tab_mousedown(t_tab *x, t_object *patcherview, t_pt pt, long modifiers) { t_rect rect; int index; if(x->f_nitems) { x->f_off = 0; ebox_get_rect_for_view((t_ebox *)x, &rect); index = x->f_orientation ? (pt.y / (rect.height / (float)x->f_nitems)) : (pt.x / (rect.width / (float)x->f_nitems)); ebox_parameter_setvalue((t_ebox *)x, 1, index, 1); tab_output(x); ebox_invalidate_layer((t_ebox *)x, cream_sym_selection_layer); ebox_redraw((t_ebox *)x); } }
void hoa_space_paint(t_hoa_space *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); x->f_center = rect.width * .5; x->f_radius_global = rect.width * 0.49; x->f_radius_circle = x->f_radius_global / 5; hoa_space_draw_background(x, view, &rect); hoa_space_draw_harmonics(x, view, &rect); hoa_space_draw_center(x, view, &rect); hoa_space_draw_microphones(x, view, &rect); }
static void plane_mousedrag(t_plane *x, t_object *patcherview, t_pt pt, long modifiers) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); const float minx = ebox_parameter_getmin((t_ebox *)x, 1); const float maxx = ebox_parameter_getmax((t_ebox *)x, 1); const float miny = ebox_parameter_getmin((t_ebox *)x, 2); const float maxy = ebox_parameter_getmax((t_ebox *)x, 2); const float valx = plane_getvalue(&rect, pt.x, minx, maxx, x->f_size); const float valy = plane_getvalue(&rect, (rect.height - pt.y), miny, maxy, x->f_size); ebox_parameter_setvalue((t_ebox *)x, 1, valx, 1); ebox_parameter_setvalue((t_ebox *)x, 2, valy, 1); plane_output(x); ebox_invalidate_layer((t_ebox *)x, cream_sym_points_layer); ebox_redraw((t_ebox *)x); }
static void incdec_mousedown(t_incdec *x, t_object *patcherview, t_pt pt, long modifiers) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); if(pt.y - 2.f < rect.height * 0.5f) { incdec_inc(x); x->f_mouse_down = 1; } else { incdec_dec(x); x->f_mouse_down = -1; } clock_delay(x->f_clock, 250.); ebox_invalidate_layer((t_ebox *)x, cream_sym_background_layer); ebox_redraw((t_ebox *)x); }
void number_tilde_paint(t_number_tilde *x, t_object *view) { t_rect rect; #ifdef __APPLE__ float fontwidth = sys_fontwidth(x->j_box.b_font.c_size); #elif _WINDOWS float fontwidth = sys_fontwidth(x->j_box.b_font.c_size); #else float fontwidth = sys_fontwidth(x->j_box.b_font.c_size) + 3; #endif ebox_get_rect_for_view((t_ebox *)x, &rect); #ifdef __APPLE__ x->f_max_decimal = (rect.width - fontwidth - 8) / fontwidth - 2; #elif _WINDOWS x->f_max_decimal = (rect.width - fontwidth - 8) / fontwidth - 2; #else x->f_max_decimal = (rect.width - fontwidth - 11) / fontwidth + 1; #endif draw_background(x, view, &rect); draw_value(x, view, &rect); }
void bang_paint(t_bang *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); }
void matrixctrl_paint(t_matrixctrl *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); }
static void preset_paint(t_presetobj *x, t_object *view) { t_rect rect; ebox_get_rect_for_view((t_ebox *)x, &rect); draw_background(x, view, &rect); }