void paintSkin(Graphics g,int dx,int dy,int dw,int dh,State state){
  if (XPStyle.getXP() == null) {
    return;
  }
  if (ThemeReader.isGetThemeTransitionDurationDefined() && component instanceof JComponent && SwingUtilities.getAncestorOfClass(CellRendererPane.class,component) == null) {
    AnimationController.paintSkin((JComponent)component,this,g,dx,dy,dw,dh,state);
  }
 else {
    paintSkinRaw(g,dx,dy,dw,dh,state);
  }
}

void paintSkin ( Graphics g , int dx , int dy , int dw , int dh , State state ) { if ( XPStyle . getXP ( ) == null ) { return ; } if ( ThemeReader . isGetThemeTransitionDurationDefined ( ) && component instanceof JComponent && SwingUtilities . getAncestorOfClass ( CellRendererPane . class , component ) == null ) { AnimationController . paintSkin ( ( JComponent ) component , this , g , dx , dy , dw , dh , state ) ; } else { paintSkinRaw ( g , dx , dy , dw , dh , state ) ; } }
paint a skin at a defined position and size this method supports animation .
