cancel
Showing results for 
Search instead for 
Did you mean: 

Why does touchgfx::Shape flickers when invalidated and has white dots around the border?

RMolins
Associate III

I have defined a Screen named GUI which has, images, rectangle and buttons. All are displayed correctly with the exception of touchgfx::Shape which have white dots around the border and flicker when the touchgfx::Shape is invalidated.

I have defined a shape in touchgfx and the code that is autogenerated in my MainViewBase.hpp is:

touchgfx::Container Current_flow;
touchgfx::Shape<3> current_arrow;

My intention is to update the color. To achieve this I change the color of the painter associated to the Shape object and invalidate the shape in void MainView::handleTickEvent() from MainView.cpp

current_arrowPainter.setColor(Color::getColorFrom24BitRGB(0xFF, 0, 0));
current_arrow.invalidate();

Photo of the white flicker around the arrow:

0693W00000KcEHgQAN.png

3 REPLIES 3
Osman SOYKURT
ST Employee

Hello RMolins,

Could you give more information about your configuration please ?

  • Which board do you use ?
  • Which version of TouchGFX Designer do you use ?
  • Which version of STM32CubeMX do you use ?

Can you reproduce this bug on the simulator or only on your board ?

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX
Alexandre RENOUX
Principal

Hello RMolins,

Can you try this code instead and see if it changes something ?

current_arrowPainter.setColor(Color::getColorFrom24BitRGB(0xFF, 0, 0));
current_arrow.updateAbstractShapeCache();
current_arrow.invalidate();

/Alexandre

RMolins
Associate III

@Osman SOYKURT​ 

  • Which board do you use?
    • STM32F769NI. However I am not using the provided touch display buut another one using the parallel LTCD pins
  • Which version of TouchGFX Designer do you use ?
    • 4.18.1
  • Which version of STM32CubeMX do you use ?
    • I am using STM32CubeIDE with STM32CubeF7 firwmware package V1.16.2

In the simulator the colors are solid, no flicker nor white dots

@Alexandre RENOUX​ I have added the code you mention, no changes on the behaviour.