firefoxos/sdremote/index.html | 9 +++++-- firefoxos/sdremote/js/client.js | 7 +---- firefoxos/sdremote/js/receiver.js | 46 +++++++++++++++++++++++++++++++++++++ firefoxos/sdremote/js/slideshow.js | 33 ++++++++++++++++++++++++++ firefoxos/sdremote/js/ui.js | 9 +++++++ 5 files changed, 97 insertions(+), 7 deletions(-)
New commits: commit 520f4d45e9cd592381af66a8ed357de3e346734b Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Fri Apr 12 10:49:44 2013 +0100 Image/Notes storage and basic preview. Change-Id: I466b5e2232811af3fad2266c28e8c4475b77eb71 diff --git a/firefoxos/sdremote/index.html b/firefoxos/sdremote/index.html index eaf82f9..4752239 100644 --- a/firefoxos/sdremote/index.html +++ b/firefoxos/sdremote/index.html @@ -20,7 +20,12 @@ var mClient; var mTransmitter; </script> + + <script src="js/ui.js"></script> + <script src="js/client.js"></script> + <script src="js/receiver.js"></script> + <script src="js/slideshow.js"></script> <script src="js/transmitter.js"></script> </head> <body onLoad="init();"> @@ -39,8 +44,8 @@ <button id="blank" onclick="mTransmitter.blankScreen()">Blank Screen</button> <button id="resume" onclick="mTransmitter.resume()">Resume</button> <br/> + <img id="preview"></img> - - <p>Current slide: <span id="current slide">---</span></p> + <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 index f9ad71b..7702506 100644 --- a/firefoxos/sdremote/js/client.js +++ b/firefoxos/sdremote/js/client.js @@ -11,6 +11,7 @@ function Client( aServerAddress ) { var mReceiveBuffer = ""; var mCurrentMessage = []; var mSocket; + var mReceiver = new Receiver(); // PUBLIC this.sendMessage = function( aMessage ) { @@ -18,10 +19,6 @@ function Client( aServerAddress ) { } // PRIVATE - function processMessage( aMessage ) { - console.log( "Received message " + aMessage ); - } - function dataReceived( aEvent ) { mReceiveBuffer += aEvent.data; var i; @@ -31,7 +28,7 @@ function Client( aServerAddress ) { if ( aLine.length > 0 ) { mCurrentMessage.push( aLine ); } else { - processMessage( mCurrentMessage ); + mReceiver.parseMessage( mCurrentMessage ); mCurrentMessage = []; } aLine = ""; diff --git a/firefoxos/sdremote/js/receiver.js b/firefoxos/sdremote/js/receiver.js new file mode 100644 index 0000000..8cecaa4 --- /dev/null +++ b/firefoxos/sdremote/js/receiver.js @@ -0,0 +1,46 @@ +function Receiver() { + + var mSlideshow; + + this.parseMessage = function( aMessage ) { + console.log( "Received message " + aMessage[0] ); + switch ( aMessage[0] ) { + case "slideshow_started": + mSlideshow = new Slideshow(); + var aSlideShowlength = aMessage[1]; + var aCurrentSlide = aMessage[2]; + mSlideshow.setLength( aSlideShowlength ); + mSlideshow.setCurrentSlide( aCurrentSlide ); + // TODO: notify listeners + break; + case "slideshow_finished": + // TODO: notify listeners + mSlideshow = ''; + break; + default: + if ( !mSlideshow ) { + break; + } + var mSlide = aMessage[1]; + // TODO: notify listeners + switch ( aMessage[0] ) { + case "slide_updated": + mSlideshow.setCurrentSlide( mSlide ); + updatePreview( mSlideshow ); + case "slide_notes": + mSlideshow.putNotes( mSlide, aMessage[2] ); + break; + case "slide_preview": + mSlideshow.putPreview( mSlide, aMessage[2] ); + break; + } + break; + } + } + + this.getSlideshow = function() { + return mSlideshow; + } + + +} \ No newline at end of file diff --git a/firefoxos/sdremote/js/slideshow.js b/firefoxos/sdremote/js/slideshow.js new file mode 100644 index 0000000..0940ab5 --- /dev/null +++ b/firefoxos/sdremote/js/slideshow.js @@ -0,0 +1,33 @@ +function Slideshow() { + + var mSlides = 0; + var mCurrentSlide; + + var mNotes = []; + var mPreviews = []; + + this.setLength = function( aLength ) { + mSlides = aLength; + } + + this.setCurrentSlide = function( aSlide ) { + mCurrentSlide = aSlide; + } + + this.getCurrentSlide = function() { + return mCurrentSlide; + } + + this.putPreview = function( aSlide, aImage ) { + mPreviews[ aSlide ] = aImage; + } + + this.putNotes = function( aSlide, aNotes ) { + mNotes[ aSlide ] = aNotes; + } + + this.getPreview = function( aSlide ) { + return mPreviews[ aSlide ]; + } + +} \ No newline at end of file diff --git a/firefoxos/sdremote/js/ui.js b/firefoxos/sdremote/js/ui.js new file mode 100644 index 0000000..a8c7d6b --- /dev/null +++ b/firefoxos/sdremote/js/ui.js @@ -0,0 +1,9 @@ +function updatePreview( aSlideshow ) { + var aOutputImage = document.getElementById('preview'); + var aPreview = aSlideshow.getPreview( aSlideshow.getCurrentSlide() ); + + aOutputImage.src = "data:image/png;base64," + aPreview; + console.log( "Set image : " + aPreview ); + + document.getElementById('current_slide').innerHTML = aSlideshow.getCurrentSlide(); +} \ No newline at end of file _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits