I am experiencing some odd behavior with this.
I have an object called Text. It consists of a window with a text_prompt and a multi_line_text_view object. When I attach it to my main window everything is fine.
I have another object called Panel. It consists of a window with a text_prompt and a child window called Scrollbar. This child window has a scrollbar attached and its own child window called Content. The scrollbar then scrolls the Content window. I attach the Panel to my main window and fill it up with other widgets everything works great.
- Scrollbar (window)
- Content (window)
- various widgets
Then I add a Text object to the Panel.
- Text (window)
And things go weird. It looks like drawing the multiline view corrupts the dirty rect that controls how much of the screen is drawn.
When the window is first opened, only parts of it draw - typically those widgets attached before the Panel. If I then touch the Text object in the panel, the rest of the panel is drawn. If I touch the main window to generate a FOCUS_GAINED event, the whole page gets drawn.
If I redefine Text to put its widgets in a window, which is then added to the Text window (i.e. if I add layers of windows to the Text object before it gets to the multiline view widget) it works perfectly fine when attached to the main window (as expected - the extra layers of windows do nothing). But when attached to my Panel object, the drawing behavior gets even more bizarre; two layers of windows, for instance, means the main window draws when opened but the multiline textview does not; touching it then draws it but erase the rest of the main window.
I cannot figure out what is different about attaching this Text window with its multiline widget to my main window vs my Panel window, save for the scrollbar. But detaching the scrollbar from the panel doesn't change anything.
How's this issue? Have you made some progress or were you able to solve this already?
JBRenesasRulz Forum Moderator
In reply to JB:
In reply to MCP:
In reply to garyj:
I contacted Express Logic and they mentioned the same thing. (BTW they are really helpful; it reflects well on Renesas that they picked such a good partner).
Increasing the work space to 524K (when I tried 1024K the linker complained) in the SSC Configurator in the properties of the "D/AVE 2D Port on sf_tes_2d_drw" module solves the problem for Hello World, but not for my actual application which may display 2 or even 3 multi line text views at the same time. This strikes me as highly surprising; I would have expected that much work space to be sufficient for any amount of text. There seems to be a weakness in Renesas' port of the 2D driver.
Turning off the hardware 2D engine from GUIX Studio / Configure / Projects/Displays / Advanced Settings does work, however. Now I can have 3 multi line text views on the screen and everything is fine. This does mean I don't have hardware acceleration but I don't think I need it; I'm not displaying any images. Obviously I would like it fixed but I can deal for now.
However... there is still the original issue. When I bury the multi line text view in enough layers of windows, I get the same results: some widgets not drawing or the text view cutting off mid-sentence whenever a FOCUS GAINED event hits the main window.
It is really odd that two entirely different issues - hardware acceleration and window depth - produce the same random behaviour.
Again, for now, I can deal - I just limit the window depth for my text views and for now that's good enough - but I would like to get to the bottom of this, in case my requirements change or just for peace of mind in general. I will let you know if Express Logic has anything to add about the window depth.
For point 1) you will need to disable the Dave2D acceleration in both places, in the GUIX Studio project, and in the Synergy project.
In reply to Jeremy: