accessible/src/xpcom/xpcAccessibleValue.cpp

branch
TOR_BUG_9701
changeset 8
97036ab72558
equal deleted inserted replaced
-1:000000000000 0:b1a2e74723fb
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7 #include "xpcAccessibleValue.h"
8 #include "Accessible.h"
9
10 using namespace mozilla;
11 using namespace mozilla::a11y;
12
13 NS_IMETHODIMP
14 xpcAccessibleValue::GetMaximumValue(double* aValue)
15 {
16 NS_ENSURE_ARG_POINTER(aValue);
17 *aValue = 0;
18
19 Accessible* acc = static_cast<Accessible*>(this);
20 if (acc->IsDefunct())
21 return NS_ERROR_FAILURE;
22
23 double value = acc->MaxValue();
24 if (!IsNaN(value))
25 *aValue = value;
26
27 return NS_OK;
28 }
29
30 NS_IMETHODIMP
31 xpcAccessibleValue::GetMinimumValue(double* aValue)
32 {
33 NS_ENSURE_ARG_POINTER(aValue);
34 *aValue = 0;
35
36 Accessible* acc = static_cast<Accessible*>(this);
37 if (acc->IsDefunct())
38 return NS_ERROR_FAILURE;
39
40 double value = acc->MinValue();
41 if (!IsNaN(value))
42 *aValue = value;
43
44 return NS_OK;
45 }
46
47 NS_IMETHODIMP
48 xpcAccessibleValue::GetCurrentValue(double* aValue)
49 {
50 NS_ENSURE_ARG_POINTER(aValue);
51 *aValue = 0;
52
53 Accessible* acc = static_cast<Accessible*>(this);
54 if (acc->IsDefunct())
55 return NS_ERROR_FAILURE;
56
57 double value = acc->CurValue();
58 if (!IsNaN(value))
59 *aValue = value;
60
61 return NS_OK;
62 }
63
64 NS_IMETHODIMP
65 xpcAccessibleValue::SetCurrentValue(double aValue)
66 {
67 Accessible* acc = static_cast<Accessible*>(this);
68 if (acc->IsDefunct())
69 return NS_ERROR_FAILURE;
70
71 acc->SetCurValue(aValue);
72 return NS_OK;
73 }
74
75 NS_IMETHODIMP
76 xpcAccessibleValue::GetMinimumIncrement(double* aValue)
77 {
78 NS_ENSURE_ARG_POINTER(aValue);
79 *aValue = 0;
80
81 Accessible* acc = static_cast<Accessible*>(this);
82 if (acc->IsDefunct())
83 return NS_ERROR_FAILURE;
84
85 double value = acc->Step();
86 if (!IsNaN(value))
87 *aValue = value;
88
89 return NS_OK;
90 }

mercurial