home *** CD-ROM | disk | FTP | other *** search
/ Chip Special: HTML & Java / Chip-Special_1997-01_HTML-a-Java.bin / javasdk / sdk-java.exe / SDKJava.cab / Samples / directX / d3drm / Viewer / FlickViewer.java < prev    next >
Encoding:
Java Source  |  1996-10-10  |  1.8 KB  |  82 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3. import com.ms.com.*;
  4. import com.ms.com.*;
  5. import com.ms.awt.*;
  6. import com.ms.awt.peer.*;
  7. import com.ms.directX.*;
  8.  
  9. class FlickViewer implements Runnable, ddConstants
  10. {
  11.     private Thread t;
  12.     private boolean running = true;
  13.  
  14.     public     boolean left_drag = false;
  15.     public  boolean right_drag = false;
  16.  
  17.     AppInfo active_window;
  18.     SelectionDude    sel;
  19.  
  20.     //////////////////////////////////////////////////////////////////////////
  21.     
  22.     public FlickViewer(int p, AppInfo info, SelectionDude s)
  23.     {
  24.         active_window = info;
  25.         sel = s;
  26.         
  27.         t = new Thread(this);
  28.         t.setPriority(p);
  29.         
  30.     }
  31.  
  32.     //////////////////////////////////////////////////////////////////////////
  33.     
  34.     public void run()
  35.     {
  36.         while(running)
  37.         {
  38.             Idle();
  39.             Render();
  40.         }
  41.     }
  42.  
  43.     //////////////////////////////////////////////////////////////////////////
  44.     
  45.     public void stop()
  46.     {
  47.     }
  48.  
  49.     //////////////////////////////////////////////////////////////////////////
  50.     
  51.     public void start()
  52.     {
  53.         t.start();
  54.     }
  55.  
  56.     //////////////////////////////////////////////////////////////////////////
  57.  
  58.     int Render() 
  59.     {
  60.         active_window.scene.Move(1.0F);
  61.         active_window.view.Clear();
  62.         active_window.view.Render(active_window.scene);
  63.         active_window.dev.Update();
  64.         return 1;
  65.     }
  66.  
  67.     //////////////////////////////////////////////////////////////////////////
  68.  
  69.     void Idle()
  70.     {
  71.         d3drmFrame selected = sel.SelectedFrame();
  72.  
  73.         if (left_drag && (selected != null))
  74.                selected.SetRotation(active_window.scene, 0.0F, 1.0F, 0.0F, 0.0F);
  75.                
  76.         if (right_drag && (selected != null))
  77.                selected.SetVelocity(active_window.scene, 0.0F, 0.0F, 0.0F, 0);
  78.     }
  79.  
  80.     //////////////////////////////////////////////////////////////////////////
  81. }
  82.