Revision: 4094
Author:   solomax666
Date:     Wed Aug 24 01:01:53 2011
Log:      - fix for Issue 1448: Incorrect new video location
http://code.google.com/p/openmeetings/source/detail?r=4094

Added:
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/commonVideoViewContent.lzx
Modified:
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/eventUserList.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/flexibleEventRoom.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/restrictedConferenceRoom.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/interviewuserlist/interviewUserList.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/interviewuserlist/interviewWhiteboard.lzx
 /trunk/singlewebapp/WebContent/openmeetings/modules/conference/library.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/_participents.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/participents.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/videoContainer.lzx /trunk/singlewebapp/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx

=======================================
--- /dev/null
+++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/commonVideoViewContent.lzx Wed Aug 24 01:01:53 2011
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<library>
+
+
+<class name="commonVideoViewContent" extends="view">
+
+    <!--
+               This method returns a free position for a new video object
+               @param horizontal offset between two video objects
+        -->
+ <method name="getVideoObjectFreePos" args="offsetLength,videoWidth,videoHeight">
+        <![CDATA[
+            var newx = 20;
+            var newy = 0;
+            var posFound = false;
+            while (!posFound) {
+                posFound = true;
+                for (var i=0;i<this.subviews.length;i++){
+                    var subview = this.subviews[i];
+                    var left = subview.x;
+                    var right = subview.x + subview.width;
+                    var top = subview.y;
+                    var bottom = subview.y + subview.height;
+
+                    if( !(newx > right
+                        || (newx + videoWidth) < left
+                        || newy > bottom
+                        || (newy + videoHeight) < top ))
+                    {
+                        newx = right + offsetLength;
+                        posFound = false;
+                    }
+                    if ((newx + videoWidth) >= canvas.width) {
+                        newx = 20;
+                        newy += 10;
+                        posFound = false;
+                    }
+                }
+            }
+
+            if ((newy + videoHeight) >= canvas.height) {
+                newy = 0;
+            }
+
+            var result = [newx, newy];
+            return result;
+        ]]>
+    </method>
+
+</class>
+
+</library>
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/eventUserList.lzx Wed Nov 10 03:53:07 2010 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/eventuserlist/eventUserList.lzx Wed Aug 24 01:01:53 2011
@@ -331,16 +331,11 @@
                 }

                 //Get a Free VideoView Slot
-                var newx = videoContainer.subviews.length*140;
-                var newy = 0;
-                if ((newx+100)>=canvas.width) {
-                    newx = 20;
-                    newy += 140;
-                }
+ var freePos = videoContainer.getVideoObjectFreePos(40, 396, 360);

                                this.broadCastViewRef = new 
lz.videoObjectBroadcast(videoContainer,{
                            publicSID:publicSID,width:396,height:360,
-                           x:newx,y:newy
+                           x:freePos[0],y:freePos[1]
                     });

                                
this.broadCastViewRef._chatvideoinner.r.destroy();
@@ -368,16 +363,11 @@
             }

             //Get a Free VideoView Slot
-            var newx = videoContainer.subviews.length*140;
-            var newy = 0;
-            if ((newx+300)>=canvas.width) {
-                newx = 20;
-                newy += 140;
-            }
+ var freePos = videoContainer.getVideoObjectFreePos(40, 396, 360);

                        return new lz.videoObjectPlayBroadcast(videoContainer,{
                     publicSID:publicSID,width:396,height:360,
-                    x:newx,y:newy
+                    x:freePos[0],y:freePos[1]
                 });
                ]]>
        </method>
@@ -457,9 +447,7 @@

<eventUserListInner name="_participents" listType="$once{ parent.listType }" />

-       <view name="_videoviewcontent">
-
-       </view>
+       <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx Sun Jun 19 01:03:45 2011 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/flexibleConferenceRoom.lzx Wed Aug 24 01:01:53 2011
@@ -125,7 +125,7 @@
         ###############################
         This is the container for all Videos
      -->
