1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6#include "nsIAccessibleEvent.idl"
7
8/*
9 * An interface for virtual cursor changed events.
10 * Passes previous cursor position and text offsets.
11 */
12[scriptable, builtinclass, uuid(a58693b1-009e-4cc9-ae93-9c7d8f85cfdf)]
13interface nsIAccessibleVirtualCursorChangeEvent : nsIAccessibleEvent
14{
15  /**
16   * Previous object pointed at by virtual cursor, null if none.
17   */
18  readonly attribute nsIAccessible oldAccessible;
19
20  /**
21   * Previous start offset of pivot, otherwise -1.
22   */
23  readonly attribute long oldStartOffset;
24
25  /**
26   * Previous end offset of pivot, otherwise -1.
27   */
28  readonly attribute long oldEndOffset;
29
30  /**
31   * New object pointed at by virtual cursor, null if none.
32   */
33  readonly attribute nsIAccessible newAccessible;
34
35  /**
36   * New start offset of pivot, otherwise -1.
37   */
38  readonly attribute long newStartOffset;
39
40  /**
41   * New end offset of pivot, otherwise -1.
42   */
43  readonly attribute long newEndOffset;
44
45  /**
46   * Reason for virtual cursor move.
47   */
48  readonly attribute short reason;
49
50  /**
51   * Text boundary type for movement, NO_BOUNDARY if none.
52   */
53  readonly attribute short boundaryType;
54};
55