Search Results

Search results 1-20 of 946.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Hi, I can't reproduce the behavior. With the code below I can display the string with a red background ending pretty much directly with the last character. I had to adapt the GUI_RECT because it didn't fit on my screen. C Source Code (16 lines)Are you using a stock font of emWin or a font created with the Font Converter? Regards, Sven

  • Hi, Unfortunately, there is no way to reduce it. The information is required to distinguish between the different types of characters. Since we cover the UC ranges from 0x0000 to 0xFFFF this table gets quite large. Regards, Sven

  • Hi, Yes, when enabling BIDI support emWin needs more ROM because the BIDI algorithm needs some sort of conversion table. So, no mistake from your side. Regards, Sven

  • Hi, Unfortunately, it is not possible to rotate images directly with emWin. But, you can rotate memory devices. You need two memory devices. One which holds the image to be rotated and another one as destination which will contain the rotated image. Just refer to the API description of the GUI_MEMDEV_Rotate() functions in the user manual. Please note that the devices used for rotation have to be created with 32bpp color depths. Regards, Sven

  • Hi, I'm not sure if I get you right. You have a dialog with LISTVIEW and a BUTTON. When pressing the BUTTON you create another window ("A") which is the child of the dialog. After creating "A" you want to get the handle of the LISTVIEW from within the callback function of "A". To do that you have to get the handle of the parent of "A" by calling hParent = WM_GetParent(pMsg->hWin) in the callback function of "A". With the handle of the parent you can retreive the handle of the LISTVIEW with: hIte…

  • Hi, Not sure what is going wrong. I gave it a try and everthing is fine. To rotate the display use the following: GUIDRV_LIN_OSY_24 - Rotate counter clockwise GUIDRV_LIN_OSX_24 - Rotate clockwise GUIDRV_LIN_OXY_24 - Rotate 180 Which device are you using? Regards, Sven

  • Hi, I would configure the DSI to write RGB565 data to the LCD. So your framebuffer uses 16 bit per pixel color depth. When drawig an image with alpha into the framebuffer, the hardware (DMA2D/Chrome Art Accelerator) will mix the tranpsarent pixel with those in the framebuffer. Of course, this requires some functions set to make sure emWin routes bitmap operations to the hardware. If there are no functions set, emWin will mix the colors in software. Attached is an example LCD configuration for th…

  • Hi, Attached is an example on how to read and draw streamed bitmap. This example uses the Windows filesystem, but it should be quite easy to change it to use your own read function. The _GetDataFunction() needs to be adapted. Instead of accessing the data via a file file handle you have to use your function to read the streamed bitmap from the flash. Regards, Sven

  • Hi, It seems the knob removes the transparency from the BK device because of performance reasons. Below is your code with a little change. I have moved the KNOB and the memory device creation into a window. This window has the size of the KNOB and manages just the background by drawing hMemBk. The KNOB itself has no more a BK device. C Source Code (115 lines) I think it is pretty counterintuitive I guess we will change this in a future version. Regards, Sven

  • Hi, Unfortunately, this is not possible with the default API. But you can do it with a little bit of work on your own (please refer to the example). I have created a window which works as a container for the EDIT widget. This window is slightly larger (to the right) than the EDIT widget. If the user click into this overlapping area the cursor of the EDIT widget gets set to the right most position. Since the EDIT widget will become a child of this container window there are some other points whic…

  • Hi, I can't find any issue. With a pensize of 1 an anti aliased line gets pretty thin and getting more grayish (with black and white). You might try to set another pensize (maybe 2). Regards, Sven

  • Hi, There are several ways to achieve what you want. It depends on how much resources are available and how complex the application should be. 1. Simply draw the background to clear the old text and display the text again. This might be the easiest way but it requires redrawing of the complete background. 2. Having enough resources (especially RAM) you can use memory device to rescue the screen content without the text. This is almost the same as you tried. But with memory devices. Those devices…

  • TTF FONT issue?

    SEGGER - Schoenen - - emWin related


    Hi, I gave it a try but on my end seems to be ok. I tested with both, V5.44 and the most recent one V5.50b. Attached are some screenshots. Unfortunately, I don't have the same font, so I can not say if this is related to the font. I used Noto Sans Bold. Regards, Sven

  • TTF FONT issue?

    SEGGER - Schoenen - - emWin related


    Hi which version of emWin are you using? Can you post an example which shows how to reproduce the behavior? Regards, Sven

  • Hi, Try the code below. First get the EDIT handle from the SPINBOX and then modify the EDIT widget. Although it is not documented, you can pass the flag GUI_EDIT_SUPRESS_LEADING_ZEROES to the function EDIT_SetDecMode(). I will update the manual. C Source Code (3 lines) Regards, Sven

  • Hi, I would delete the current window and create the new one. This way the memory consumed by one window will get freed. Of course, there can be reasons to not delete a window, e.g. setting up some data in WM_CREATE takes while. I barely use GUI_EndDialog(), I always use WM_DeleteWindow() to delete a window. WM_InvalidateWindow() is required to redraw a window. Maybe after changing some values to be displayed (e.g. ADC values). Here is an example for deleting and invalidating two windows: Source…

  • Alphanumeric keypad

    SEGGER - Schoenen - - emWin related


    Hi, I dug through my examples box and found something. Attached is an example with an EDIT widget and a keypad. It is made for a screen of 480x272 pixels, so for another screen size it would require some changes. If you click on the EDIT widget a keypad gets shown. You can hide and show the keypad by clicking on the little button in the lower reight corner. The keypad also has special characters when pressing the shift key. The Alt and Ctrl key have no function but it can be implemented. Regards…

  • Hi, Yes, no matter how many windows/dialogs/widgets are getting created or deleted. Regards, Sven

  • Hi, Attached is a LCDConf.c for an STM32F429. It uses the LTDC and the DMA2D (Chrome Art Accelerator). It might be necessary to adapt the GPIO settings depending on which GPIOs your LCD is connected to. Regards, Sven

  • Hi, This is the intended behavior. When using the Window Manager everything gets managed within GUI_Exec(). Most of the applications have a super loop which periodically calls GUI_Exec() or GUI_Delay() (GUI_Delay() calls GUI_Exec()). This loop takes care about updating the screen content. Below is a very simple application which shows how it works. The desktop color gets used to clear the screen when the window gets deleted. Also, please note that the window gets not directly visible when callin…