Search Results

Search results 1-20 of 343.

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

  • Hi, Unfortunately emWin does not provide such a function as of right now. You could do this with a function that draws an array of points as anti-aliased lines. The downside is that where the lines intersect the semi-transparent pixels will overlap and thus create intersection points that would be darker and stand out more than the lines. But in my example this was not really noticeable (see attached image). Attached you can find a short example. Best regards, Florian

  • Hi, Does your MainTask() have a superloop? The superloop is necessary so that emWin is "kept alive" and interactions with widgets work. This is due to the callback mechanism of emWin. After GUI_Init() is called and all your calls in MainTask() are done, the application should run in a loop like this: C Source Code (3 lines)Simple operations such as line drawing or displaying strings do not require a superloop. Best regards, Florian

  • Hi, You can use the GRAPH widget and its GRAPH_DATA_XY... functions to create such a curve. Have a look at the attached sample which demonstrates the use of this widget. Best regards, Florian

  • Hi Tommy, All the GUI_MEMDEV_Rotate...() routines require 32bpp source and destination devices, instead of 16bpp. GUI_MEMDEV_CreateFixed32() makes it easy to create a 32bpp device. I would recommend using GUI_MEMDEV_RotateHQ() to rotate the memory device. Best regards, Florian

  • Hi Tommy, It depends on how you want to do. A memory device is effectively a drawing container. So if you have multiple images that you want to display separately, then one device would be sufficient and it would have to have the size of the biggest image, so that all images fit into the device. But because a memory device is for drawing input, drawing something new will overwrite the old pixel data. So to keep multiple images pre-rendered in memory devices, you would of course need one device p…

  • Hi, The issue has been fixed and the fix will be released with the next general release (emWin V6.22). This issue only occurs with GUI_USE_ARGB == 1 and because GUI_DM_TRANS is used in the sample. Best regards, Florian

  • Hi, After running the example in the manual, I would expect the circle to be anti-aliased, but it was not. You can see my output in the attachments. We will look into this issue. Best regards, Florian

  • Hi Yuki, GUI_AA_SetFactor() sets the AA factor for drawing operations such as GUI_AA_DrawRoundedRect(), and so on. This does not refer to strings. You would need emWin fonts of the type "Extended", not "Extended, antialiased, 2bpp" or "Extended, antialiased, 4bpp". You can create your fonts using the Font Converter. Best regards, Florian

  • Hi Tommy Lim, GUI_MEMDEV_CreateEx() creates a memory device and allocates the necessary memory. The number that is returned is the handle number. Handle numbers are always unique. By creating new devices, a different number is picked so that emWin can tell the memory devices apart. Is there any reason why you delete and recreate the device so often? Usually a memory device should only be deleted when it is not needed anymore at all, like when the associated window has been deleted. Have a look a…

  • Hi, Depending on the font type and anti-aliasing level you are using, it definitely can take longer to display a string compared to a simple rectangle that is not anti-aliased. If the font is anti-aliased, the semi-transparent parts are mixed with the background colors. And obviously, the bigger the font is, the longer it takes to display each character bitmap. Best regards, Florian

  • Hi, Horizontal and vertical motion swiping is available for windows, same as it is for screens. In the version previous to AppWizard V1.24, this would only be the same motion behavior as with screens. But since V1.24 motion for windows (without a left or right partner) allows the window to be moved freely within its parents boundaries. Best regards, Florian

  • Hi, You can use the routine GUI_MEMDEV_CreateWindowDevice() to create a memory device of a window. The code below draws the window into a memory device and draws the memory device onto the screen. Note that you have to deselect the window after calling GUI_MEMDEV_CreateWindowDevice(). C Source Code (3 lines) Best regards, Florian

  • Hi, the manual provides detailed information about how to create a library. Please have a look here. Best regards, Florian

  • Hi, You can enable motion for swiping between screens. Simply select the screen in the hierarchic tree, then set either the horizontal or vertical motion property. Now you have to select a left or right partner, depending on where the screen is located where you want to swipe to. The last step is to also select a motion partner for the other screen. Best regards, Florian

  • Hi, You have to call GUI_SetAlpha() during the drawing process of the LISTBOX. It is also important that you reset the alpha value to fully opaque after the semi-transparent drawings are finished, because otherwise the set alpha value will be used globally. Try to set the following callback to your LISTBOX widget: C Source Code (11 lines) It draws the widget using the standard callback but with a modified alpha value. Best regards, Florian

  • Hi, Did you select "Set bitmap" instead of "Set JPEG" in the properties of the Image object? This would ensure a better performance than displaying the image in the JPEG format, since JPEGs are decoded during runtime each time they are drawn. Best regards, Florian

  • Hi, AppWizard was initially released in conjunction with emWin V6.10. With emWin V5.44, there was no AppWizard. Also note the version number of AppWizard (which is V1.22_6.18b according to your screenshot). This means that AppWizard V1.22 has to be used with emWin V6.18b. I would suggest you update to the latest version of STemWin. Best regards, Florian

  • Hi, Attached you will find my edited version of your code that you can take as a reference. Best regards, Florian

  • Hi, I had to change a few things to get your application working: - GUI_Init() was missing as the first call in your application. It is necessary that you call this before calling any other emWin routines. - Replace the WM_Invalidate() in the WM_USER_DATA case in _cbDialog() with the code of WM_PAINT of _cbFaultAlertText(). - Remove the callback _cbFaultAlertText(). - Change the TEXT color to GUI_BLACK. After these changes, the data was correctly displayed in the widget. Best regards, Florian

  • Hi, a WM_PAINT case in your TEXT callback means you have to draw the text to be displayed yourself. Which is of course possible, but letting the widget draw the text is more convenient and it makes more sense for a simple widget such as the TEXT widget. But in your WM_PAINT case, you did not call any function to display text such as GUI_DispString(). Rather, you only set the widget's properties like the text color, alignment and the text itself instead of drawing the text. This is why no text wa…