001package net.minecraft.client.renderer.texture; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005 006@SideOnly(Side.CLIENT) 007public class Rect2i 008{ 009 private int rectX; 010 private int rectY; 011 private int rectWidth; 012 private int rectHeight; 013 014 public Rect2i(int par1, int par2, int par3, int par4) 015 { 016 this.rectX = par1; 017 this.rectY = par2; 018 this.rectWidth = par3; 019 this.rectHeight = par4; 020 } 021 022 public Rect2i intersection(Rect2i par1Rect2i) 023 { 024 int i = this.rectX; 025 int j = this.rectY; 026 int k = this.rectX + this.rectWidth; 027 int l = this.rectY + this.rectHeight; 028 int i1 = par1Rect2i.getRectX(); 029 int j1 = par1Rect2i.getRectY(); 030 int k1 = i1 + par1Rect2i.getRectWidth(); 031 int l1 = j1 + par1Rect2i.getRectHeight(); 032 this.rectX = Math.max(i, i1); 033 this.rectY = Math.max(j, j1); 034 this.rectWidth = Math.max(0, Math.min(k, k1) - this.rectX); 035 this.rectHeight = Math.max(0, Math.min(l, l1) - this.rectY); 036 return this; 037 } 038 039 public int getRectX() 040 { 041 return this.rectX; 042 } 043 044 public int getRectY() 045 { 046 return this.rectY; 047 } 048 049 public int getRectWidth() 050 { 051 return this.rectWidth; 052 } 053 054 public int getRectHeight() 055 { 056 return this.rectHeight; 057 } 058}