We are using drawing on canvas on our application and found a problem after screen orientation change from landscape to portrait mode. It looks like new image on canvas composing with previous image. If you switch to landscape mode back everything looks fine again. We can try to avoid this problem by setting alpha channel of every picture pixel byte to zero, but this is performance expensive task.
OnDraw function example:
result formFrame::OnDraw() { Tizen::Graphics::Canvas * pCanvas = GetCanvasN(); if (pCanvas != NULL) { Tizen::Graphics::BufferInfo bufferInfo; pCanvas->Lock(bufferInfo); for (int i = 0; i < bufferInfo.height*bufferInfo.pitch/4; ++i) *((int *)bufferInfo.pPixels + i) = 0x000000ff; for (int i = 0; i < 16*bufferInfo.pitch; ++i) *((int *)bufferInfo.pPixels + i + bufferInfo.pitch*bufferInfo.height/8) = 0x80000000; pCanvas->Unlock(); } return E_SUCCESS; }
At screen1 you can see screen after first redraw call, second screen after changing orientation to landscape and third after changing orientation back to portrait. On third screen you can see that canvas was merged with the previous image.
Archive with an example:
https://bugs.tizen.org/jira/secure/attachment/14205/alphaChannelOnCanvas.zip