diff --git a/widget/public/MANIFEST_IDL b/widget/public/MANIFEST_IDL index 0c569914843..f069677fa44 100644 --- a/widget/public/MANIFEST_IDL +++ b/widget/public/MANIFEST_IDL @@ -3,6 +3,7 @@ # nsIAppShell.idl +nsIBidiKeyboard.idl nsIFilePicker.idl nsIFileSpecWithUI.idl nsISound.idl diff --git a/widget/public/Makefile.in b/widget/public/Makefile.in index aed6b64ea44..a1aad2b1449 100644 --- a/widget/public/Makefile.in +++ b/widget/public/Makefile.in @@ -87,6 +87,7 @@ XPIDLSRCS = \ nsIRollupListener.idl \ nsIMenuRollup.idl \ nsIBaseWindow.idl \ + nsIBidiKeyboard.idl \ nsIXRemoteClient.idl \ $(NULL) diff --git a/widget/public/makefile.win b/widget/public/makefile.win index 583ea4f86f6..e9ed5385c7a 100644 --- a/widget/public/makefile.win +++ b/widget/public/makefile.win @@ -43,6 +43,7 @@ XPIDLSRCS = \ .\nsIRollupListener.idl \ .\nsIMenuRollup.idl \ .\nsIBaseWindow.idl \ + .\nsIBidiKeyboard.idl \ $(NULL) EXPORTS=\ diff --git a/widget/public/nsIBidiKeyboard.idl b/widget/public/nsIBidiKeyboard.idl new file mode 100644 index 00000000000..47af5d6b60c --- /dev/null +++ b/widget/public/nsIBidiKeyboard.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is IBM code. + * + * The Initial Developer of the Original Code is IBM. + * Portions created by IBM are + * Copyright (C) International Business Machines + * Corporation, 2000. All Rights Reserved. + * + * Contributor(s): Simon Montagu + */ + +#include "nsISupports.idl" + +[scriptable, uuid(BB961AE1-7432-11d4-B77A-00104B4119F8)] +interface nsIBidiKeyboard : nsISupports +{ + /** + * Determines if the current keyboard language is right-to-left + */ + void isLangRTL(out PRBool aIsRTL); + + /** + * 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 + */ + void setLangFromBidiLevel(in PRUint8 aLevel); +}; + diff --git a/widget/public/nsWidgetsCID.h b/widget/public/nsWidgetsCID.h index aecdfc87b5a..07d0da3323a 100644 --- a/widget/public/nsWidgetsCID.h +++ b/widget/public/nsWidgetsCID.h @@ -213,3 +213,8 @@ // {B148EED2-236D-11d3-B35C-00A0CC3C1CDE} #define NS_SOUND_CID \ { 0xb148eed2, 0x236d, 0x11d3, { 0xb3, 0x5c, 0x0, 0xa0, 0xcc, 0x3c, 0x1c, 0xde } } + +// {2572E6B0-7439-11d4-B77A-00104B4119F8} +#define NS_BIDIKEYBOARD_CID \ +{ 0x2572e6b0, 0x7439, 0x11d4, { 0xb7, 0x7a, 0x0, 0x10, 0x4b, 0x41, 0x19, 0xf8 } } +