    001package net.minecraft.client.gui;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import net.minecraft.client.settings.GameSettings;
    006import net.minecraft.util.MathHelper;
    007
    008@SideOnly(Side.CLIENT)
    009public class ScaledResolution
    010{
    011    private int scaledWidth;
    012    private int scaledHeight;
    013    private double scaledWidthD;
    014    private double scaledHeightD;
    015    private int scaleFactor;
    016
    017    public ScaledResolution(GameSettings par1GameSettings, int par2, int par3)
    018    {
    019        this.scaledWidth = par2;
    020        this.scaledHeight = par3;
    021        this.scaleFactor = 1;
    022        int var4 = par1GameSettings.guiScale;
    023
    024        if (var4 == 0)
    025        {
    026            var4 = 1000;
    027        }
    028
    029        while (this.scaleFactor < var4 && this.scaledWidth / (this.scaleFactor + 1) >= 320 && this.scaledHeight / (this.scaleFactor + 1) >= 240)
    030        {
    031            ++this.scaleFactor;
    032        }
    033
    034        this.scaledWidthD = (double)this.scaledWidth / (double)this.scaleFactor;
    035        this.scaledHeightD = (double)this.scaledHeight / (double)this.scaleFactor;
    036        this.scaledWidth = MathHelper.ceiling_double_int(this.scaledWidthD);
    037        this.scaledHeight = MathHelper.ceiling_double_int(this.scaledHeightD);
    038    }
    039
    040    public int getScaledWidth()
    041    {
    042        return this.scaledWidth;
    043    }
    044
    045    public int getScaledHeight()
    046    {
    047        return this.scaledHeight;
    048    }
    049
    050    public double getScaledWidth_double()
    051    {
    052        return this.scaledWidthD;
    053    }
    054
    055    public double getScaledHeight_double()
    056    {
    057        return this.scaledHeightD;
    058    }
    059
    060    public int getScaleFactor()
    061    {
    062        return this.scaleFactor;
    063    }
    064}