This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How multiple windows are seamlessly managed in TFT in projects.



Hi
I am working on one of my project in which I am using TFT.Suppose I have one window opened on it displaying some text. Now button press a pop up message appear on screen & ask user to continue or not. If yes then stay on screen else go to new screen. If user pressed back button then come back to first screen.

First to print pop up message ,I have to clear the part of screen & display my pop up message, & if user pressed cancel, then I have to remove pop up box which leads to delete the entire screen & reprint it again.

Also when user get back from new screen to first screen then first I have to clear new screen & then reprint all again first screen.

However in many projects , I have seen this is seamlessly managed.Also like multiple windows are managed in OS How to do that. I don't think that only due to speed which creates that seamless behavior  there must be some programming technique to do that.

 

  • Easy but memory-wasting way is to double-buffer each window graphical contents in the RAM. When some area of window on screen had been overlapped with other window and needs to be restored later, then particular area contents shall be restored from RAM.

    Other way is: window manager knows all visible areas of all the windows. When some window is moved/closed/resized/opened, then window manager signals each affected window to redraw one or many rectangles. Signal must contain coordinates of the screen that needs to be updated. In case of irregular forms one window possibly can receive more than one update notification - to update different rectangles of particular window visible area.

    Subtype of last approach is: on display change/update window manager commands each affected window to fully redraw it's contents and controls itself (in graphical output functions hooks) which part of each window shall be shown on display or not (it's like very simple 2D rendering of overlapping flat objects).

    If you need just pop-up, then copy main window contents below popup into RAM, display popup. On popup close - restore main window from RAM.

  • As a long-term display guy (have designed/sold many) applaud poster llmars.  (thorough & caringly presented)

    "Seamless" objective is likely far beyond capability of 430 family.  Massive memory to memory - and memory to/from screen - transfers are the classic method - and outside the design intent of 430 - even its "bigger/stronger" ARM brethren...

    Past books - focusing upon "Windows Graphics" will provide insight - you may also review dedicated display controllers by Solomon-Systech & Epson.  This said - "seamless" remains the ground of massive memory - and HW strategy/provisioning - which best (i.e. "only") enable warp-speed, pixel transfers...

**Attention** This is a public forum