Moving Window as Image

Hi everyone,

I'm trying to move a whole window (with a lot of widgets in it) as quickly as possible. To achieve this I believe one would need to take a picture of it and move this picture, since the gx_widget_shift commands will move the while widget structure and every underlying widget will be updated, which slows this process down.

Is there a possibility to create an image (or use the framebuffer?) of the screen and then move this image?

Secondly, is it possible to draw a whole window off-screen on another canvas and then move this new canvas as an image into the display?



  • Good day, Christoph!

    Have you figured this one out already?

    RenesasRulz Forum Moderator
  • In reply to Sai:

    Hello Sai,

    I have not and some help would be greatly appreciated.

    Kind Regards,

  • In reply to cbismark:

    Hi Chris,

    At the application level, moving window as a bitmap is not supported however I know that GUIX does make some use of "block move" feature in D/AVE2D engine on Synergy. I don't think this is used by widget move however, because other than visual translation, changes to the control block of each child are required to ensure correct widget behavior (such as touch input registration).

    You can possibly "cheat" and implement this feature using second, unused display layer (typically foreground layer). Contents of this layer can be managed directly by user. Common use case for this is to perform smooth window transitions:
    1. Copy existing base (background) frame buffer to the foreground frame buffer.
    2. Make foreground buffer visible.
    3. Trigger changes to the GUI so that background frame buffer is updated.
    4. Move/fade foreground buffer out of view to reveal updated base frame buffer.

    Unfortunately this cannot be auto-managed by current version of GUIX and SSP.

  • Hello Christoph,

    Has Karol's explanation answered your questions or do you need any additional support?

    Kind regards,
  • In reply to Sergey Sokol:

    Hello Karol, Hello Sergey,

    I will have to try this out and see if I can adapt the functionality Karol mentioned for my use case. I'll write again, if I'm having trouble and also if it works.

    Kind Regards,

  • In reply to cbismark:

    Hi Christoph,

    Have you already tried out Karol's answer? Did it work for you?

    RenesasRulz Forum Moderator