Blame dom/events/CompositionEvent.h

Packit f0b94e
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
Packit f0b94e
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
Packit f0b94e
/* This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
 * License, v. 2.0. If a copy of the MPL was not distributed with this
Packit f0b94e
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Packit f0b94e
Packit f0b94e
#ifndef mozilla_dom_CompositionEvent_h_
Packit f0b94e
#define mozilla_dom_CompositionEvent_h_
Packit f0b94e
Packit f0b94e
#include "mozilla/dom/CompositionEventBinding.h"
Packit f0b94e
#include "mozilla/dom/TextClause.h"
Packit f0b94e
#include "mozilla/dom/TypedArray.h"
Packit f0b94e
#include "mozilla/dom/UIEvent.h"
Packit f0b94e
#include "mozilla/EventForwards.h"
Packit f0b94e
Packit f0b94e
namespace mozilla {
Packit f0b94e
namespace dom {
Packit f0b94e
Packit f0b94e
typedef nsTArray<RefPtr<TextClause>> TextClauseArray;
Packit f0b94e
Packit f0b94e
class CompositionEvent : public UIEvent {
Packit f0b94e
 public:
Packit f0b94e
  CompositionEvent(EventTarget* aOwner, nsPresContext* aPresContext,
Packit f0b94e
                   WidgetCompositionEvent* aEvent);
Packit f0b94e
Packit f0b94e
  NS_DECL_ISUPPORTS_INHERITED
Packit f0b94e
  NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(CompositionEvent, UIEvent)
Packit f0b94e
  NS_FORWARD_TO_UIEVENT
Packit f0b94e
Packit f0b94e
  static already_AddRefed<CompositionEvent> Constructor(
Packit f0b94e
      const GlobalObject& aGlobal, const nsAString& aType,
Packit f0b94e
      const CompositionEventInit& aParam, ErrorResult& aRv);
Packit f0b94e
Packit f0b94e
  virtual JSObject* WrapObjectInternal(
Packit f0b94e
      JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override {
Packit f0b94e
    return CompositionEventBinding::Wrap(aCx, this, aGivenProto);
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  void InitCompositionEvent(const nsAString& aType, bool aCanBubble,
Packit f0b94e
                            bool aCancelable, nsGlobalWindowInner* aView,
Packit f0b94e
                            const nsAString& aData, const nsAString& aLocale);
Packit f0b94e
  void GetData(nsAString&) const;
Packit f0b94e
  void GetLocale(nsAString&) const;
Packit f0b94e
  void GetRanges(TextClauseArray& aRanges);
Packit f0b94e
Packit f0b94e
 protected:
Packit f0b94e
  ~CompositionEvent() {}
Packit f0b94e
Packit f0b94e
  nsString mData;
Packit f0b94e
  nsString mLocale;
Packit f0b94e
  TextClauseArray mRanges;
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
}  // namespace dom
Packit f0b94e
}  // namespace mozilla
Packit f0b94e
Packit f0b94e
already_AddRefed<mozilla::dom::CompositionEvent> NS_NewDOMCompositionEvent(
Packit f0b94e
    mozilla::dom::EventTarget* aOwner, nsPresContext* aPresContext,
Packit f0b94e
    mozilla::WidgetCompositionEvent* aEvent);
Packit f0b94e
Packit f0b94e
#endif  // mozilla_dom_CompositionEvent_h_