protected void updateDrawableRect(int compWidth, int compHeight) {
		int x = currentRect.x;
		int y = currentRect.y;
		int width = currentRect.width;
		int height = currentRect.height;
		
		if (CONSTVALUE._DEBUG_FLAG_LEVEL_5_) {
			System.out.println("x =>" + x);
			System.out.println("y =>" + y);
			System.out.println("width =>" + width);
			System.out.println("height =>" + height);
		}

		if (width < 0) {
			width = 0 - width;
			x = x - width + 1;
			if (x < 0) {
				width += x;
				x = 0;
			}
		}
		if (height < 0) {
			height = 0 - height;
			y = y - height + 1;
			if (y < 0) {
				height += y;
				y = 0;
			}
		}
		
		if ((x+width) > compWidth) {
			width = compWidth - x;
		}
		if ((y+height) > compHeight) {
			height = compHeight - y;			
		}
		
		if (rectToDraw != null) {
			previousRectDrawn.setBounds(rectToDraw.x, rectToDraw.y, rectToDraw.width, rectToDraw.height);
			rectToDraw.setBounds(x,y,width,height);
		} else {
			rectToDraw = new Rectangle(x,y,width, height);
		}
	}