Search Results

Search results 1-20 of 235.

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

  • Hi, GUI_BMP_DrawEx() expects a pointer to a GetData function as first and the file handle as second parameter. The GetData function reads the file using the file handle, so that emWin can draw the BMP image with the data that was read. There is an example in the wiki that demonstrates this. The example can be run in both the Windows simulation and on a target (using emFile). You can apply this example to the file system you are using, since the steps are the same. The code you posted should be m…

  • Hi, did you set the encoding of emWin to UTF-8? You can do this by calling GUI_UC_SetEncodeUTF8(). Furthermore you should make sure that the font you are using includes the Arabic presentation forms. These characters are located in the area 0xFE70 - 0xFEFC. I would expect the font you are using to have the presentation forms, since it is a font specifically for Arabic, but you should still check nonetheless. Best regards, Florian

  • Place image on button

    SEGGER - Florian - - emWin related

    Post

    Hi, the best way would be to overwrite the callback of the BUTTON. By doing this, only your callback will determine how the BUTTON is being drawn. You can find a sample in the wiki that demonstrates, how this can be done. Best regards, Florian

  • Hi, you can edit the properties of the attached scale object using the GRAPH_SCALE_... functions. To change the numbers shown on the scale, GRAPH_SCALE_SetFactor() and GRAPH_SCALE_SetTickDist() are used. Best regards, Florian

  • Hi, you can get the handle of the TEXT widget by calling WM_GetDialogItem(hParent, ID_TEXT_0) where hParent is the parent window of the child window. In this case, the dialog is the parent of the TEXT widget. In your function _UpdateText(), you can't call pMsg->hWin without having a pointer to a WM_MESSAGE structure. You could save the handle of the parent window as a static variable in order for the function to work. Best regards, Florian

  • Hi, when you are displaying a new value, it is written above the old value. Therefore, the background of the value has to be cleared, so that only the new value is visible in the end. You can clear the background of a window with GUI_Clear(). Note that GUI_Clear() clears the entire screen with the currently set background color. You can limit the area to be cleared with GUI_ClearRect(). If emWin widgets are included in your library or source code, using the TEXT widget will be probably a lot eas…

  • Font Converter issue

    SEGGER - Florian - - emWin related

    Post

    Hi, the Font Converter shows a dialog when trying to overwrite an existing file, though. Nonetheless, you do have a point, we will consider improving the file naming in the tool. Best regards, Florian

  • Hi, this only applies to the fonts that are included in emWin, not fonts generated by the Font Converter. These standard fonts are listed in the manual as "GUI_FONT...". You could use TTF fonts to generate the font with a desired font size during runtime. TTF files are usually pretty big, so in most cases it would make sense to store them on external memory. You can find examples on how to use TTF fonts in emWin in the Wiki: - TTF file in ROM - TTF file on external memory The most memory-efficie…

  • Font Converter issue

    SEGGER - Florian - - emWin related

    Post

    Hi, the Font Converter always adds the pixel height of the font to the file name, not just the height of a character. The pixel height includes the spacing above and below a character, therefore the height can be the same with different point sizes. Best regards, Florian

  • Hi, your display driver may not be configured correctly. Unfortunately, we do not currently have a ready-to-use LCDConf.c for the board you are using, so you might want to contact ST about this issue. It could also be a hardware error. Sometimes the display is not placed correctly, so that the outputs look crooked or offset. Best regards, Florian

  • Hi, the values are getting written onto the display all at once. You can add a delay to the for-loop to see the value getting updated. To do that, use GUI_Delay(ms). Best regards, Florian

  • Hi, you would have to add more values at once in order for the curve to update faster. Every value added with GRAPH_DATA_YT_AddValue() only equates to 1px in width of the curve. It makes sense to store the values in an array, if they are not dynamic, to save CPU time. Best regards, Florian

  • GIF image drawing

    SEGGER - Florian - - emWin related

    Post

    Hi, if you convert a GIF image to a C array, you simply have to call IMAGE_SetGIF() and the GIF will be drawn automatically (all subimages and time delays). The best way to extract the subimages probably would be GIMP. When loading the GIF image, you may have to click "Filters -> Animations -> Unoptimize". This is because the frames in most GIFs image only contain the changes but not the full frame to achieve a lower file size. After the frames are unoptimized, you can export all layers by click…

  • GIF image drawing

    SEGGER - Florian - - emWin related

    Post

    Hi, you would achieve the best performance with memory devices, however, you would probably need a lot of RAM to create a device for every sub-image (depending on the image size). I would recommend to save and draw each sub-image as a C bitmap. Drawing the sub-images with GUI_GIF_DrawSub() won't be as efficient as drawing bitmaps, since the routine has to search the array for each sub-image every time. This means, through the end of the GIF, the routine takes longer to find the correct sub-image…

  • Hi, the key input from the client should be sent to the VNC server. In emWin, there are two ways to react on keyboard input. It depends whether you are using the window manager, or not. When using the window manager, have to react on the WM_KEY message. This message is sent to the window that has the focus when a key was pressed. If you have something that does not receive input focus (like a normal window), you can just call WM_SetFocus() on it. C Source Code (17 lines)A pointer to a WM_KEY_INF…

  • Hi, Quote from bio_med: “GUI_TOUCH_CalcCoefficients(NUM_TOUCHSCREEN_CAL_POINTS, ReferenceX, ReferenceY, SampleX, SampleY, X_Size, Y_Size); ” this routine is used for calibration. Before you can do that, the touch points have to be retrieved from the controller and sent to emWin. This is done by the routine GUI_TOUCH_StoreStateEx(). Below you can find a (simplified) example configuration for the STM32F746G-Disco. Note that this is only an example, you have to adapt it according to your hardware. …

  • Hi, I forgot to mention that the sample cannot be used on capacitive touchscreens. Are you using a capacitive or a resistive touchscreen? And how do you pass the data sent by the touch controller to emWin? Best regards, Florian

  • Hi, I cannot really say what is going wrong without knowing which hardware you are using or what you are doing after the calibration in your application. Can you provide me some information and code to reproduce the behavior? Thanks and best regards, Florian

  • Update: We have fixed the bug and uploaded a new demo version onto the website. Best regards, Florian

  • Hi, we were able to reproduce the behavior and are looking into it. I found that the file dialog would still be opened when pressing CTRL + O. Best regards, Florian