Jump to content

Joel Bodenmann

Administrators
  • Posts

    2,620
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Joel Bodenmann

  1. Word wrapping is supported: https://wiki.ugfx.io/index.php/Font_rendering#Word-Wrapping The existing rendering functions for the label widget take a justification value as the param and use word wrapping internally if it's enabled in the configuration file.
  2. Uhm... what exactly is the problem/issue you're experiencing?
  3. Hello & Welcome to the µGFX community! You should use the private area of the GDisplay structure instead (g->priv) for these sorts of things. g->board is used to identify the board if using multiple displays at once. You need to write an intermediate wrapper. You need to call pure C functions from the driver file (which is C code). Those "pure C functions" can be implemented using C++ however. I'd recommend you to have a look at /drivers/gdisp/QImage to get an idea. We did the same there to interface Qt's QImage class in C++. We're very happy if you'd like to participate and update existing or create new documentation. An Arduino specific page would be very welcomed. I hope this helps.
  4. Just to clarify: The driver file (eg. gdisp_lld_ILI3820.c) will only call functions like write_data() and write_cmd(). However, the implementation of those functions need to be in the board file (eg. board_ILI3820.h). In the implementation of those functions in the board file you'll access your microcontroller's peripherals to talk to the display controller. Never access pins or SPI stuff directly from the driver file!
  5. Hello and welcome to the µGFX community! Is it possible that you forgot to assign the font on the GWIN level? You can either use gwinSetDefaultFont() to set a default font for all widgets or you can set a per-widget specific font with gwinSetFont().
  6. Happy yo Help & Very glad to hear that :)
  7. Regarding 1: Keep in mind that µGFX can still optionally run off one or more buffers. We have a lot of applications that use either hardware level double buffering or application level double buffering. We also have a lot of applications that use our dynamic arbitrary sized framebuffers called pixmaps.
  8. I think you might want to give GWIN_FLAT_STYLING a try (set it to FALSE or GFXOFF). Other than that you can always just create a custom rendering routine in your application instead of modifying library code: https://wiki.ugfx.io/index.php/Creating_a_custom_rendering_routine
  9. We're happy to answer any specific question you have but please give the documentation a shot first.
  10. You should also set GFX_COMPILER to GFX_COMPILER_KEIL if you're using Keil.
  11. What you did is correct. But now you need to debug: Step through your application and see whether it hangs or crashes somewhere Make sure that your board file is implemented properly. Use a logic analyzer / osmelloscope to verify that the signals are correct The ILIxxxx drivers are known to be very difficult to handle in terms of different revisions and so on. Some of the chips are even labeled wrong. Check out the initialization sequence in the driver file (/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c) and compare it to the one that your manufacturer/supplier supplied with the module you bought.
  12. Did you try to debug the application? Most likely it's hanging or crashing somewhere during initialization.
  13. Well did you check the configuration file reference? --> https://wiki.ugfx.io/index.php/Configuration Of course, each setting is also documented in-source code which makes it available in the API documentation: https://api.ugfx.io
  14. Hello and welcome to the µGFX community! Did you check out the Eclipse guide in the wiki (and/or the guides for the various eclipse based IDEs)? P.S. Next time please use code boxes in your post (I've added them).
  15. Yes, it is. Make sure that you use the latest master branch of the official repository to get all of the latest goodies.
  16. Did you ensure that your _mouseDown() function is registered in the VMT? Can you try to put the statusbar in the middle of the display to ensure that it's not some edge-touching issue.
  17. Joel Bodenmann

    Cursor

    Thank you for the video. Well, this is most likely a bug inside the textedit widget. I've added this to our internal ToDo list but it's gonna take a few weeks until we get there. You might want to try debugging it yourself if you need it quicker. We're happy to help if you have any specific questions.
  18. Joel Bodenmann

    Cursor

    I've added this to our todo list. Just to clarify: Is the display rotation a key component here?
  19. The wiki and the examples show you how to use it. If you have a particular problem we need to know what issue you're facing.
  20. A triangle is a polygon so you can use gdispFillConvexPolygon() and gdispDrawPolygon().
  21. There's no generalized way as you can load an image from almost any source. µGFX doesn't care how you get your image into memory. All it requires is to have byte level access to the image in order to decode it. But whether you manually wrote it into some external FLASH or whether you loaded it from an SD-Card through FatFS doesn't matter. If you want to store images in your microcontroller's FLASH you can use ROMFS which is a file system that we wrote ourselves that allows loading images from the microcontroller's FLASH directly through the GFILE API as shown in many examples. The nice thing about ROMFS is that it comes with a tool named file2c that allows you to "convert" the image. All it does is taking any kind of data as input, interpreting it as binary data and creating one or more C arrays out of it including some file & directory information for easy handling during runtime and even easier handling during flashing as you can just #include the image data - no need to dick around with linker scripts or things like that.
  22. You are ignoring almost anything we tell you in your other topics and now you start spamming other user's topics. That behavior is unacceptable to us.
  23. Joel Bodenmann

    Cursor

    Can you please provide a minimum test case that we can compile in order to reproduce the problem?
  24. This has nothing to do with this forum topic. Please keep things clean & organized.
  25. Joel Bodenmann

    Cursor

    What is a message editor?
×
×
  • Create New...