зеркало из https://github.com/mozilla/gecko-dev.git
46 строки
1.3 KiB
C
46 строки
1.3 KiB
C
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||
|
/* vim: set ts=2 et sw=2 tw=80: */
|
||
|
/* 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/. */
|
||
|
|
||
|
#ifndef mozilla_a11y_xpcAccessibleTextLeafRange_h_
|
||
|
#define mozilla_a11y_xpcAccessibleTextLeafRange_h_
|
||
|
|
||
|
#include "nsIAccessibleTextLeafRange.h"
|
||
|
|
||
|
namespace mozilla {
|
||
|
namespace a11y {
|
||
|
|
||
|
class TextLeafPoint;
|
||
|
|
||
|
class xpcAccessibleTextLeafPoint final : public nsIAccessibleTextLeafPoint {
|
||
|
public:
|
||
|
xpcAccessibleTextLeafPoint(nsIAccessible* aAccessible, int32_t aOffset);
|
||
|
|
||
|
NS_DECL_ISUPPORTS
|
||
|
NS_DECL_NSIACCESSIBLETEXTLEAFPOINT
|
||
|
|
||
|
private:
|
||
|
xpcAccessibleTextLeafPoint() = delete;
|
||
|
|
||
|
~xpcAccessibleTextLeafPoint() {}
|
||
|
|
||
|
xpcAccessibleTextLeafPoint& operator=(const xpcAccessibleTextLeafPoint&) =
|
||
|
delete;
|
||
|
|
||
|
TextLeafPoint ToPoint();
|
||
|
|
||
|
// We can't hold a strong reference to an Accessible, but XPCOM needs strong
|
||
|
// references. Thus, instead of holding a TextLeafPoint here, we hold
|
||
|
// an nsIAccessible references and create the TextLeafPoint for each call
|
||
|
// using ToPoint().
|
||
|
RefPtr<nsIAccessible> mAccessible;
|
||
|
int32_t mOffset;
|
||
|
};
|
||
|
|
||
|
} // namespace a11y
|
||
|
} // namespace mozilla
|
||
|
|
||
|
#endif
|