Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
void   GLUI_Slider::draw_slider( void )
{

   int min_x;
   int max_x;
   int wid_x;

   float min_val;
   float max_val;
   float val;

   int x_pos;

   draw_bkgd_box(
      2 + GLUI_SLIDER_KNOB_SIDE_BORDER - 1,
      w-2 - GLUI_SLIDER_KNOB_SIDE_BORDER,
      GLUI_SLIDER_NAME_TOP_BORDER +
      GLUI_SLIDER_FONT_HEIGHT -
      GLUI_SLIDER_FONT_MID_HEIGHT +
      GLUI_SLIDER_VAL_TOP_BORDER +
      GLUI_SLIDER_FONT_HEIGHT +
      GLUI_SLIDER_KNOB_TOP_BORDER+1,
      GLUI_SLIDER_NAME_TOP_BORDER +
      GLUI_SLIDER_FONT_HEIGHT -
      GLUI_SLIDER_FONT_MID_HEIGHT +
      GLUI_SLIDER_VAL_TOP_BORDER +
      GLUI_SLIDER_FONT_HEIGHT +
      GLUI_SLIDER_KNOB_TOP_BORDER +
      1+ 2*GLUI_SLIDER_KNOB_HALF_HEIGHT + 1);


   draw_emboss_box(                                2 +
         GLUI_SLIDER_KNOB_SIDE_BORDER +
         GLUI_SLIDER_KNOB_HALF_WIDTH,
         w - 2 -
         GLUI_SLIDER_KNOB_HALF_WIDTH -
         GLUI_SLIDER_KNOB_SIDE_BORDER,
         GLUI_SLIDER_NAME_TOP_BORDER +
         GLUI_SLIDER_FONT_HEIGHT -
         GLUI_SLIDER_FONT_MID_HEIGHT +
         GLUI_SLIDER_VAL_TOP_BORDER +
         GLUI_SLIDER_FONT_HEIGHT  +
         GLUI_SLIDER_KNOB_TOP_BORDER +
         GLUI_SLIDER_KNOB_HALF_HEIGHT,
         GLUI_SLIDER_NAME_TOP_BORDER +
         GLUI_SLIDER_FONT_HEIGHT -
         GLUI_SLIDER_FONT_MID_HEIGHT +
         GLUI_SLIDER_VAL_TOP_BORDER +
         GLUI_SLIDER_FONT_HEIGHT +
         GLUI_SLIDER_KNOB_TOP_BORDER +
         GLUI_SLIDER_KNOB_HALF_HEIGHT + 3);


   min_x = 2 + GLUI_SLIDER_KNOB_SIDE_BORDER + GLUI_SLIDER_KNOB_HALF_WIDTH;
   max_x = w - 2 - GLUI_SLIDER_KNOB_HALF_WIDTH - GLUI_SLIDER_KNOB_SIDE_BORDER;
   wid_x = max_x - min_x + 1;

   switch (data_type) {
   case GLUI_SLIDER_INT:
      min_val = (float)int_low;
      max_val = (float)int_high;
      val = (float)int_val;
      break;
   case GLUI_SLIDER_FLOAT:
      min_val = float_low;
      max_val = float_high;
      val = float_val;
      break;
   default:
      fprintf(stderr,"GLUI_Slider::draw_val - Impossible data type!\n");
      abort();
      break;
   }

   if (max_val == min_val)
      x_pos = min_x;
   else {
      if (val == max_val)
         x_pos = max_x;
      else
         x_pos = (int) (min_x + wid_x*((val-min_val)/(max_val-min_val)));
   }

   draw_knob(x_pos,0,0,0,0,glui->bkgd_color[0], glui->bkgd_color[1], glui->bkgd_color[2]);
   draw_knob(x_pos,1,0,1,0, GLUI_SLIDER_KNOB_BLACK, GLUI_SLIDER_KNOB_BLACK, GLUI_SLIDER_KNOB_BLACK);
   draw_knob(x_pos,0,1,0,1, GLUI_SLIDER_KNOB_WHITE, GLUI_SLIDER_KNOB_WHITE, GLUI_SLIDER_KNOB_WHITE);
   if (pressed)
      draw_knob(x_pos,1,1,1,1, GLUI_SLIDER_KNOB_GREY, GLUI_SLIDER_KNOB_GREY, GLUI_SLIDER_KNOB_GREY);
   else
      draw_knob(x_pos,1,1,1,1,glui->bkgd_color[0], glui->bkgd_color[1], glui->bkgd_color[2]);
   draw_knob(x_pos,2,1,2,1, GLUI_SLIDER_KNOB_D_GREY, GLUI_SLIDER_KNOB_D_GREY, GLUI_SLIDER_KNOB_D_GREY);
   if (pressed)
      draw_knob(x_pos,2,2,2,2, GLUI_SLIDER_KNOB_L_GREY, GLUI_SLIDER_KNOB_L_GREY, GLUI_SLIDER_KNOB_L_GREY);
   else
      draw_knob(x_pos,2,2,2,2, GLUI_SLIDER_KNOB_GREY, GLUI_SLIDER_KNOB_GREY, GLUI_SLIDER_KNOB_GREY);


}