diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObject.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObject.java new file mode 100644 index 000000000..dccec0447 --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObject.java @@ -0,0 +1,72 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + *

+ * WhiteboardObject are created through the WhiteboardSession session. + *

+ * + * All WhiteboardObjects have whiteboard object id. + * + * @author Julien Waechter + * @author Emil Ivov + */ +public interface WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type object. + */ + public static final String NAME = "WHITEBOARDOBJECT"; + + /** + * Returns a String uniquely identifying this WhiteboardObject. + * + * @return a String that uniquely identifies this WhiteboardObject. + */ + public String getID(); + + + /** + * Returns an integer indicating the thickness (represented as number of + * pixels) of this whiteboard object (or its border). + * + * @return the thickness (in pixels) of this object (or its border). + */ + public int getThickness(); + + /** + * Sets the thickness (in pixels) of this whiteboard object. + * + * @param thickness the number of pixels that this object (or its border) + * should be thick. + */ + public void setThickness(int thickness); + + /** + * Returns an integer representing the color of this object. The return + * value uses standard RGB encoding: bits 24-31 are alpha, 16-23 are red, + * 8-15 are green, 0-7 are blue. + * + * @return the RGB value of the color of this object. + */ + public int getColor(); + + /** + * Sets the color of this whiteboard object (or rather it's border). The + * color parameter must be encoded with standard RGB encoding: bits 24-31 + * are alpha, 16-23 are red, 8-15 are green, 0-7 are blue. + * + * @param color the color that we'd like to set on this object (using + * standard RGB encoding). + */ + public void setColor(int color); + + +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectCircle.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectCircle.java new file mode 100644 index 000000000..2fc73c0cc --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectCircle.java @@ -0,0 +1,86 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import net.java.sip.communicator.service.protocol.WhiteboardPoint; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectCircle extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type circle. + */ + public static final String NAME = "WHITEBOARDOBJECTCIRCLE"; + + /** + * Returns the coordinates of this whiteboard object. + * + * @return the coordinates of this object. + */ + public WhiteboardPoint getWhiteboardPoint (); + + /** + * Sets the coordinates of this whiteboard object. + * + * @param whiteboardPoint the coordinates of this object. + */ + public void setWhiteboardPoint (WhiteboardPoint whiteboardPoint); + + /** + * Returns the radius (in pixels) of this whiteboard circle. + * + * @return the number of pixels for the radius. + */ + public double getRadius (); + + /** + * Sets the radius (in pixels) of this whiteboard circle. + * + * @param radius the number of pixels for the radius. + */ + public void setRadius (double radius); + + /** + * Returns the fill state of the WhiteboardObject. + * + * @return True is filled, false is unfilled. + */ + public boolean isFill (); + + /** + * Sets the fill state of the WhiteboardObject. + * True is filled, false is unfilled. + * + * @param fill The new fill state. + */ + public void setFill (boolean fill); + + /** + * Specifies the background color for this object. The color parameter + * must be encoded with standard RGB encoding: bits 24-31 are alpha, 16-23 + * are red, 8-15 are green, 0-7 are blue. + * + * @param color the color that we'd like to set for the background of this + * WhiteboardObject (using standard RGB encoding). + */ + public void setBackgroundColor (int color); + + /** + * Returns an integer representing the background color of this object. The + * return value uses standard RGB encoding: bits 24-31 are alpha, 16-23 are + * red, 8-15 are green, 0-7 are blue. + * + * @return the RGB value of the background color of this object. + */ + public int getBackgroundColor (); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectEllipse.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectEllipse.java new file mode 100644 index 000000000..44106560e --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectEllipse.java @@ -0,0 +1,100 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import net.java.sip.communicator.service.protocol.WhiteboardPoint; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectEllipse extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type ellipse. + */ + public static final String NAME = "WHITEBOARDOBJECTELLIPSE"; + + /** + * Returns the coordinates of this whiteboard object. + * + * @return the coordinates of this object. + */ + public WhiteboardPoint getWhiteboardPoint (); + + /** + * Sets the coordinates of this whiteboard object. + * + * @param whiteboardPoint the coordinates of this object. + */ + public void setWhiteboardPoint (WhiteboardPoint whiteboardPoint); + + /** + * Returns the width radius (in pixels) of this whiteboard ellipse. + * + * @return the number of pixels for the width radius. + */ + public double getRadiusX (); + + /** + * Returns the height radius (in pixels) of this whiteboard ellipse. + * + * @return the number of pixels for the height radius. + */ + public double getRadiusY (); + + /** + * Sets the width radius (in pixels) of this whiteboard ellipse. + * + * @param radiusX the number of pixels for the width radius. + */ + public void setRadiusX (double radiusX); + + /** + * Sets the height radius (in pixels) of this whiteboard ellipse. + * + * @param radiusY the number of pixels for the height radius. + */ + public void setRadiusY (double radiusY); + + /** + * Returns the fill state of the WhiteboardObject. + * + * @return True is filled, false is unfilled. + */ + public boolean isFill (); + + /** + * Sets the fill state of the WhiteboardObject. + * True is filled, false is unfilled. + * + * @param fill The new fill state. + */ + public void setFill (boolean fill); + + /** + * Specifies the background color for this object. The color parameter + * must be encoded with standard RGB encoding: bits 24-31 are alpha, 16-23 + * are red, 8-15 are green, 0-7 are blue. + * + * @param color the color that we'd like to set for the background of this + * WhiteboardObject (using standard RGB encoding). + */ + public void setBackgroundColor (int color); + + /** + * Returns an integer representing the background color of this object. The + * return value uses standard RGB encoding: bits 24-31 are alpha, 16-23 are + * red, 8-15 are green, 0-7 are blue. + * + * @return the RGB value of the background color of this object. + */ + public int getBackgroundColor (); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectImage.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectImage.java new file mode 100644 index 000000000..0e0e5d690 --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectImage.java @@ -0,0 +1,84 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import net.java.sip.communicator.service.protocol.WhiteboardPoint; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectImage extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type circle. + */ + public static final String NAME = "WHITEBOARDOBJECTIMAGE"; + + /** + * Returns the coordinates of this whiteboard object. + * + * @return the coordinates of this object. + */ + public WhiteboardPoint getWhiteboardPoint(); + + /** + * Sets the coordinates of this whiteboard object. + * + * @param whiteboardPoint the coordinates of this object. + */ + public void setWhiteboardPoint(WhiteboardPoint whiteboardPoint); + + /** + * Returns the height (in pixels) of the WhiteboardObject. + * + * @return The height. + */ + public double getHeight(); + + /** + * Returns the width (in pixels) of the WhiteboardObject. + * + * @return The width. + */ + public double getWidth(); + + /** + * Sets the width (in pixels) of the WhiteboardObject. + * + * @param height The new height. + */ + public void setHeight(double height); + + /** + * Sets the width (in pixels) of the WhiteboardObject. + * + * @param width The new width. + */ + public void setWidth(double width); + + /** + * Specifies an image that should be displayed as the background of this + * object. + * + * @param background a binary array containing the image that should be + * displayed as the object background. + */ + public void setBackgroundImage(byte[] background); + + /** + * Returns a binary array containing the image that should be displayed as + * the background of this WhiteboardObject. + * + * @return a binary array containing the image that should be displayed as + * the object background. + */ + public byte[] getBackgroundImage(); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectLine.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectLine.java new file mode 100644 index 000000000..97152736f --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectLine.java @@ -0,0 +1,52 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import net.java.sip.communicator.service.protocol.WhiteboardPoint; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectLine extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type line. + */ + public static final String NAME = "WHITEBOARDOBJECTLINE"; + + /** + * Returns the coordinates of start point for the line + * + * @return the start coordinates of this line. + */ + public WhiteboardPoint getWhiteboardPointStart(); + + /** + * Returns the coordinates of end point for the line + * + * @return the end coordinates of this line. + */ + public WhiteboardPoint getWhiteboardPointEnd(); + + /** + * Sets the coordinates of start point for the line + * + * @param whiteboardPointStart the new start coordinates for this line. + */ + public void setWhiteboardPointStart(WhiteboardPoint whiteboardPointStart); + + /** + * Sets the coordinates of end point for the line + * + * @param whiteboardPointEnd the new end coordinates for this line. + */ + public void setWhiteboardPointEnd(WhiteboardPoint whiteboardPointEnd); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPath.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPath.java new file mode 100644 index 000000000..8adeeb559 --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPath.java @@ -0,0 +1,41 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import java.util.List; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectPath extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type path. + */ + public static final String NAME = "WHITEBOARDOBJECTPATH"; + + /** + * Returns a list of all the WhiteboardPoint instances that this + * WhiteboardObject is composed of. + * + * @return the list of WhiteboardPoints composing this object. + */ + public List getPoints(); + + /** + * Sets the list of WhiteboardPoint instances that this + * WhiteboardObject is composed of. + * + * @param points the list of WhiteboardPoint instances that this + * WhiteboardObject is composed of. + */ + public void setPoints(List points); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPolyLine.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPolyLine.java new file mode 100644 index 000000000..525970501 --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPolyLine.java @@ -0,0 +1,41 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import java.util.List; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectPolyLine extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type polyline. + */ + public static final String NAME = "WHITEBOARDOBJECTPOLYLINE"; + + /** + * Returns a list of all the WhiteboardPoint instances that this + * WhiteboardObject is composed of. + * + * @return the list of WhiteboardPoints composing this object. + */ + public List getPoints (); + + /** + * Sets the list of WhiteboardPoint instances that this + * WhiteboardObject is composed of. + * + * @param points the list of WhiteboardPoint instances that this + * WhiteboardObject is composed of. + */ + public void setPoints (List points); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPolygon.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPolygon.java new file mode 100644 index 000000000..69523efa6 --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectPolygon.java @@ -0,0 +1,75 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import java.util.List; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectPolygon extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type polygon. + */ + public static final String NAME = "WHITEBOARDOBJECTPOLYGON"; + + /** + * The fill state of the WhiteboardObject. + * + * @return True is filled, false is unfilled. + */ + public boolean isFill (); + + /** + * Sets the fill state of the WhiteboardObject. + * True is filled, false is unfilled. + * + * @param fill The new fill state. + */ + public void setFill (boolean fill); + + /** + * Returns a list of all the WhiteboardPoint instances that this + * WhiteboardObject is composed of. + * + * @return the list of WhiteboardPoints composing this object. + */ + public List getPoints (); + + /** + * Sets the list of WhiteboardPoint instances that this + * WhiteboardObject is composed of. + * + * @param points the list of WhiteboardPoint instances that this + * WhiteboardObject is composed of. + */ + public void setPoints (List points); + + /** + * Specifies the background color for this object. The color parameter + * must be encoded with standard RGB encoding: bits 24-31 are alpha, 16-23 + * are red, 8-15 are green, 0-7 are blue. + * + * @param color the color that we'd like to set for the background of this + * WhiteboardObject (using standard RGB encoding). + */ + public void setBackgroundColor (int color); + + /** + * Returns an integer representing the background color of this object. The + * return value uses standard RGB encoding: bits 24-31 are alpha, 16-23 are + * red, 8-15 are green, 0-7 are blue. + * + * @return the RGB value of the background color of this object. + */ + public int getBackgroundColor (); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectRect.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectRect.java new file mode 100644 index 000000000..6de5a1efd --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectRect.java @@ -0,0 +1,100 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import net.java.sip.communicator.service.protocol.WhiteboardPoint; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectRect extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type rect. + */ + public static final String NAME = "WHITEBOARDOBJECTRECT"; + + /** + * Returns the coordinates of this whiteboard object. + * + * @return the coordinates of this object. + */ + public WhiteboardPoint getWhiteboardPoint (); + + /** + * Sets the coordinates of this whiteboard object. + * + * @param whiteboardPoint the coordinates of this object. + */ + public void setWhiteboardPoint (WhiteboardPoint whiteboardPoint); + + /** + * Gets the height (in pixels) of the WhiteboardObject. + * + * @return The height. + */ + public double getHeight (); + + /** + * Gets the width (in pixels) of the WhiteboardObject. + * + * @return The width. + */ + public double getWidth (); + + /** + * Sets the width (in pixels) of the WhiteboardObject. + * + * @param height The new height. + */ + public void setHeight (double height); + + /** + * Sets the width (in pixels) of the WhiteboardObject. + * + * @param width The new width. + */ + public void setWidth (double width); + + /** + * Returns the fill state of the WhiteboardObject. + * + * @return True is filled, false is unfilled. + */ + public boolean isFill (); + + /** + * Sets the fill state of the WhiteboardObject. + * True is filled, false is unfilled. + * + * @param fill The new fill state. + */ + public void setFill (boolean fill); + + /** + * Specifies the background color for this object. The color parameter + * must be encoded with standard RGB encoding: bits 24-31 are alpha, 16-23 + * are red, 8-15 are green, 0-7 are blue. + * + * @param color the color that we'd like to set for the background of this + * WhiteboardObject (using standard RGB encoding). + */ + public void setBackgroundColor (int color); + + /** + * Returns an integer representing the background color of this object. The + * return value uses standard RGB encoding: bits 24-31 are alpha, 16-23 are + * red, 8-15 are green, 0-7 are blue. + * + * @return the RGB value of the background color of this object. + */ + public int getBackgroundColor (); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectText.java b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectText.java new file mode 100644 index 000000000..61a6f7ad4 --- /dev/null +++ b/src/net/java/sip/communicator/service/protocol/whiteboardobjects/WhiteboardObjectText.java @@ -0,0 +1,81 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ + +package net.java.sip.communicator.service.protocol.whiteboardobjects; + +import net.java.sip.communicator.service.protocol.WhiteboardPoint; + +/** + * Used to access the content of instant whiteboard objects that are sent or + * received via the WhiteboardOperationSet. + * + * @author Julien Waechter + */ +public interface WhiteboardObjectText extends WhiteboardObject +{ + /** + * A type string constant indicating that an object is of type text. + */ + public static final String NAME = "WHITEBOARDOBJECTTEXT"; + + /** + * Returns the coordinates of this whiteboard object. + * + * @return the coordinates of this object. + */ + public WhiteboardPoint getWhiteboardPoint (); + + /** + * Sets the coordinates of this whiteboard object. + * + * @param whiteboardPoint the coordinates of this object. + */ + public void setWhiteboardPoint (WhiteboardPoint whiteboardPoint); + + /** + * Returns the WhiteboardObjectText's text. + * + * @return the WhiteboardObjectText's text. + */ + public String getText(); + + /** + * Sets the WhiteboardObjectText's text. + * + * @param text the new WhiteboardObjectText's text. + */ + public void setText(String text); + + /** + * Returns the WhiteboardObjectText's font size. + * + * @return the WhiteboardObjectText's font size. + */ + public int getFontSize(); + + /** + * Sets the WhiteboardObjectText's font size. + * + * @param fontSize the new WhiteboardObjectText's font size. + */ + public void setFontSize(int fontSize); + + /** + * Returns the WhiteboardObjectText's font name. + * (By default Dialog) + * + * @return the new WhiteboardObjectText's font name. + */ + public String getFontName(); + + /** + * Sets the WhiteboardObjectText's font name. + * + * @param fontName the new WhiteboardObjectText's font name. + */ + public void setFontName(String fontName); +} \ No newline at end of file