/* -*- 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 "nsISupports.idl" [scriptable, uuid(99957506-f21b-4a61-ad64-5b641cf508e2)] interface nsIBidiKeyboard : nsISupports { /** * Determines if the current keyboard language is right-to-left * @throws NS_ERROR_FAILURE if no right-to-left keyboards are installed */ boolean isLangRTL(); /** * Sets the keyboard language to left-to-right or right-to-left * @param aLevel - if odd set the keyboard to RTL, if even set LTR * @throws NS_ERROR_FAILURE if no right-to-left keyboards are installed */ void setLangFromBidiLevel(in PRUint8 aLevel); /** * Determines whether the system has at least one keyboard of each direction * installed. * * @throws NS_ERROR_NOT_IMPLEMENTED if the widget layer does not provide this * information. */ readonly attribute boolean haveBidiKeyboards; };