diff --git a/bigbluebutton-apps/.gitignore b/bigbluebutton-apps/.gitignore index b5e1da6d65a69f96bd806e85c16455dcd56be854..4afda0aec1a55653f9d79d40da20c4e7902ef7f1 100644 --- a/bigbluebutton-apps/.gitignore +++ b/bigbluebutton-apps/.gitignore @@ -6,3 +6,4 @@ lib .scala_dependencies .manager .gradle +bin diff --git a/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar b/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar new file mode 100644 index 0000000000000000000000000000000000000000..721f0bae524c56453e638e7c24b9b85909b3b155 Binary files /dev/null and b/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar differ diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml index bcaf97db509939b3c88aa7fc47fdbf46630c5545..05f744f15c85d1ab0ee0c4e6dd9fa1d85d625b43 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml @@ -53,11 +53,6 @@ /* Set up full screen handler. */ Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler); dispState = Application.application.stage.displayState; - - /*var r:ResourceBundle = new ResourceBundle("fr_FR", "core"); - r.content["truncationIndicator"] = '...'; - resourceManager.addResourceBundle(r); - resourceManager.update();*/ } private function fullScreenHandler(evt:FullScreenEvent):void { diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as index 458f2c918c0a1846951f2e69face6d4335bbec9f..eca31a40f85afde787dfafea3cae7931e4862486 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as @@ -151,6 +151,7 @@ package org.bigbluebutton.modules.deskshare.managers LogUtil.debug("opening desk share window"); shareWindow = new DesktopPublishWindow(); shareWindow.initWindow(service.getConnection(), module.getCaptureServerUri(), module.getRoom()); + shareWindow.visible = false; openWindow(shareWindow); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml index 3421bbd96ee1bca5a1b42d1ea8104b436f956366..3fdbd44c704215ccbc67e6ed0e26e3aba6bade2f 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml @@ -36,9 +36,10 @@ <mate:Listener type="{MadePresenterEvent.SWITCH_TO_PRESENTER_MODE}" method="onChangedPresenter" /> <mate:Listener type="{MadePresenterEvent.SWITCH_TO_VIEWER_MODE}" method="onChangedPresenter" /> <mate:Listener type="{CursorEvent.UPDATE_CURSOR_LOC_EVENT}" method="onUpdateCursorEvent" /> + <mate:Listener type="{ViewStreamEvent.STOP}" method="closePublishWindow" /> + <mx:Script> <![CDATA[ - import org.bigbluebutton.common.LogUtil; import com.asfusion.mate.events.Dispatcher; import flexlib.mdi.events.MDIWindowEvent; @@ -46,6 +47,7 @@ import mx.core.UIComponent; import org.bigbluebutton.common.Images; + import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.main.events.BBBEvent; import org.bigbluebutton.main.events.MadePresenterEvent; import org.bigbluebutton.main.views.MainCanvas; @@ -53,6 +55,7 @@ import org.bigbluebutton.modules.deskshare.events.CursorEvent; import org.bigbluebutton.modules.deskshare.events.ShareWindowEvent; import org.bigbluebutton.modules.deskshare.events.StreamEvent; + import org.bigbluebutton.modules.deskshare.events.ViewStreamEvent; import org.bigbluebutton.util.i18n.ResourceUtil; public static const SCALE:Number = 5; @@ -159,7 +162,8 @@ private function onAppletStart(event:AppletStartedEvent):void{ LogUtil.debug("DeskShareWindow::onAppletStart"); startStream(connection, room); - + captureWidth = event.videoWidth; + captureHeight = event.videoHeight; var streamEvent:StreamEvent = new StreamEvent(StreamEvent.START); streamEvent.videoWidth = captureWidth; streamEvent.videoHeight = captureHeight; @@ -241,6 +245,10 @@ this.title = ResourceUtil.getInstance().getString('bbb.desktopPublish.title'); } + private function closePublishWindow(event:ViewStreamEvent):void{ + close(); + } + ]]> </mx:Script> <mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml index 62651b5aacc1b00364a4c9a84f3231e30c370a79..0283c5d6cd4c967681fef792b6e5713d0daa161c 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml @@ -38,7 +38,6 @@ <mx:Script> <![CDATA[ - import org.bigbluebutton.common.LogUtil; import com.asfusion.mate.events.Dispatcher; import flash.sampler.NewObjectSample; @@ -49,6 +48,7 @@ import mx.core.UIComponent; import org.bigbluebutton.common.Images; + import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.main.api.IUserListener; import org.bigbluebutton.main.api.UserManager; import org.bigbluebutton.main.model.User; @@ -159,6 +159,7 @@ } public function startVideo(connection:NetConnection, stream:String, width:Number, height:Number):void{ + Alert.show("" + width + "x" + height); this.videoWidth = width; this.videoHeight = height; diff --git a/deskshare/applet/build/.gitignore b/deskshare/applet/build/.gitignore deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java index e0192797fceefbbfb7df5b51e162648392c79771..641c76ccbb08ee59b8f60faec0714ee2d1a2bbf8 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java @@ -22,6 +22,8 @@ package org.bigbluebutton.deskshare.client; import java.applet.Applet; import java.awt.Image; +import org.bigbluebutton.deskshare.client.frame.RecordingAppletFrame; + public class DeskShareApplet extends Applet implements ClientListener { private static final long serialVersionUID = 1L; @@ -40,25 +42,38 @@ public class DeskShareApplet extends Applet implements ClientListener { DeskshareClient client; Image icon; + private RecordingAppletFrame raf; + public boolean isSharing = false; + public void init() { + raf = new RecordingAppletFrame(5); + raf.setHeight(300); + raf.setWidth(600); + raf.centerOnScreen(); + raf.setVisible(true); + raf.setApplet(this); + hostValue = getParameter("IP"); String port = getParameter("PORT"); if (port != null) portValue = Integer.parseInt(port); roomValue = getParameter("ROOM"); - cWidthValue = Integer.parseInt(getParameter("CAPTURE_WIDTH")); - cHeightValue = Integer.parseInt(getParameter("CAPTURE_HEIGHT")); - xValue = Integer.parseInt(getParameter("X")); - yValue = Integer.parseInt(getParameter("Y")); + //cWidthValue = Integer.parseInt(getParameter("CAPTURE_WIDTH")); + //cHeightValue = Integer.parseInt(getParameter("CAPTURE_HEIGHT")); + //xValue = Integer.parseInt(getParameter("X")); + //yValue = Integer.parseInt(getParameter("Y")); + + cWidthValue = raf.getWidth(); + cHeightValue = raf.getHeight(); + xValue = raf.getX(); + yValue = raf.getY(); sWidthValue = cWidthValue; - String scaleWidth = getParameter("SCALE_WIDTH"); - if (scaleWidth != null) { - sWidthValue = Integer.parseInt(scaleWidth); - } + //String scaleWidth = getParameter("SCALE_WIDTH"); + //if (scaleWidth != null) sWidthValue = Integer.parseInt(scaleWidth); sHeightValue = cHeightValue; - String scaleHeight = getParameter("SCALE_HEIGHT"); - if (scaleHeight != null) sHeightValue = Integer.parseInt(scaleHeight); + //String scaleHeight = getParameter("SCALE_HEIGHT"); + //if (scaleHeight != null) sHeightValue = Integer.parseInt(scaleHeight); String qualityCapture = getParameter("SCALE_WITH_QUALITY"); if (qualityCapture != null) qualityValue = Boolean.parseBoolean(qualityCapture); @@ -72,14 +87,44 @@ public class DeskShareApplet extends Applet implements ClientListener { } public void start() { - System.out.println("Start"); + /*System.out.println("Start"); + client = new DeskshareClient.Builder().host(hostValue).port(portValue) + .room(roomValue).captureWidth(cWidthValue) + .captureHeight(cHeightValue).scaleWidth(sWidthValue).scaleHeight(sHeightValue) + .quality(qualityValue).aspectRatio(aspectRatioValue) + .x(xValue).y(yValue) + .httpTunnel(tunnelValue).trayIcon(icon).enableTrayIconActions(false).build(); + client.start();*/ + //raf.setDimensionsListener(client); + } + + public void setDimensions(int X, int Y, int width, int height){ + cWidthValue = width; + cHeightValue = height; + xValue = X; + yValue = Y; + sWidthValue = width; + sHeightValue = height; + } + + public void setScreenCoordinates(int X, int Y){ + if (client != null) client.setScreenCoordinates(X, Y); + } + + public void startSharing(){ + System.out.println("Start Sharing"); client = new DeskshareClient.Builder().host(hostValue).port(portValue) .room(roomValue).captureWidth(cWidthValue) .captureHeight(cHeightValue).scaleWidth(sWidthValue).scaleHeight(sHeightValue) .quality(qualityValue).aspectRatio(aspectRatioValue) .x(xValue).y(yValue) .httpTunnel(tunnelValue).trayIcon(icon).enableTrayIconActions(false).build(); + raf.setDimensionsListener(this); + isSharing = true; client.start(); + + raf.btnStartStop.setLabel("Stop Sharing"); + raf.removeResizeListeners(); } @@ -101,4 +146,5 @@ public class DeskShareApplet extends Applet implements ClientListener { public void onClientStop(ExitCode reason) { stop(); } + } diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java index a542882e84cc1a193b540f87fd00680b2dec97ae..8c663696479809cbecd33099a8e182361d4f97ce 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java @@ -32,7 +32,7 @@ import org.bigbluebutton.deskshare.client.net.NetworkStreamSender; import org.bigbluebutton.deskshare.common.Dimension; import org.bigbluebutton.deskshare.client.net.ConnectionException; -class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, SystemTrayListener, +public class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, SystemTrayListener, MouseLocationListener, NetworkConnectionListener { private static final String LICENSE_HEADER = "This program is free software: you can redistribute it and/or modify\n" + "it under the terms of the GNU Lesser General Public License as published by\n" + @@ -99,7 +99,7 @@ class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, capture = new ScreenCapture(x, y, captureWidth, captureHeight, scaleWidth, scaleHeight, quality); captureTaker = new ScreenCaptureTaker(capture); - mTaker = new MouseLocationTaker(captureWidth, captureHeight, scaleWidth, scaleHeight); + mTaker = new MouseLocationTaker(captureWidth, captureHeight, scaleWidth, scaleHeight, x, y); // Use the scaleWidth and scaleHeight as the dimension we pass to the BlockManager. // If there is no scaling required, the scaleWidth and scaleHeight will be the same as @@ -169,6 +169,12 @@ class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, public void setScreenCoordinates(int x, int y) { capture.setX(x); capture.setY(y); + mTaker.setCaptureCoordinates(x, y); + } + + public void setScreenDimensions(int width, int height){ + capture.setWidth(width); + capture.setHeight(height); } public void onScreenCaptured(BufferedImage screen) { diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java index 33dcabee8de03c3ea0cd9be05b002a5621cf67c8..ece7db628bc27fffda8ae9e48e1aec822fda28cf 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java @@ -33,11 +33,17 @@ public class MouseLocationTaker implements Runnable { private int scaleWidth; private int scaleHeight; - public MouseLocationTaker(int captureWidth, int captureHeight, int scaleWidth, int scaleHeight) { + private int captureX; + private int captureY; + + public MouseLocationTaker(int captureWidth, int captureHeight, int scaleWidth, int scaleHeight, int captureX, int captureY) { this.captureWidth = captureWidth; this.captureHeight = captureHeight; this.scaleWidth = scaleWidth; this.scaleHeight = scaleHeight; + + this.captureX = captureX; + this.captureY = captureY; } public Point getMouseLocation() { @@ -57,7 +63,8 @@ public class MouseLocationTaker implements Runnable { if (adjustPointerLocationDueToScaling()) { pointerLocation = calculatePointerLocation(pInfo.getLocation()); } else { - pointerLocation = pInfo.getLocation(); + //pointerLocation = pInfo.getLocation(); + pointerLocation = calculatePointerLocation(pInfo.getLocation()); } return pointerLocation; } @@ -65,6 +72,10 @@ public class MouseLocationTaker implements Runnable { private Point calculatePointerLocation(Point p) { double mx = ((double)p.x/(double)captureWidth) * (double)scaleWidth; double my = ((double)p.y/(double)captureHeight) * (double)scaleHeight; + + mx = mx - captureX; + my = my - captureY; + return new Point((int)mx, (int)my); } @@ -99,4 +110,9 @@ public class MouseLocationTaker implements Runnable { public void stop() { trackMouseLocation = false; } + + public void setCaptureCoordinates(int x, int y){ + captureX = x; + captureY = y; + } } diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java index 2409240c1c2e0eaeabccbb948f784843909a9ea0..e508f399214afdd6471313bf989f673a8f14576b 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java @@ -94,6 +94,16 @@ public class ScreenCapture { updateBounds(); } + public void setWidth(int width) { + this.captureWidth = width; + updateBounds(); + } + + public void setHeight(int height) { + this.captureHeight = height; + updateBounds(); + } + public void updateBounds() { this.screenBounds = new Rectangle(x, y, captureWidth, captureHeight); } diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java new file mode 100755 index 0000000000000000000000000000000000000000..37e20903d3fa71c20c8527700d76036245e98528 --- /dev/null +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java @@ -0,0 +1,25 @@ +/* + * BigBlueButton - http://www.bigbluebutton.org + * + * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved. + * + * BigBlueButton is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>. + * + * @author Jeremy Thomerson <jthomerson@genericconf.com> + * $Id: $ + */ +package org.bigbluebutton.deskshare.client.frame; + +public enum Corner { + NORTHWEST, NORTHEAST, SOUTHEAST, SOUTHWEST +} diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java new file mode 100755 index 0000000000000000000000000000000000000000..93a339ab2229149e41eb980c090695fd74cc5073 --- /dev/null +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java @@ -0,0 +1,118 @@ +/* + * BigBlueButton - http://www.bigbluebutton.org + * + * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved. + * + * BigBlueButton is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>. + * + * @author Jeremy Thomerson <jthomerson@genericconf.com> + * $Id: $ + */ +package org.bigbluebutton.deskshare.client.frame; + +import java.awt.AWTException; +import java.awt.Button; +import java.awt.FlowLayout; +import java.awt.Robot; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; +import javax.swing.JPanel; + +import org.bigbluebutton.deskshare.client.DeskShareApplet; + +public class RecordingAppletFrame extends WindowlessFrame { + private static final long serialVersionUID = 1L; + + private final Robot mRobot; + private DeskShareApplet applet; + public Button btnStartStop; + + public RecordingAppletFrame(int borderWidth) { + super(borderWidth); + setToolbar(createToolbar()); + + try { + mRobot = new Robot(); + } catch(AWTException ex) { + throw new RuntimeException("could not initialize the robot: " + ex.getMessage(), ex); + } + } + + private JPanel createToolbar() { + final JPanel panel = new JPanel(); + panel.setLayout(new FlowLayout()); + //final Button move = new Button("Move frame"); + final MouseAdapter moving = createMovingMouseListener(); + //move.addMouseListener(moving); + //move.addMouseMotionListener(moving); + //panel.add(move); + btnStartStop = new Button("Start Capture"); + btnStartStop.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + //captureSelectedArea(); + startCapture(); + } + }); + panel.add(btnStartStop); + //panel.setSize(); + return panel; + } + + public final void captureSelectedArea() { + final BufferedImage image = mRobot.createScreenCapture(getFramedRectangle()); + try { + File outputfile = File.createTempFile("screencap-", ".png"); + ImageIO.write(image, "png", outputfile); + System.out.println("selected area captured to: " + outputfile.getAbsolutePath()); + } catch (IOException ioe) { + throw new RuntimeException("could not capture selected area as an image: " + ioe.getMessage(), ioe); + } + } + + public final void startCapture(){ + if (!applet.isSharing){ + applet.setDimensions(getX(), getY(), getWidth(), getHeight()); + applet.startSharing(); + } else{ + applet.stop(); + applet.destroy(); + System.exit(0); //Can't find any other way to close the applet. + } + + } + + public void setApplet(DeskShareApplet applet){ + this.applet = applet; + } + + public static void main(String[] args) { + /* + final JFrame frame = new JFrame("test"); + frame.setContentPane(createToolbar()); + frame.pack(); + frame.setVisible(true); + */ + final RecordingAppletFrame raf = new RecordingAppletFrame(5); + raf.setHeight(300); + raf.setWidth(600); + raf.centerOnScreen(); + raf.setVisible(true); + } +} diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java new file mode 100755 index 0000000000000000000000000000000000000000..fdac5580cb0305df28528041bf7e3dd775531d63 --- /dev/null +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java @@ -0,0 +1,541 @@ +/* + * BigBlueButton - http://www.bigbluebutton.org + * + * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved. + * + * BigBlueButton is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>. + * + * @author Jeremy Thomerson <jthomerson@genericconf.com> + * $Id: $ + */ +package org.bigbluebutton.deskshare.client.frame; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Component; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.GradientPaint; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Insets; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.Window; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; +import java.io.Serializable; +import java.util.concurrent.atomic.AtomicBoolean; + +import javax.swing.JFrame; +import javax.swing.JPanel; + +import org.bigbluebutton.deskshare.client.DeskShareApplet; +import org.bigbluebutton.deskshare.client.DeskshareClient; + + +public class WindowlessFrame implements Serializable { + private static final long serialVersionUID = 1L; + + private DeskShareApplet dimensionsListener; + private MouseAdapter resizingAdapter; + private MouseAdapter movingAdapter; + + private static interface PropertyChanger { + void changeOn(Component component); + } + + private static interface LocationAndSizeUpdateable { + void updateLocationAndSize(); + } + + private static interface OffsetLocator { + int getLeftOffset(); + int getTopOffset(); + } + + private static class StaticOffsetLocator implements OffsetLocator { + private final int mLeftOffset; + private final int mTopOffset; + + public StaticOffsetLocator(int left, int top) { + mLeftOffset = left; + mTopOffset = top; + } + + @Override + public int getLeftOffset() { + return mLeftOffset; + } + + @Override + public int getTopOffset() { + return mTopOffset; + } + } + + private static final PropertyChanger REPAINTER = new PropertyChanger() { + @Override + public void changeOn(Component component) { + if (component instanceof LocationAndSizeUpdateable) { + ((LocationAndSizeUpdateable) component).updateLocationAndSize(); + } + component.repaint(); + } + }; + + + // properties that change during use + private Point mTopLeft = new Point(); + private Dimension mOverallSize = new Dimension(); + + // properties initialized during construction + private final BasicStroke mBorderStroke = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0, new float[] { 12, 12 }, 0); + private final GradientPaint mGradient = new GradientPaint(0.0f, 0.0f, Color.red, 1.0f, 1.0f, Color.white, true); + + private final int mBorderWidth; + private final JFrame mWindowFrame; + private final BarFrame mTopBorder; + private final BarFrame mRightBorder; + private final BarFrame mBottomBorder; + private final BarFrame mLeftBorder; + private ToolbarFrame mToolbarFrame; + + private class ToolbarFrame extends Window implements LocationAndSizeUpdateable { + private static final long serialVersionUID = 1L; + + private final OffsetLocator mOffsetLocator; + + public ToolbarFrame(JFrame frame, OffsetLocator ol, JPanel content) { + super(frame); + super.setAlwaysOnTop(true); + frame.setAlwaysOnTop(true); + mOffsetLocator = ol; + //setUndecorated(true); + add(content); + pack(); + } + + public void updateLocationAndSize() { + setLocation(getLocation()); + } + + @Override + public Point getLocation() { + return new Point(mTopLeft.x + mOffsetLocator.getLeftOffset(), mTopLeft.y + mOffsetLocator.getTopOffset()); + } + } + + private class WindowlessFrameMovingMouseListener extends MouseAdapter { + + private AtomicBoolean mMoving = new AtomicBoolean(false); + + private Point mActionOffset = null; + + @Override + public void mouseDragged(MouseEvent e) { + final int changeInX = e.getLocationOnScreen().x - mActionOffset.x - mTopLeft.x; + final int changeInY = e.getLocationOnScreen().y - mActionOffset.y - mTopLeft.y; + if (mMoving.get() && !e.isConsumed()) { + WindowlessFrame.this.setLocation(changeInX + mTopLeft.x, changeInY + mTopLeft.y); + } + } + + @Override + public void mousePressed(MouseEvent e) { + final Point mouse = e.getLocationOnScreen(); + mActionOffset = new Point(mouse.x - mTopLeft.x, mouse.y - mTopLeft.y); + mMoving.set(true); + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + } + + @Override + public void mouseReleased(MouseEvent e) { + mMoving.set(false); + mActionOffset = null; + e.getComponent().setCursor(Cursor.getDefaultCursor()); + } + + } + + private class WindowlessFrameResizingMouseListener extends MouseAdapter { + + private static final int CORNER_SIZE = 15; + + private AtomicBoolean mResizing = new AtomicBoolean(false); + + private Point mActionOffset = null; + private Dimension mOriginalSize = null; + private Corner mCorner; + + @Override + public void mouseDragged(MouseEvent e) { + final int changeInX = e.getLocationOnScreen().x - mActionOffset.x - mTopLeft.x; + final int changeInY = e.getLocationOnScreen().y - mActionOffset.y - mTopLeft.y; + if (mResizing.get()) { + int newH = mOriginalSize.height; + int newW = mOriginalSize.width; + if (mCorner == Corner.SOUTHEAST) { + newH += changeInY; + newW += changeInX; + } else if (mCorner == Corner.NORTHEAST) { + mTopLeft.y = mTopLeft.y + changeInY; + newH = mOverallSize.height + -changeInY; + newW += changeInX; + } else if (mCorner == Corner.NORTHWEST) { + mTopLeft.y = mTopLeft.y + changeInY; + newH = mOverallSize.height + -changeInY; + mTopLeft.x = mTopLeft.x + changeInX; + newW = mOverallSize.width + -changeInX; + } else if (mCorner == Corner.SOUTHWEST) { + newH += changeInY; + mTopLeft.x = mTopLeft.x + changeInX; + newW = mOverallSize.width + -changeInX; + } + //System.out.println("orig size: " + mOriginalSize + ", newH: " + newH + ", newW: " + newW + ", X: " + changeInX + ", Y: " + changeInY); + WindowlessFrame.this.setSize(newH, newW); + e.consume(); + } + } + + @Override + public void mousePressed(MouseEvent e) { + final Point mouse = e.getLocationOnScreen(); + mActionOffset = new Point(mouse.x - mTopLeft.x, mouse.y - mTopLeft.y); + mOriginalSize = new Dimension(mOverallSize); + mCorner = nearCorner(mouse); + if (mCorner != null) { + mResizing.set(true); + } + } + + @Override + public void mouseReleased(MouseEvent e) { + mResizing.set(false); + mActionOffset = null; + mOriginalSize = null; + mCorner = null; + } + + private Corner nearCorner(Point mouse) { + if (isNearBottomRightCorner(mouse)) { + return Corner.SOUTHEAST; + } else if (isNearTopRightCorner(mouse)) { + return Corner.NORTHEAST; + } else if (isNearTopLeftCorner(mouse)) { + return Corner.NORTHWEST; + } else if (isNearBottomLeftCorner(mouse)) { + return Corner.SOUTHWEST; + } + return null; + } + + private boolean isNearBottomRightCorner(Point mouse) { + int xToBotLeft = Math.abs(mTopLeft.x + (int) mOverallSize.getWidth() - mouse.x); + int yToBotLeft = Math.abs(mTopLeft.y + (int) mOverallSize.getHeight() - mouse.y); + return xToBotLeft < CORNER_SIZE && yToBotLeft < CORNER_SIZE; + } + + private boolean isNearTopRightCorner(Point mouse) { + int xToTopRight = Math.abs(mTopLeft.x + (int) mOverallSize.getWidth() - mouse.x); + int yToTopRight = Math.abs(mTopLeft.y - mouse.y); + return xToTopRight < CORNER_SIZE && yToTopRight < CORNER_SIZE; + } + + private boolean isNearBottomLeftCorner(Point mouse) { + int xToBottomLeft = Math.abs(mTopLeft.x - mouse.x); + int yToBottomLeft = Math.abs(mTopLeft.y + (int) mOverallSize.getHeight() - mouse.y); + return xToBottomLeft < CORNER_SIZE && yToBottomLeft < CORNER_SIZE; + } + + private boolean isNearTopLeftCorner(Point mouse) { + int xToTopLeft = Math.abs(mTopLeft.x - mouse.x); + int yToTopLeft = Math.abs(mTopLeft.y - mouse.y); + return xToTopLeft < CORNER_SIZE && yToTopLeft < CORNER_SIZE; + } + + @Override + public void mouseMoved(MouseEvent e) { + final Point mouse = e.getLocationOnScreen(); + if (isNearTopLeftCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.NW_RESIZE_CURSOR)); + } else if (isNearBottomLeftCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.SW_RESIZE_CURSOR)); + } else if (isNearTopRightCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.NE_RESIZE_CURSOR)); + } else if (isNearBottomRightCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.SE_RESIZE_CURSOR)); + } else { + e.getComponent().setCursor(Cursor.getDefaultCursor()); + } + } + } + + private class BarFrame extends Window implements LocationAndSizeUpdateable { + private static final long serialVersionUID = 1L; + + private final OffsetLocator mOffsetLocator; + + public BarFrame(Frame frame, OffsetLocator offsetLocator) { + super(frame); + mOffsetLocator = offsetLocator; + //setUndecorated(true); + } + + @Override + public void paint(Graphics g) { + if (shouldPaintRectangle()) { + Graphics2D g2 = (Graphics2D) g; + g2.setStroke(mBorderStroke); + g2.setPaint(mGradient); + g2.drawRect(0, 0, getWidth(), getHeight()); + } else { + super.paint(g); + } + } + + protected boolean shouldPaintRectangle() { + return true; + } + + public void updateLocationAndSize() { + setSize(getWidth(), getHeight()); + setLocation(getLocation()); + } + + @Override + public Point getLocation() { + return new Point(mTopLeft.x + mOffsetLocator.getLeftOffset(), mTopLeft.y + mOffsetLocator.getTopOffset()); + } + + @Override + public int getHeight() { + return mBorderWidth; + } + + @Override + public int getWidth() { + return mOverallSize.width; + } + } + + private class HorizontalBarFrame extends BarFrame { + private static final long serialVersionUID = 1L; + + public HorizontalBarFrame(JFrame frame, OffsetLocator offsetLocator) { + super(frame, offsetLocator); + super.setAlwaysOnTop(true); + } + } + + private class VerticalBarFrame extends BarFrame { + private static final long serialVersionUID = 1L; + + public VerticalBarFrame(JFrame frame, OffsetLocator offsetLocator) { + super(frame, offsetLocator); + super.setAlwaysOnTop(true); + } + + @Override + public int getWidth() { + return mBorderWidth; + } + + @Override + public int getHeight() { + return mOverallSize.height; + } + } + + public WindowlessFrame(int borderWidth) { + mBorderWidth = borderWidth; + + mWindowFrame = new JFrame("Windowless Frame"); + //mWindowFrame.setAlwaysOnTop(true); + + mTopBorder = new HorizontalBarFrame(mWindowFrame, new StaticOffsetLocator(0, 0)); + mBottomBorder = new HorizontalBarFrame(mWindowFrame, new OffsetLocator() { + + @Override + public int getTopOffset() { + return mOverallSize.height; + } + + @Override + public int getLeftOffset() { + return 0; + } + }); + + mRightBorder = new VerticalBarFrame(mWindowFrame, new OffsetLocator() { + + @Override + public int getTopOffset() { + return 0; + } + + @Override + public int getLeftOffset() { + return mOverallSize.width; + } + }); + mLeftBorder = new VerticalBarFrame(mWindowFrame, new StaticOffsetLocator(0, 0)); + + movingAdapter = createMovingMouseListener(); + resizingAdapter = createResizingMouseListener(); + changeBarFrames(new PropertyChanger() { + @Override + public void changeOn(Component component) { + component.addMouseListener(resizingAdapter); + component.addMouseMotionListener(resizingAdapter); + component.addMouseListener(movingAdapter); + component.addMouseMotionListener(movingAdapter); + } + }, false); + } + + public final MouseAdapter createMovingMouseListener() { + return new WindowlessFrameMovingMouseListener(); + } + + public final MouseAdapter createResizingMouseListener() { + return new WindowlessFrameResizingMouseListener(); + } + + public void setToolbar(JPanel toolbar) { + final OffsetLocator toolbarOffsetLocator = new OffsetLocator() { + @Override + public int getTopOffset() { + return mOverallSize.height + mBorderWidth; + } + + @Override + public int getLeftOffset() { + return 0; + } + }; + mToolbarFrame = new ToolbarFrame(mWindowFrame, toolbarOffsetLocator, toolbar); + } + + public final void setSize(int height, int width) { + setHeight(height); + setWidth(width); + repaint(); + } + + public final void setWidth(int width) { + mOverallSize.width = width; + } + + public final void setHeight(int height) { + mOverallSize.height = height; + } + + public final void setLocation(int x, int y) { + mTopLeft.x = x; + mTopLeft.y = y; + repaint(); + + if (dimensionsListener != null) dimensionsListener.setScreenCoordinates(x, y); + } + + public final int getX(){ + return mTopLeft.x; + } + + public final int getY(){ + return mTopLeft.y; + } + + public final int getWidth(){ + return mOverallSize.width; + } + + public final int getHeight(){ + return mOverallSize.height; + } + + public final void centerOnScreen() { + Toolkit kit = mLeftBorder.getToolkit(); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice[] gs = ge.getScreenDevices(); + Insets in = kit.getScreenInsets(gs[0].getDefaultConfiguration()); + + Dimension d = kit.getScreenSize(); + int maxWidth = (d.width - in.left - in.right); + int maxHeight = (d.height - in.top - in.bottom); + setLocation((int) (maxWidth - mOverallSize.width) / 2, (int) (maxHeight - mOverallSize.height) / 2); + } + + public final Rectangle getFramedRectangle() { + return new Rectangle(mTopLeft.x + mBorderWidth, mTopLeft.y + mBorderWidth, mOverallSize.width - mBorderWidth, mOverallSize.height - mBorderWidth); + } + + public final void setVisible(final boolean b) { + changeAll(new PropertyChanger() { + @Override + public void changeOn(Component component) { + component.setVisible(b); + } + }, true); + } + + private void changeBarFrames(PropertyChanger pc, boolean repaint) { + pc.changeOn(mTopBorder); + pc.changeOn(mRightBorder); + pc.changeOn(mBottomBorder); + pc.changeOn(mLeftBorder); + if (repaint) { + repaint(); + } + } + + private void changeAll(PropertyChanger pc, boolean repaint) { + pc.changeOn(mToolbarFrame); + changeBarFrames(pc, repaint); + } + + public final void repaint() { + changeAll(REPAINTER, false); + } + + public static void main(String[] args) { + final WindowlessFrame wf = new WindowlessFrame(5); + wf.setHeight(300); + wf.setWidth(600); + wf.setLocation(100, 200); + wf.setVisible(true); + } + + public void setDimensionsListener(DeskShareApplet applet){ + this.dimensionsListener = applet; + } + + public void removeResizeListeners(){ + mRightBorder.removeMouseListener(resizingAdapter); + mRightBorder.removeMouseMotionListener(resizingAdapter); + mLeftBorder.removeMouseListener(resizingAdapter); + mLeftBorder.removeMouseMotionListener(resizingAdapter); + mTopBorder.removeMouseListener(resizingAdapter); + mTopBorder.removeMouseMotionListener(resizingAdapter); + mBottomBorder.removeMouseListener(resizingAdapter); + mBottomBorder.removeMouseMotionListener(resizingAdapter); + } + +} diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java index 1cfa6fb614e452f7237efa434612e2ec96f5ff9d..4f5a044d848a359a4bd91097620cd067cd7990b9 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java @@ -75,6 +75,7 @@ public class NetworkSocketStreamSender implements Runnable { try { ByteArrayOutputStream dataToSend = new ByteArrayOutputStream(); dataToSend.reset(); + System.out.println("Screen Dimension " + screenDim.getWidth() + "," + screenDim.getHeight()); BlockStreamProtocolEncoder.encodeStartStreamMessage(room, screenDim, blockDim, dataToSend); sendHeader(BlockStreamProtocolEncoder.encodeHeaderAndLength(dataToSend)); sendToStream(dataToSend); diff --git a/deskshare/build/com/myjavatools/web/ClientHttpRequest.class b/deskshare/build/com/myjavatools/web/ClientHttpRequest.class new file mode 100755 index 0000000000000000000000000000000000000000..bf4a1874b1d8ba6f822194f411676af6c6309cef Binary files /dev/null and b/deskshare/build/com/myjavatools/web/ClientHttpRequest.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class b/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class new file mode 100755 index 0000000000000000000000000000000000000000..7cc296a9fcd7d18ca25a8999747ef6128c469661 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class b/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class new file mode 100755 index 0000000000000000000000000000000000000000..b11fb2f9dcce1a709a97fb97b1ca701b0764825d Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class new file mode 100755 index 0000000000000000000000000000000000000000..4bb08f9ef8cd5fe13f02282e4edbbeb59cfb5774 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class new file mode 100755 index 0000000000000000000000000000000000000000..a77b5166c31058babb6915e80f98a32b23335098 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class new file mode 100755 index 0000000000000000000000000000000000000000..06309601e6dbeb9baa10aded3c82fc52082ed629 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class new file mode 100755 index 0000000000000000000000000000000000000000..5d0cbd88f1a25987641e5d68255985e7fbf5d753 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class new file mode 100755 index 0000000000000000000000000000000000000000..3d8575ed13e044d97da3dc87721ce682ef3ce68a Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option.class b/deskshare/build/jargs/gnu/CmdLineParser$Option.class new file mode 100755 index 0000000000000000000000000000000000000000..2575b65f65d57823ddeb83b3dc55f0fb2a2138e5 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$Option.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class new file mode 100755 index 0000000000000000000000000000000000000000..f9dc005e46336e7ffcd7a5864d786ff34449e65a Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class new file mode 100755 index 0000000000000000000000000000000000000000..eda6d9836efc126b9976078cec35b016665dcb31 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class new file mode 100755 index 0000000000000000000000000000000000000000..9ad28762fa0df9a4e4c43248912d61d3330a7261 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class differ diff --git a/deskshare/build/jargs/gnu/CmdLineParser.class b/deskshare/build/jargs/gnu/CmdLineParser.class new file mode 100755 index 0000000000000000000000000000000000000000..ddf1addec95237e991c9e075ebf3cb7ef4252488 Binary files /dev/null and b/deskshare/build/jargs/gnu/CmdLineParser.class differ diff --git a/deskshare/build/java.policy.applet b/deskshare/build/java.policy.applet new file mode 100755 index 0000000000000000000000000000000000000000..35527af6a077ba39ecfb64295b4fa45706928941 --- /dev/null +++ b/deskshare/build/java.policy.applet @@ -0,0 +1,7 @@ +/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/ +/* DO NOT EDIT */ + +grant { + permission java.security.AllPermission; +}; + diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class new file mode 100755 index 0000000000000000000000000000000000000000..dd87fb4c20e1a6388be6fe564c3df4a38dbbf79e Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class new file mode 100755 index 0000000000000000000000000000000000000000..0cf58bba808b6e3046002fe3a56d60f944c650b6 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class new file mode 100755 index 0000000000000000000000000000000000000000..8dfd0eb2dacc0953100e851c0cecd1edd2557d98 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class new file mode 100755 index 0000000000000000000000000000000000000000..e65f8bb9e566a57502fcd619d596816e46855556 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class new file mode 100755 index 0000000000000000000000000000000000000000..7454159aa8eb771deca11579eaf407286fb657d1 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class new file mode 100755 index 0000000000000000000000000000000000000000..f8710897a6fdde0ff823799d1a1713abed79228d Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class new file mode 100755 index 0000000000000000000000000000000000000000..af2eed827a9ec7cb843bf9074b5ce6f14c0c8a67 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class new file mode 100755 index 0000000000000000000000000000000000000000..f6429a7f12c1b84bb49796e5745f25e4180146dd Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class new file mode 100755 index 0000000000000000000000000000000000000000..9f8c25312ed28b6f612bddf5ccf06064d429f1ba Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class b/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class new file mode 100755 index 0000000000000000000000000000000000000000..42d4d103e4d51c05c0d1683c3e9825cb1065fea6 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class b/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class new file mode 100755 index 0000000000000000000000000000000000000000..ee60a2fca0896684bc8167f181b7a19732d3efc3 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class new file mode 100755 index 0000000000000000000000000000000000000000..5c5ec56a6e6f657417fe1b7ff7e091fd69f09595 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class new file mode 100755 index 0000000000000000000000000000000000000000..a84c07ef6712a575f7924dcc9727e7a48136aaf9 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class new file mode 100755 index 0000000000000000000000000000000000000000..e34d763034429ba3bce487858f0d4f29132df38a Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class new file mode 100755 index 0000000000000000000000000000000000000000..b9b3c8e6f107da3fae049fff9e7cb54d315f51be Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class new file mode 100755 index 0000000000000000000000000000000000000000..779905cd6d9c805836e85d7d654f55fb84b340fa Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class new file mode 100755 index 0000000000000000000000000000000000000000..a891783c4eaa21c3588185769e29f77278171c77 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class new file mode 100755 index 0000000000000000000000000000000000000000..1e1804d67a21066e7ba73b81155bc511e070bff1 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class new file mode 100755 index 0000000000000000000000000000000000000000..8bb5c638658537cd224db2349cd11d83658df9f6 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class new file mode 100755 index 0000000000000000000000000000000000000000..0368f82bd12739eab5a8da01c9d6888de5f0939e Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class b/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class new file mode 100755 index 0000000000000000000000000000000000000000..9440dd8a4dade371f8742d206867264ac282c96c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class new file mode 100755 index 0000000000000000000000000000000000000000..17a95848511bde00f00ac716e930236698d797ef Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class new file mode 100755 index 0000000000000000000000000000000000000000..c130f98c94173b0e65a913bb8189776ffd8442ef Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class new file mode 100755 index 0000000000000000000000000000000000000000..619aaceb82aea35c2cb47c893cb0d4ce47526d54 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class new file mode 100755 index 0000000000000000000000000000000000000000..36adcafca12c06272544aef4418caf40e7463ab2 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class new file mode 100755 index 0000000000000000000000000000000000000000..ef3ce55e722e3d9257202ff74b0215b1e602015b Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class new file mode 100755 index 0000000000000000000000000000000000000000..0f5830b7ccc436bbcd2455220646a20095682ce2 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..3eecd79f3bcc15d74e210469ea7d9d785adb45ab Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..89bd443dd119f072b5d40593db8ba0523c699515 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..42e2581f8c33f6652c882f19a022d8a48286c6b6 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..26e053fa58f66cd99f111f279a3b30ea3ec4de3a Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class new file mode 100755 index 0000000000000000000000000000000000000000..a092501187b4942392cce922a5e11295e83da8e7 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class new file mode 100755 index 0000000000000000000000000000000000000000..64b5d86389b20259acd3662478a0713eca72a3e7 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class new file mode 100755 index 0000000000000000000000000000000000000000..cc7a5d6af54f222c7ea8264b1f2f31eb26457fcd Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..d525f8102936d07baf97300428258af205a19e39 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class new file mode 100755 index 0000000000000000000000000000000000000000..2219d90d6e83efc87f587c46c1489b6cebac9bbb Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class new file mode 100755 index 0000000000000000000000000000000000000000..e2f8f890d98056763908e7be374f1581e8cc88f7 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class new file mode 100755 index 0000000000000000000000000000000000000000..7e1a46a28aca39bce7080a4ff5f74df62f5f5aef Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class new file mode 100755 index 0000000000000000000000000000000000000000..2749905ac5832a77aa8042219a2499574888b1a3 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class new file mode 100755 index 0000000000000000000000000000000000000000..834bed64ac9db80bbdff2032e11e6e71424393dc Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class new file mode 100755 index 0000000000000000000000000000000000000000..fba7c2315962605aafbae6e97eb87c1f6189aeaa Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..ea50a39a360999307a98f82af5ce7b4174b72134 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..170796c6d3d77ffb9186cc06228ebd4cd0f7a68f Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class new file mode 100755 index 0000000000000000000000000000000000000000..5ba58bec650f7da4e1edee41ede4f27d0da6a97c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class new file mode 100755 index 0000000000000000000000000000000000000000..9416af2f0b08fae26c3e57382b8477b2b7004543 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class new file mode 100755 index 0000000000000000000000000000000000000000..6b0e3136edab16f01b90dfa653bee79f0e05b08c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class new file mode 100755 index 0000000000000000000000000000000000000000..74c0f73bb2e6dbc5e80e9545340a8c0cbd971012 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..4cf672155568bf9b130d7d3895915e86f1563d96 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..5108d679b9b748e81c52bf126bf587737ae019b0 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class new file mode 100755 index 0000000000000000000000000000000000000000..a5a542fa8a38321eeb29d9183a00f31bb7df0239 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class new file mode 100755 index 0000000000000000000000000000000000000000..a1807006375795417cb9efdf7b005774f47c2b82 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..b6b0c37a8f316ff4d3ad7d2a689b7c2d0f2fbba3 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class new file mode 100755 index 0000000000000000000000000000000000000000..6e32544f90c4d19053202f8899190a03905b7718 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..a3c47087858895af6a4c4493da1a77f655fb7e85 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class new file mode 100755 index 0000000000000000000000000000000000000000..a7ebdfb5fe75c00bd64b2a58980f93e7e78eb620 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f1c3a095236ac1162c4c049802796a445d66fd33 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..3cd703d007616a745b1b6327fb95f35be3a4dcc8 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class new file mode 100755 index 0000000000000000000000000000000000000000..123cb5b1f55c0e9cffd37a20f056ac689b696a90 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class new file mode 100755 index 0000000000000000000000000000000000000000..692afe6774cb2d2eb9794252a34caa62ef550106 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class new file mode 100755 index 0000000000000000000000000000000000000000..08b6fe04f66782fc9f7363c6921541a26e72214c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class new file mode 100755 index 0000000000000000000000000000000000000000..ee441489f46ca680d71b1444d398217993081518 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class new file mode 100755 index 0000000000000000000000000000000000000000..81df5f22ae9a34fa7195ae1e8a3fd3406e7817a2 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class new file mode 100755 index 0000000000000000000000000000000000000000..f1101eaa6f14816da37949bb3072ee1c748c4566 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class new file mode 100755 index 0000000000000000000000000000000000000000..30a5bf9624aa47e3ba2382975333e74e620638cc Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class new file mode 100755 index 0000000000000000000000000000000000000000..3a425e4c8d8bd743f706c142f96d6b51bd2bab31 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class new file mode 100755 index 0000000000000000000000000000000000000000..55624a88eb187d1e0ca6640aabb8f377a41938b2 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..66506e0cdbe653e74108473c440b7b8c9dbf5a31 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..90bdc73aed208ce7d72e00724f542c80785fd2f9 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class new file mode 100755 index 0000000000000000000000000000000000000000..03b08cf3818672a5f3b4ea86c0c2621fa123919b Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..7c8ad074acfddf20dfc8c68a0caed15755b3e4f4 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class new file mode 100755 index 0000000000000000000000000000000000000000..b4b04c0c0233377544244b1e1c0e4e38ec63845a Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class new file mode 100755 index 0000000000000000000000000000000000000000..77a2a0e3992ee2a45106f75f4b34087dd981827c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class new file mode 100755 index 0000000000000000000000000000000000000000..51e0781bad853bd9ad407f938ae63c32dc0e0aac Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class new file mode 100755 index 0000000000000000000000000000000000000000..ce309734b0df13a9dccfde42d9e7a271ba53b52b Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class new file mode 100755 index 0000000000000000000000000000000000000000..9b41ed9315577aa14a9a6746f592a3b7ae29c199 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class b/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class new file mode 100755 index 0000000000000000000000000000000000000000..616fc3c3e8d29c0f10b1762e1c5dccd8928cf4a4 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class b/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class new file mode 100755 index 0000000000000000000000000000000000000000..ddab1c297e50e65f218115fcd735956a9a988a14 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class b/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class new file mode 100755 index 0000000000000000000000000000000000000000..2ed65f4b3a0bb2ef3fc5e12da23fd71c96e73ec4 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..2f749929dc1ca7b3c35fdd97a3f40c02c65429a7 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class b/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class new file mode 100755 index 0000000000000000000000000000000000000000..dd2e8229b6ead0c2b9164e6f1f03ad9a28cca1e1 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class new file mode 100755 index 0000000000000000000000000000000000000000..228465b9a24832270bf04b8256ffb74634e3ddc9 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class new file mode 100755 index 0000000000000000000000000000000000000000..4f276122ab811fc9944e09f8843e99f820227aef Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..907bbd163212204addb58532f475018d301e30f5 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..4629e599eae7ad3b8e03640fc89cc5eeea1e13fc Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..57a7925eb11d0a669dbefb52fca4f66bf717fea8 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..3b03157e249b0a128f1d4696a3c5435184a42ab4 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class b/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class new file mode 100755 index 0000000000000000000000000000000000000000..cabd4e8132d61ca35b9b49a0af35ca8f49393b8c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..d80740d3bdebbf05197cb9399342edb7b4ced039 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class new file mode 100755 index 0000000000000000000000000000000000000000..7bda04010c3e485df173a179489fdca01a241c48 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class new file mode 100755 index 0000000000000000000000000000000000000000..1fc037bc8b2ce0820b6e82b49a68cd21c5fda148 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class new file mode 100755 index 0000000000000000000000000000000000000000..51026a354ac73a54e20cd9c88c0c77277b901861 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..4b72b39e573426bc2235171fb47a51aef47b7f6c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..f622e7cbb24b9d8fd929e38b7a6ed1d71dab955c Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..8f354bdd358616ccec43cabf8a999582f757e548 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class new file mode 100755 index 0000000000000000000000000000000000000000..052a1a73a98a8fcc6cd554cd0f10970a5c09cc37 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class new file mode 100755 index 0000000000000000000000000000000000000000..684d53be48f519a080a5576fa3fbbae6ef8f8730 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..e53ed5264ebeec38039d5ec7a1dda2f9d216e379 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class new file mode 100755 index 0000000000000000000000000000000000000000..10b8decacab88714d447c12114929665f986d7bb Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..6875d923666f3ec9f74eb45f27a756da44658ad5 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class differ diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..90655af89dfbd0a3832fb0fe74c8d00155a50035 Binary files /dev/null and b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class differ diff --git a/deskshare/common/build/.gitignore b/deskshare/common/build/.gitignore deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000