package cnp.ew.slider;

import java.awt.*;
import cnp.ew.util.*;
import cnp.ew.displayer.*;
import cnp.ew.image.*;
import cnp.ew.lightweight.*;
import cnp.ew.scrolling.*;

public class CpSliderLc extends CpAbstractSliderLc
{
    Image thumbImage;

    public CpSliderLc(int orientation)
    {
        super(orientation);
    }

	public void setValues(int value, int min, int max)
    {
        if (this.min != min || this.max != max || this.value != value) {
            this.min = min;
            this.max = max;
            this.value = value;
            if (pageSize < 0) {
                pageSize = (max - min) / 10;
            }
            repaintClientArea();
        }
    }

    public void paintBackground(Graphics g)
    {
    }

    public void paintThumb(Graphics g)
    {
        Rectangle thumbRect = getThumbRect();
        g.drawImage(thumbImage, thumbRect.x, thumbRect.y, CpToolkit.defaultComponent());
    }

    int getThumbSizeInPixels()
    {
        switch (orientation) {
        case CpScrollbarLc.HORIZONTAL:
            return thumbImage.getWidth(CpToolkit.defaultComponent());
        case CpScrollbarLc.VERTICAL:
            return thumbImage.getHeight(CpToolkit.defaultComponent());
        default:
            throw new IllegalArgumentException("Invalid orientation for slider");
        }
    }

    int getScaleDimension()
    {
        return getDimension() - getThumbSizeInPixels();
    }

    int getWindowSize()
    {
        return 0;
    }

    int getAmountToPage()
    {
        return pageSize;
    }
}

