Tuesday, April 24th 2018, 12:34pm UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.



Date of registration: Feb 5th 2015

Posts: 62


Tuesday, April 10th 2018, 2:54pm

Fill circle with a border

Is it possible? It seems GUI_SetPenSize() doesn't affect GUI_DrawCircle(), GUI_DrawEllipse() draws only the border without filling the inside and GUI_FillEllipse() fills the ellipse/circle without any border.

I can't allocate a Memory Device, so I have flickering if I call GUI_FillCircle() two times.

SEGGER - Schoenen

Super Moderator

Date of registration: Aug 13th 2015

Posts: 562


Thursday, April 12th 2018, 10:53am


I would have suggested to cal GUI_FillCircle() twice...

You say you don't have enough memory for a memory device, but there are other ways (depending on the driver) which can be used. Unfortunately, these solution require some memory, too.

Which driver are you using?

With the GUIDRV_Lin you can use multi buffering (of course this requires a lot of memory).

If you are using the GUIDRV_FlexColor driver you could use a cached version of the driver.

Almost all the other driver offer a cahced version, too.

If you are to short on RAM to use one of the solutions above you can still use a bitmap to draw such a circle/ellipse, but this will require some ROM. You might try different formats (use the Bitmap Converter to reduce the amount of colors) depending on your requirements.




Date of registration: Feb 5th 2015

Posts: 62


Thursday, April 12th 2018, 11:10am

If I'm not wrong, a Memory Device memory requirements are lighter than an entire data cache for the driver.

I'm using FlexColor driver without cache.

I know I can create a bitmap, however I don't have enough space in ROM too :-(

I think you should improve GUI_FillCircle(), maybe creating a new GUI_FillCircle_Ex(), that should take into account the pen size.