/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsIAccessibleEvent.idl"

/*
 * An interface for virtual cursor changed events.
 * Passes previous cursor position and text offsets.
 */
[scriptable, builtinclass, uuid(a58693b1-009e-4cc9-ae93-9c7d8f85cfdf)]
interface nsIAccessibleVirtualCursorChangeEvent : nsIAccessibleEvent
{
  /**
   * Previous object pointed at by virtual cursor. null if none.
   */
  readonly attribute nsIAccessible oldAccessible;

  /**
   * Previous start offset of pivot. -1 if none.
   */
  readonly attribute long oldStartOffset;

  /**
   * Previous end offset of pivot. -1 if none.
   */
  readonly attribute long oldEndOffset;

  /**
   * Reason for virtual cursor move.
   */
  readonly attribute short reason;
};
