GUIX Text from Text Button sometimes disappearing

Hello everyone,

I am using a 4,3" touch display and I am having a problem where the text from a text button sometimes disappears. Sometimes not the whole glyph is printed sometimes it is missing entirely. Please see the following screenshots:

 

As you can see, the 'x' is missing partly in the left screenshot and completely in the right one.

Any idea what might cause that behaviour?

I've used a 5" display with no such problems btw.

Kind regards,

Christoph

  • Hi Christoph,

    How's this issue? Were you able to identify what's causing this problem? So far, what changes have you made in your program from the 5" to the 4.3" inch display?

    JB
    RenesasRulz Forum Moderator

    https://renesasrulz.com/
    https://academy.renesas.com/
    https://en-us.knowledgebase.renesas.com/

  • In reply to JB:

    Hi,

    I have not yet been able to identify the issue. I have adjusted the GUIX display driver values to accomodate for the lowered resolution (5" was 800x480, 4,3" is 480x272), but thats it. All custom drawing functions are the same. Also when I open the keyboard for the first time, it doesn't neccessarily happen but after a bit of writing, closing it and opening again, a letter or two disappear or what has also happened: a key changed the value of it, sor e.g. a '6' became an 'a', which is super weird because I have every key with a private text copy option enabled so the memory for it should be allocated correctly.

    I have just now checked it again and the error only happens when I have written something in the GX_SINGLE_LINE_TEXT_INPUT. I will investigate this newfound circumstance.

    Regards,

    Christoph

     

    EDIT: I have traced the problem to my own drawing function, where I call gx_widget_text_blend. If I don't use my own button_draw it works. Drawing the button the first time my keyboard is opened always works, however when the screen refreshes, the glyph disappears. This happens in _gx_canvas_text_draw_ext, where _gx_utility_rectangle_overlap_detect returns false and thus returns the function before drawing the glyph. I am not sure, why this button is refreshed anyway, since nothing should have changed to it. Apparently the system thinks the text is not in a dirty area, which in itself should be true, since nothing changed. But another process in the background of the gui thread seems to have erased the glyph before.

     

    Any ideas?

     

    EDIT2: When I use gx_system_dirty_mark for the specific button on which the glyph disappears, it is correctly drawn. So apparently the dirty mark doesn't work as intended

  • In reply to cbismark:

    Apparently I have not set my internal keyboard_closed bool correctly after closing it and that created the problems. Now everything works.

    Kind Regards,

    Christoph