본문 바로가기

DEV life/DEV.mobile

WIPI의 getRGBpixels/setRGBpixels의 문제점


WIPI의 getRGBpixels는 한 프레임(혹은 한 repaint, 하나의 스레드 타임, 등 뭐라 불러도)에서 여러번 호출이 되면 에뮬과 단말에서 모두 뻗는 것 같습니다. 특히 pixel값을 불러올 영역이 lcd영역 밖 (예를 들어, 그 범위 값이 음수이거나, lcd width/height보다 큰 값을 가진다면)에 있는 경우도 안정적인 동작을 하지 않는 것 같은 의심이 듭니다. (이것은 좀더 확인해 보아야 하는데, 다른 이슈로 바쁘고... 게으른 관계로)

또한 setRGBpixels역시 RGBdata를 그릴 영역을 지정하는데 있어, 그 영역 시작 좌표(top, left)가 음수인경우 자동으로 0으로 세팅 됩니다. 이게 무슨 말이냐면, 화면 왼쪽 혹은 상단에 있는 이미지가 화면 밖으로 나가거나 혹은 화면 밖에서 안으로 들어올 때 땅에서 머리부터 쑤욱 솟거나 허공에서, 마치 다른 차원으로 부터 빠져나오듯 몸통 왼쪽부터 쑤욱 튀어나온다는 것입니다. 이 문제로 midp2.0의 drawRGB를 WIPI 1.x로 구현하는데 있어 애로사항이 꽃피게 생겼습니다. 이런 경우 차라리 RGBdata.length만큼 루프를 돌리면서 setColor() + setPixel() 해버리는게 더 빠를 지도 모르겠습니다.