public spline_ctrl(Vector2 location, Vector2 size, int num_pnt) : base(location, false) { LocalBounds = new RectangleDouble(0, 0, size.x, size.y); m_curve_pnt = new PathStorage(); m_curve_poly = new Stroke(m_curve_pnt); m_ellipse = new Ellipse(); m_background_color = new RGBA_Bytes(1.0, 1.0, 0.9); m_border_color = new RGBA_Bytes(0.0, 0.0, 0.0); m_curve_color = new RGBA_Bytes(0.0, 0.0, 0.0); m_inactive_pnt_color = new RGBA_Bytes(0.0, 0.0, 0.0); m_active_pnt_color = new RGBA_Bytes(1.0, 0.0, 0.0); m_num_pnt = (num_pnt); m_border_width = (1.0); m_border_extra = (0.0); m_curve_width = (1.0); m_point_size = (3.0); m_curve_poly = new Stroke(m_curve_pnt); m_idx = (0); m_vertex = (0); m_active_pnt = (-1); m_move_pnt = (-1); m_pdx = (0.0); m_pdy = (0.0); if (m_num_pnt < 4) { m_num_pnt = 4; } if (m_num_pnt > 32) { m_num_pnt = 32; } for (int i = 0; i < m_num_pnt; i++) { m_xp[i] = (double)(i) / (double)(m_num_pnt - 1); m_yp[i] = 0.5; } calc_spline_box(); update_spline(); { m_spline.init((int)m_num_pnt, m_xp, m_yp); for (int i = 0; i < 256; i++) { m_spline_values[i] = m_spline.get((double)(i) / 255.0); if (m_spline_values[i] < 0.0) { m_spline_values[i] = 0.0; } if (m_spline_values[i] > 1.0) { m_spline_values[i] = 1.0; } m_spline_values8[i] = (byte)(m_spline_values[i] * 255.0); } } }
public spline_ctrl(Vector2 location, Vector2 size, int num_pnt) : base(location, false) { LocalBounds = new RectangleDouble(0, 0, size.x, size.y); m_curve_pnt = new PathStorage(); m_curve_poly = new Stroke(m_curve_pnt); m_ellipse = new Ellipse(); m_background_color = new RGBA_Bytes(1.0, 1.0, 0.9); m_border_color = new RGBA_Bytes(0.0, 0.0, 0.0); m_curve_color = new RGBA_Bytes(0.0, 0.0, 0.0); m_inactive_pnt_color = new RGBA_Bytes(0.0, 0.0, 0.0); m_active_pnt_color = new RGBA_Bytes(1.0, 0.0, 0.0); m_num_pnt = (num_pnt); m_border_width = (1.0); m_border_extra = (0.0); m_curve_width = (1.0); m_point_size = (3.0); m_curve_poly = new Stroke(m_curve_pnt); m_idx = (0); m_vertex = (0); m_active_pnt = (-1); m_move_pnt = (-1); m_pdx = (0.0); m_pdy = (0.0); if (m_num_pnt < 4) m_num_pnt = 4; if (m_num_pnt > 32) m_num_pnt = 32; for (int i = 0; i < m_num_pnt; i++) { m_xp[i] = (double)(i) / (double)(m_num_pnt - 1); m_yp[i] = 0.5; } calc_spline_box(); update_spline(); { m_spline.init((int)m_num_pnt, m_xp, m_yp); for (int i = 0; i < 256; i++) { m_spline_values[i] = m_spline.get((double)(i) / 255.0); if (m_spline_values[i] < 0.0) m_spline_values[i] = 0.0; if (m_spline_values[i] > 1.0) m_spline_values[i] = 1.0; m_spline_values8[i] = (byte)(m_spline_values[i] * 255.0); } } }