001 package com.croftsoft.core.animation.collector; 002 003 import java.awt.Rectangle; 004 import javax.swing.JComponent; 005 import javax.swing.RepaintManager; 006 007 import com.croftsoft.core.animation.RepaintCollector; 008 import com.croftsoft.core.lang.NullArgumentException; 009 010 /********************************************************************* 011 * Routes repaint requests back to the standard Swing RepaintManager. 012 * 013 * @version 014 * 2002-12-07 015 * @since 016 * 2002-03-13 017 * @author 018 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 019 *********************************************************************/ 020 021 public class SwingRepaintCollector 022 implements RepaintCollector 023 ////////////////////////////////////////////////////////////////////// 024 ////////////////////////////////////////////////////////////////////// 025 { 026 027 private static final Rectangle [ ] EMPTY_ARRAY = new Rectangle [ 0 ]; 028 029 // 030 031 private final JComponent component; 032 033 ////////////////////////////////////////////////////////////////////// 034 // constructor method 035 ////////////////////////////////////////////////////////////////////// 036 037 public SwingRepaintCollector ( JComponent jComponent ) 038 ////////////////////////////////////////////////////////////////////// 039 { 040 NullArgumentException.check ( this.component = jComponent ); 041 } 042 043 ////////////////////////////////////////////////////////////////////// 044 // accessor methods 045 ////////////////////////////////////////////////////////////////////// 046 047 public Rectangle [ ] getRepaintRegions ( ) { return EMPTY_ARRAY; } 048 049 public int getCount ( ) { return 0; } 050 051 ////////////////////////////////////////////////////////////////////// 052 // mutator methods 053 ////////////////////////////////////////////////////////////////////// 054 055 public void repaint ( ) 056 ////////////////////////////////////////////////////////////////////// 057 { 058 RepaintManager.currentManager ( component ).markCompletelyDirty ( 059 component ); 060 } 061 062 public void repaint ( 063 final int x, 064 final int y, 065 final int width, 066 final int height ) 067 ////////////////////////////////////////////////////////////////////// 068 { 069 RepaintManager.currentManager ( component ).addDirtyRegion ( 070 component, x, y, width, height ); 071 } 072 073 public void reset ( ) 074 ////////////////////////////////////////////////////////////////////// 075 { 076 } 077 078 ////////////////////////////////////////////////////////////////////// 079 ////////////////////////////////////////////////////////////////////// 080 }