示例#1
0
文件: slider.c 项目: AlicVB/darktable
static int step_member(lua_State*L)
{
  lua_slider slider;
  luaA_to(L,lua_slider,&slider,1);
  if(lua_gettop(L) > 2) {
    float value = luaL_checknumber(L,3);
    dt_bauhaus_slider_set_step(slider->widget,value);
    return 0;
  }
  lua_pushnumber(L,dt_bauhaus_slider_get_step(slider->widget));
  return 1;
}
static gboolean bauhaus_slider_decrease_callback(GtkAccelGroup *accel_group,
                                                 GObject *acceleratable, guint keyval,
                                                 GdkModifierType modifier, gpointer data)
{
  GtkWidget *slider = GTK_WIDGET(data);

  float value = dt_bauhaus_slider_get(slider);
  float step  = dt_bauhaus_slider_get_step(slider);

  dt_bauhaus_slider_set(slider, value - step);

  g_signal_emit_by_name(G_OBJECT(slider),"value-changed");
  return TRUE;
}