Author: solomax
Date: Wed Mar 22 17:59:32 2017
New Revision: 1788144

URL: http://svn.apache.org/viewvc?rev=1788144&view=rev
Log:
[OPENMEETINGS-551] animated pointer is added

Added:
    
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/pointer.png
      - copied unchanged from r1788143, 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/menupointer.png
    
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/wbpointer.png
   (with props)
Removed:
    
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/menupointer.png
Modified:
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html?rev=1788144&r1=1788143&r2=1788144&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
 Wed Mar 22 17:59:32 2017
@@ -52,6 +52,7 @@
                        <div class="tools ui-state-active vertical clear" 
style="display: none; position: absolute; top: 20px; right: 0px;">
                                <div class="bumper"></div>
                                <div wicket:message="title:72" 
class="ui-widget-header clickable om-icon big pointer"></div>
+                               <div wicket:message="title:557" 
class="ui-widget-header clickable om-icon big apointer"></div>
                                <div wicket:message="title:73" 
class="ui-widget-header clickable om-icon big text"></div>
                                <div wicket:message="title:74" 
class="ui-widget-header clickable om-icon big paint"></div>
                                <div wicket:message="title:75" 
class="ui-widget-header clickable om-icon big line"></div>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js?rev=1788144&r1=1788143&r2=1788144&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
 Wed Mar 22 17:59:32 2017
@@ -60,6 +60,76 @@ var Pointer = function(canvas, s) {
                }
        };
 }
+var APointer = function(canvas, user) {
+       var pointer = {};
+       pointer.mouseUp = function(o) {
+               var ptr = canvas.getPointer(o.e);
+               fabric.Image.fromURL('./css/images/menupointer.png', 
function(img) {
+                       img.set({
+                               left:15
+                               , originX: 'right'
+                               , originY: 'top'
+                       });
+                       var circle1 = new fabric.Circle({
+                               radius: 20
+                               , stroke: '#ff6600'
+                               , strokeWidth: 2
+                               , fill: 'rgba(0,0,0,0)'
+                               , originX: 'center'
+                               , originY: 'center'
+                       });
+                       var circle2 = new fabric.Circle({
+                               radius: 6
+                               , stroke: '#ff6600'
+                               , strokeWidth: 2
+                               , fill: 'rgba(0,0,0,0)'
+                               , originX: 'center'
+                               , originY: 'center'
+                       });
+                       var text = new fabric.Text(user, {
+                               fontSize: 12
+                               , left: 10
+                               , originX: 'left'
+                               , originY: 'bottom'
+                       });
+                       var group = new fabric.Group([circle1, circle2, img, 
text], {
+                               left: ptr.x - 20
+                               , top: ptr.y - 20
+                       });
+                       canvas.add(group);
+
+                       var count = 3;
+                       function go(_cnt) {
+                               if (_cnt < 0) {
+                                       canvas.remove(group);
+                               }
+                               circle1.set({radius: 3});
+                               circle2.set({radius: 6});
+                               circle1.animate(
+                                       'radius', '20'
+                                       , {
+                                               onChange: 
canvas.renderAll.bind(canvas)
+                                               , duration: 1000
+                                               , onComplete: function() 
{go(_cnt - 1);}
+                                       });
+                               circle2.animate(
+                                       'radius', '20'
+                                       , {
+                                               onChange: 
canvas.renderAll.bind(canvas)
+                                               , duration: 1000
+                                       });
+                       }
+                       go(count);
+               });
+       }
+       pointer.activate = function() {
+               canvas.on('mouse:up', pointer.mouseUp);
+       }
+       pointer.deactivate = function() {
+               canvas.off('mouse:up', pointer.mouseUp);
+       };
+       return pointer;
+}
 var Base = function() {
        var base = {
                fill: {enabled: true, color: '#FFFF33'}
@@ -283,7 +353,7 @@ var Arrow = function(canvas, s) {
                                left: arrow.orig.x
                                , top: arrow.orig.y
                                , angle: 0
-                               , strokeWidth: arrow.stroke.width
+                               , strokeWidth: 2
                                , fill: arrow.fill.enabled ? arrow.fill.color : 
'rgba(0,0,0,0)'
                                , stroke: arrow.stroke.enabled ? 
arrow.stroke.color : 'rgba(0,0,0,0)'
                        });
@@ -294,8 +364,8 @@ var Arrow = function(canvas, s) {
                var dx = pointer.x - arrow.orig.x
                , dy = pointer.y - arrow.orig.y
                , d = Math.sqrt(dx * dx + dy * dy)
-               , sw = d > 40 ? 20 : 5
-               , hl = d > 40 ? 30 : 10
+               , sw = arrow.stroke.width
+               , hl = sw * 3
                , h = 1.5 * sw
                , points = [
                        {x: 0, y: sw},
@@ -417,6 +487,7 @@ var Wb = function() {
                        }
                });
                initToolBtn('pointer', true, Pointer(canvas, s));
+               initToolBtn('apointer', true, APointer(canvas, 'TEST USER')); 
//FIXME TODO
                initToolBtn('text', false, Text(canvas, s));
                initToolBtn('paint', false, Paint(canvas, s));
                initToolBtn('line', false, Line(canvas, s));

Added: 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/wbpointer.png
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/wbpointer.png?rev=1788144&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/wbpointer.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css?rev=1788144&r1=1788143&r2=1788144&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css 
(original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css 
Wed Mar 22 17:59:32 2017
@@ -137,10 +137,10 @@
 }
 .room.wb.area .tools.vertical {
        width: 38px;
-       height: 400px;
+       height: 420px;
 }
 .room.wb.area .tools.horisontal {
-       width: 400px;
+       width: 420px;
        height: 38px;
 }
 .room.wb.area .tools .om-icon.big {
@@ -154,7 +154,10 @@
        background-image: url(images/paintbrush.png);
 }
 .room.wb.area .tools .om-icon.big.pointer {
-       background-image: url(images/menupointer.png);
+       background-image: url(images/pointer.png);
+}
+.room.wb.area .tools .om-icon.big.apointer {
+       background-image: url(images/wbpointer.png);
 }
 .room.wb.area .tools .om-icon.big.line {
        background-image: url(images/line.png);


Reply via email to