-#include <cspi/spi-private.h>
-
-static void
-svalue_set_from_float (Accessibility_SValue *sval, float newValue)
-{
- switch (sval->_d)
- {
- case Accessibility_SHORTVAL:
- sval->_u.val_short = CLAMP (newValue, G_MINSHORT, G_MAXSHORT);
- break;
- case Accessibility_USHORTVAL:
- sval->_u.val_ushort = CLAMP (newValue, 0, G_MAXUSHORT);
- break;
- case Accessibility_LONGVAL:
- sval->_u.val_long = CLAMP (newValue, G_MINLONG, G_MAXLONG);
- break;
- case Accessibility_ULONGVAL:
- sval->_u.val_ulong = CLAMP (newValue, 0, G_MAXULONG);
- break;
- case Accessibility_FLOATVAL:
- sval->_u.val_float = newValue;
- break;
- case Accessibility_DOUBLEVAL:
- sval->_u.val_double = newValue;
- break;
- }
-}
-
-
-static float
-svalue_to_float (Accessibility_SValue *sval)
-{
- float retval = 0.0;
- switch (sval->_d)
- {
- case Accessibility_SHORTVAL:
- retval = sval->_u.val_short;
- break;
- case Accessibility_USHORTVAL:
- retval = sval->_u.val_ushort;
- break;
- case Accessibility_LONGVAL:
- retval = sval->_u.val_long;
- break;
- case Accessibility_ULONGVAL:
- retval = sval->_u.val_ulong;
- break;
- case Accessibility_FLOATVAL:
- retval = sval->_u.val_float;
- break;
- case Accessibility_DOUBLEVAL:
- retval = sval->_u.val_double;
- break;
- }
-
- return retval;
-}
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#include <cspi/spi-private.h>
/**
* AccessibleValue_ref:
* Returns: the minimum allowed value for this object.
*
**/
-float
+double
AccessibleValue_getMinimumValue (AccessibleValue *obj)
{
- Accessibility_SValue sval;
+ double retval;
cspi_return_val_if_fail (obj != NULL, 0.0);
- sval =
+ retval =
Accessibility_Value__get_minimumValue (CSPI_OBJREF (obj), cspi_ev ());
cspi_return_val_if_ev ("getMinimumValue", 0.0);
- return svalue_to_float (&sval);
+ return retval;
}
/**
*
* Returns: the current value for this object.
**/
-float
+double
AccessibleValue_getCurrentValue (AccessibleValue *obj)
{
- Accessibility_SValue sval;
+ double retval;
cspi_return_val_if_fail (obj != NULL, 0.0);
- sval =
+ retval =
Accessibility_Value__get_currentValue (CSPI_OBJREF (obj), cspi_ev ());
cspi_return_val_if_ev ("getCurrentValue", 0.0);
- return svalue_to_float (&sval);
+ return retval;
}
/**
*
* Returns: the maximum allowed value for this object.
**/
-float
+double
AccessibleValue_getMaximumValue (AccessibleValue *obj)
{
- Accessibility_SValue sval;
-
+ double retval;
cspi_return_val_if_fail (obj != NULL, 0.0);
- sval =
+ retval =
Accessibility_Value__get_maximumValue (CSPI_OBJREF (obj), cspi_ev ());
cspi_return_val_if_ev ("getMaximumValue", 0.0);
- return svalue_to_float (&sval);
+ return retval;
}
/**
**/
SPIBoolean
AccessibleValue_setCurrentValue (AccessibleValue *obj,
- float newValue)
+ double newValue)
{
- Accessibility_SValue sval;
cspi_return_val_if_fail (obj != NULL, FALSE);
- /* erk, this is ugly */
- sval = Accessibility_Value__get_currentValue (
- CSPI_OBJREF (obj), cspi_ev ());
-
- svalue_set_from_float (&sval, newValue);
-
Accessibility_Value__set_currentValue (
- CSPI_OBJREF (obj), &sval, cspi_ev ());
+ CSPI_OBJREF (obj), newValue, cspi_ev ());
cspi_return_val_if_ev ("setCurrentValue", FALSE);