private void fill(Graphics g, int x, int y, int width, int height, boolean horizontal) {
		if (horizontal) {
			if (height > block) {
				g.setColor(c_bg);
				g.fillRect(x, y, width + evm, height - block + evm);
			}
			for (int i = 0; i < width; i += block) {
				g.drawImage(hgradient, x + i, (height > block) ? (y + height - block) : y,
					x + Math.min(i + block, width) + evm, y + height + evm,
					0, 0, Math.min(block, width - i) + evm, Math.min(block, height) + evm, null);
			}
		}
		else {
			if (width > block) {
				g.setColor(c_bg);
				g.fillRect(x, y, width - block + evm, height + evm);
			}
			for (int i = 0; i < height; i += block) {
				g.drawImage(vgradient, (width > block) ? (x + width - block) : x, y + i,
					x + width + evm, y + Math.min(i + block, height) + evm,
					0, 0, Math.min(block, width) + evm, Math.min(block, height - i) + evm, null);
			}
		}
	}