diff options
author | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-04-11 20:44:54 +0100 |
---|---|---|
committer | Andrzej J.R. Hunt <andrzej@ahunt.org> | 2013-04-11 20:46:16 +0100 |
commit | 4fae09f7ed6360dd6c7b4ce2e57166221820d450 (patch) | |
tree | 5a13d44fcb4f833dc0392670cd4f2d75fb5abb58 /firefoxos | |
parent | 6b3bca32186a59cc3632d3f6eb7f329b739e75b0 (diff) |
Complete slideshow control functions.
Change-Id: I093d1a06c6771a22fb804b302d573dbfa72aaf86
Diffstat (limited to 'firefoxos')
-rw-r--r-- | firefoxos/sdremote/index.html | 23 | ||||
-rw-r--r-- | firefoxos/sdremote/js/client.js | 57 | ||||
-rw-r--r-- | firefoxos/sdremote/js/transmitter.js | 78 |
3 files changed, 110 insertions, 48 deletions
diff --git a/firefoxos/sdremote/index.html b/firefoxos/sdremote/index.html index 4d07d6eac458..eaf82f9a81be 100644 --- a/firefoxos/sdremote/index.html +++ b/firefoxos/sdremote/index.html @@ -17,13 +17,30 @@ console.info("Hello world"); } - var mCommunicator; + var mClient; + var mTransmitter; </script> + <script src="js/client.js"></script> <script src="js/transmitter.js"></script> </head> <body onLoad="init();"> - <button id="open_comm" onclick="mCommunicator = new Communicator('127.0.0.1');">Press to Connect (localhost)</button> - <button id="transition_next" onclick="if (mCommunicator) mCommunicator.sendMessage('transition_next\n\n');">transition_next</button> + <button id="open_comm" onclick="mClient = new Client('127.0.0.1'); mTransmitter = new Transmitter( mClient );">Press to Connect (localhost)</button> + + <br/><br/> + + <button id="startPres" onclick="mTransmitter.startPresentation()">Start Presentation</button> + <button id="stopPres" onclick="mTransmitter.stopPresentation()">Stop Presentation</button> + + <br/><br/> + + <button id="next" onclick="mTransmitter.nextTransition()">Next</button> + <button id="previous" onclick="mTransmitter.previousTransition()">Previous</button> + <br/> + <button id="blank" onclick="mTransmitter.blankScreen()">Blank Screen</button> + <button id="resume" onclick="mTransmitter.resume()">Resume</button> + <br/> + + <p>Current slide: <span id="current slide">---</span></p> </body> </html> diff --git a/firefoxos/sdremote/js/client.js b/firefoxos/sdremote/js/client.js new file mode 100644 index 000000000000..f9ad71b8b250 --- /dev/null +++ b/firefoxos/sdremote/js/client.js @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * 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/. + */ +function Client( aServerAddress ) { + + var mReceiveBuffer = ""; + var mCurrentMessage = []; + var mSocket; + + // PUBLIC + this.sendMessage = function( aMessage ) { + mSocket.send( aMessage ); + } + + // PRIVATE + function processMessage( aMessage ) { + console.log( "Received message " + aMessage ); + } + + function dataReceived( aEvent ) { + mReceiveBuffer += aEvent.data; + var i; + while ( ( i = mReceiveBuffer.indexOf( '\n' ) ) != -1 ) { + var aLine = mReceiveBuffer.substring( 0, i ); + mReceiveBuffer = mReceiveBuffer.substring( i+1 ); + if ( aLine.length > 0 ) { + mCurrentMessage.push( aLine ); + } else { + processMessage( mCurrentMessage ); + mCurrentMessage = []; + } + aLine = ""; + } + } + + // CONSTRUCTOR + if( navigator.mozTCPSocket ) { + mSocket = navigator.mozTCPSocket.open( "localhost", 1599 ); + mSocket.onopen = function( aEvent ) { + console.log( "Received onopen" ); + mSocket.send( "LO_SERVER_CLIENT_PAIR\nFirefox OS\n1234\n\n" ); + } + mSocket.onerror = function( aEvent ) { + console.log( "Received error: " + aEvent.data ); + } + mSocket.ondata = dataReceived; + } else { + console.log( "Can't access socket." ); + } + +} +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file diff --git a/firefoxos/sdremote/js/transmitter.js b/firefoxos/sdremote/js/transmitter.js index b22b2706b364..3fd500e25264 100644 --- a/firefoxos/sdremote/js/transmitter.js +++ b/firefoxos/sdremote/js/transmitter.js @@ -6,52 +6,40 @@ * 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/. */ -function Communicator( aServerAddress ) { - - var mReceiveBuffer = ""; - var mCurrentMessage = []; - var mSocket; - - // PUBLIC - this.sendMessage = function( aMessage ) { - mSocket.send( aMessage ); - } - - // PRIVATE - function processMessage( aMessage ) { - console.log( "Received message " + aMessage ); - } - - function dataReceived( aEvent ) { - mReceiveBuffer += aEvent.data; - var i; - while ( ( i = mReceiveBuffer.indexOf( '\n' ) ) != -1 ) { - var aLine = mReceiveBuffer.substring( 0, i ); - mReceiveBuffer = mReceiveBuffer.substring( i+1 ); - if ( aLine.length > 0 ) { - mCurrentMessage.push( aLine ); - } else { - processMessage( mCurrentMessage ); - mCurrentMessage = []; - } - aLine = ""; - } - } - - // CONSTRUCTOR - if( navigator.mozTCPSocket ) { - mSocket = navigator.mozTCPSocket.open( "localhost", 1599 ); - mSocket.onopen = function( aEvent ) { - console.log( "Received onopen" ); - mSocket.send( "LO_SERVER_CLIENT_PAIR\nFirefox OS\n1234\n\n" ); - } - mSocket.onerror = function( aEvent ) { - console.log( "Received error: " + aEvent.data ); - } - mSocket.ondata = dataReceived; - } else { - console.log( "Can't access socket." ); +function Transmitter( aClient ) { + + var mClient = aClient; + + this.nextTransition = function() { + mClient.sendMessage( "transition_next\n\n" ); + } + + this.previousTransition = function() { + mClient.sendMessage( "transition_previous\n\n" ); + } + + this.gotoSlide = function( aSlide ) { + mClient.sendMessage( "goto_slide\n" + aSlide + "\n\n" ); + } + + this.blankScreen = function() { + mClient.sendMessage( "presentation_blank_screen\n\n" ); } + this.blankScreen = function( aColor ) { + mClient.sendMessage( "presentation_blank_screen\n" + aColor + "\n\n" ); + } + + this.resume = function() { + mClient.sendMessage( "presentation_resume\n\n" ); + } + + this.startPresentation = function() { + mClient.sendMessage( "presentation_start\n\n" ); + } + + this.stopPresentation = function() { + mClient.sendMessage( "presentation_stop\n\n" ); + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file |