1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @fileoverview Defines a Braille interface. 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * All Braille engines in ChromeVox conform to this interface. 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.provide('cvox.BrailleInterface'); 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.BrailleKeyCommand'); 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.BrailleKeyEvent'); 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.NavBraille'); 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @interface 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.BrailleInterface = function() { }; 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Sends the given params to the Braille display for output. 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {!cvox.NavBraille} params Parameters to send to the 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * platform braille service. 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.BrailleInterface.prototype.write = 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) function(params) { }; 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * Sets a callback for handling braille keyboard commands. 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @param {function(!cvox.BrailleKeyEvent, cvox.NavBraille)} func The function 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * to be called when the user invokes a keyboard command on the braille 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * display. The first parameter is the key event. The second parameter is 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * the content that was present on the display when the key command 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * was invoked, if available. 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.BrailleInterface.prototype.setCommandListener = 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) function(func) { }; 42