-    <view name="_videoviewcontent" />
+    <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/flexibleEventRoom.lzx Sun Jun 19 01:03:45 2011 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/flexibleEventRoom.lzx Wed Aug 24 01:01:53 2011
@@ -124,7 +124,7 @@
         ###############################
         This is the container for all Videos
      -->
-    <view name="_videoviewcontent" />
+    <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/restrictedConferenceRoom.lzx Wed Apr 20 05:32:18 2011 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/flexibleConferenceRoom/restrictedConferenceRoom.lzx Wed Aug 24 01:01:53 2011
@@ -124,7 +124,7 @@
         ###############################
         This is the container for all Videos
      -->
-    <view name="_videoviewcontent" />
+    <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/interviewuserlist/interviewUserList.lzx Sat Aug 28 05:05:11 2010 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/interviewuserlist/interviewUserList.lzx Wed Aug 24 01:01:53 2011
@@ -454,9 +454,7 @@

     <interviewListInner name="_participents" />

-       <view name="_videoviewcontent">
-
-       </view>
+       <commonVideoViewContent name="_videoviewcontent"/>

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/interviewuserlist/interviewWhiteboard.lzx Sun Feb 28 13:59:11 2010 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/interviewuserlist/interviewWhiteboard.lzx Wed Aug 24 01:01:53 2011
@@ -40,7 +40,7 @@

     <simplelayout axis="y" spacing="2" />

-    <view name="_videoviewcontent" align="center" >
+    <commonVideoViewContent name="_videoviewcontent" align="center" >

        <simplelayout axis="x" spacing="2" />

@@ -51,7 +51,7 @@
<interviewVideoBox name="interviewVideoBox2" x="324" interviewPodId="2" >

         </interviewVideoBox>
-    </view>
+    </commonVideoViewContent>

<view name="_interview" align="center" visible="${ canvas.ismoderator }">

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/library.lzx Sat Apr 10 04:43:25 2010 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/library.lzx Wed Aug 24 01:01:53 2011
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <library>
+    <include href="commonVideoViewContent.lzx"/>
+
        <include href="whiteboard/" />
 <!-- <include href="remote/" />-->
        <include href="tabbar/" />
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/_participents.lzx Wed Oct 14 08:14:22 2009 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/_participents.lzx Wed Aug 24 01:01:53 2011
@@ -763,9 +763,7 @@

     <participentList name="_participents" />

-       <view name="_videoviewcontent">
-
-       </view>
+       <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/participents.lzx Sun Jul 31 09:55:15 2011 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/participents/participents.lzx Wed Aug 24 01:01:53 2011
@@ -1007,16 +1007,11 @@
                 if ($debug) Debug.warn("videoContainer ",videoContainer);

                 //Get a Free VideoView Slot
-                var newx = videoContainer.subviews.length*140;
-                var newy = 0;
-                if ((newx+100)>=canvas.width) {
-                    newx = 20;
-                    newy += 140;
-                }
+ var freePos = videoContainer.getVideoObjectFreePos(40, 100, 100);

this.broadCastViewRef = new lz.videoObjectBroadcast(videoContainer,{
                         publicSID:publicSID,
-                        x:newx,y:newy,
+                        x:freePos[0],y:freePos[1],
                         hidebyAudioOnly:true
                     });
                 canvas.currentusercolor = this.getColorForUser();
@@ -1045,16 +1040,11 @@
             }

             //Get a Free VideoView Slot
-            var newx = videoContainer.subviews.length*140;
-            var newy = 0;
-            if ((newx+100)>=canvas.width) {
-                newx = 20;
-                newy += 140;
-            }
+ var freePos = videoContainer.getVideoObjectFreePos(40, 100, 100);

             return new lz.videoObjectPlayBroadcast(videoContainer,{
                     publicSID:publicSID,
-                    x:newx,y:newy
+                    x:freePos[0],y:freePos[1]
                 });
         ]]>
     </method>
