<?xml version="1.0" encoding="UTF-8" ?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
      http://www.apache.org/licenses/LICENSE-2.0
    	  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  
-->
<library>

    <class name="whiteBoardPointer" extends="view"
           resource="pointer_whiteboard_rsc" width="20" height="20" >
        <attribute name="userName" value="" type="string" />
        <attribute name="fadeDelegate" value="null" />
        <labelText x="20" text="$once{ parent.userName }" />
        <handler name="oninit">
            this.play();
            this.fadeDelegate = new LzDelegate( this, "fadeText" );
            lz.Timer.addTimer( this.fadeDelegate, 5000 );
        </handler>
        <method name="fadeText" args="itemObj">
            this.destroy();
        </method>
    </class>

</library>