001         package com.croftsoft.apps.chat.view;
002    
003         import java.awt.*;
004         import java.util.*;
005         import javax.swing.JComponent;
006    
007         import com.croftsoft.core.animation.ComponentAnimator;
008         import com.croftsoft.core.animation.animator.ModelAnimator;
009         import com.croftsoft.core.animation.animator.WorldAnimator;
010         import com.croftsoft.core.animation.model.ModelAccessor;
011         import com.croftsoft.core.animation.model.WorldAccessor;
012         import com.croftsoft.core.animation.painter.ColorPainter;
013         import com.croftsoft.core.awt.image.ImageCache;
014         import com.croftsoft.core.lang.NullArgumentException;
015         import com.croftsoft.core.media.sound.AudioClipCache;
016    
017         import com.croftsoft.apps.chat.model.ChatModelAccessor;
018    
019         /*********************************************************************
020         * ComponentAnimator that maps Models to views.
021         *
022         * @version
023         *   2003-06-11
024         * @since
025         *   2003-06-06
026         * @author
027         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
028         *********************************************************************/
029    
030         public final class  ChatWorldAnimator
031           extends WorldAnimator
032         //////////////////////////////////////////////////////////////////////
033         //////////////////////////////////////////////////////////////////////
034         {
035    
036         private final ImageCache  imageCache;
037    
038         //////////////////////////////////////////////////////////////////////
039         //////////////////////////////////////////////////////////////////////
040    
041         public  ChatWorldAnimator (
042           WorldAccessor  worldAccessor,
043           ImageCache     imageCache )
044         //////////////////////////////////////////////////////////////////////
045         {
046           super ( worldAccessor );
047    
048           NullArgumentException.check ( this.imageCache = imageCache );
049         }
050    
051         //////////////////////////////////////////////////////////////////////
052         //////////////////////////////////////////////////////////////////////
053    
054         protected ComponentAnimator  createComponentAnimator (
055           ModelAccessor  modelAccessor )
056         //////////////////////////////////////////////////////////////////////
057         {
058           ChatModelAccessor  chatModelAccessor
059             = ( ChatModelAccessor ) modelAccessor;
060    
061           return new ChatModelAnimator ( chatModelAccessor, imageCache );
062         }
063    
064         //////////////////////////////////////////////////////////////////////
065         //////////////////////////////////////////////////////////////////////
066         }