@@ -1146,9 +1136,7 @@

     <participentList name="_participents" />

-    <view name="_videoviewcontent">
-
-    </view>
+    <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx Sat Aug 28 05:05:11 2010 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx Wed Aug 24 01:01:53 2011
@@ -393,16 +393,11 @@
                 }

                 //Get a Free VideoView Slot
-                var newx = videoContainer.subviews.length*140;
-                var newy = 0;
-                if ((newx+100)>=canvas.width) {
-                    newx = 20;
-                    newy += 140;
-                }
+ var freePos = videoContainer.getVideoObjectFreePos(40, 100, 100);

                                this.broadCastViewRef = new 
lz.videoObjectBroadcast(videoContainer,{
                            publicSID:publicSID,
-                           x:newx,y:newy
+                           x:freePos[0],y:freePos[1]
                     });

                                
this.broadCastViewRef._chatvideoinner.r.destroy();
@@ -430,16 +425,11 @@
             }

             //Get a Free VideoView Slot
-            var newx = videoContainer.subviews.length*140;
-            var newy = 0;
-            if ((newx+300)>=canvas.width) {
-                newx = 20;
-                newy += 140;
-            }
+ var freePos = videoContainer.getVideoObjectFreePos(40, 100, 100);

                        return new lz.videoObjectPlayBroadcast(videoContainer,{
                     publicSID:publicSID,
-                    x:newx,y:newy
+                    x:freePos[0],y:freePos[1]
                 });
                ]]>
        </method>
@@ -516,9 +506,7 @@

     <restrictedUserListInner name="_participents" />

-       <view name="_videoviewcontent">
-
-       </view>
+       <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/videoContainer.lzx Mon Oct 12 03:58:23 2009 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/conference/video/videoContainer.lzx Wed Aug 24 01:01:53 2011
@@ -175,15 +175,11 @@
                                this.broadCastViewRef = obj;
                        } else {
                                //Get a Free VideoView Slot
-                var newx = this._videoviewcontent.subviews.length*136;
-                var newy = 0;
-                if (x>220) {
-                    newx = 0;
-                    newy += 140;
-                }
+ var freePos = this._videoviewcontent.getVideoObjectFreePos(36, 100, 100);
+
this.broadCastViewRef = new lz.videoObjectBroadcast(this._videoviewcontent,{
                            publicSID:publicSID,
-                           x:newx,y:newy
+                           x:freePos[0],y:freePos[1]
                     });
                                canvas.currentusercolor = 
this.colorArray[this.subviews.length];
                                
this.broadCastViewRef._chatvideoinner.r.destroy();
@@ -205,15 +201,12 @@
                        if (obj!=null){
                                return obj;
                        }
-            var newx = this._videoviewcontent.subviews.length*136;
-            var newy = 0;
-            if (x>220) {
-                newx = 0;
-                newy += 140;
-            }
+            //Get a Free VideoView Slot
+ var freePos = this._videoviewcontent.getVideoObjectFreePos(36, 100, 100);
+
                        return new 
lz.videoObjectPlayBroadcast(this._videoviewcontent,{
                     publicSID:publicSID,
-                    x:newx,y:newy
+                    x:freePos[0],y:freePos[1]
                 });
                ]]>
        </method>
@@ -273,9 +266,7 @@
                }
        </method>

-       <view name="_videoviewcontent">
-
-       </view>
+       <commonVideoViewContent name="_videoviewcontent" />

 </class>

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx Mon Oct 12 03:58:23 2009 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx Wed Aug 24 01:01:53 2011
@@ -89,8 +89,8 @@
                ]]>
                </method>

-               <view width="$once{ parent.width }" name="_videoviewcontent">
+ <commonVideoViewContent width="$once{ parent.width }" name="_videoviewcontent">
                        <wrappinglayout axis="x" spacing="2" />
-               </view>
+               </commonVideoViewContent>
        </class>
 </library>

--
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en.

Reply via email to