Hi eGUI fans,
we are still so far to make any official release of new version of eGUI so I decide to put here the latest version of eGUI.
The source code is "as is" and only Kinetis demos are included.
The biggest change is that the bitmap drawing structure has been little bit changed to support external bitmaps.
The attached file is renamed exe file.
Just enjoy
Gargy
Hello Gargy,
thank you for the new release.
I changed my old D4D folder with the new one.
I have a project with the eGUI and the flash driver C90TFS.
When I compile my project I got a error message:
marcro ''READ8' redefind in SSD_FTFL.h.
What do I have to do to use the new version of the eGUI?
I only changed the D4D folder.
Best Regards
Thomas
Hi Thommi,
thank you for valable feedback, you absotelly right that there is possible bug. So I renamed all macros in external support by add prefix D4D_.
So this is the reason why I put this version here .
Take a modified version
Hi Gargy
I note in this release, that disabled buttons not show their bitmaps in greyscale.
I modified the following function to acomplish that
static void D4D_BtnOnDraw(D4D_MESSAGE* pMsg)
i add the following local variable
D4D_BOOL greyScale = (D4D_BOOL)(!pMsg->pObject->flags->bits.bEnabled);
and in section when bitmap is drawing i have this code (D4D_ROUND_CORNER_ENABLE == D4D_FALSE)
// Draw the bitmapif(pBmp != NULL){ #if (D4D_ROUND_CORNER_ENABLE != D4D_FALSE) //if Round corners D4D_DrawRBmpRect(&_calc.ButPos,&_calc.ButSize, pBmp, bmpProp, clrB,0, pBtn->radius); #else D4D_DrawBmpRect(&_calc.ButPos,&_calc.ButSize, pBmp, bmpProp, clrB,greyScale); #endif pBtn->textBuff.str_properties->font_properties.bits.bTransparent = D4D_TRUE;}
Now i have greyscale buttons when they are disabled.
Not want to not lose this behavior when i replace my D4D folder in next release.
Regards
Thank you for your feedback about this bug. I remove it also in main version.
This issue was create during adding of 3D button functionality, we completelly change button drawing function.
The final fix is:
#if (D4D_ROUND_CORNER_ENABLE != D4D_FALSE) //if Round corners D4D_DrawRBmpRect(&_calc.ButPos,&_calc.ButSize, pBmp, bmpProp, clrB, (D4D_BOOL)(!pMsg->pObject->flags->bits.bEnabled), pBtn->radius); #else D4D_DrawBmpRect(&_calc.ButPos,&_calc.ButSize, pBmp, bmpProp, clrB, (D4D_BOOL)(!pMsg->pObject->flags->bits.bEnabled)); #endif
Have a nice day
HI Gargy
Thanks for this release, im very happy loading bitmaps from SD.
I want to comment one thing. In each screen i have a logo. I found a poor performance when the logo is loaded from SD. Each time the EGUI needs to calculate the Screen Header Size, the file is opened.
Regards
Hi,
you right but this is the taxation for flexibility of use :smileysad:.
Hi Gargy
Gargy wrote:the taxation for flexibility of use :smileysad:.
I guessed
As a rule, I decided to embed simple images in code, and upload from SD the complex images.
Thanks again for the release. Is very useful for me.
Regards
Thank You Gargy,
the new version works.
I see you have changed the console.h
static D4D_CNSL_DATA name##_data = { /*line_cnt - 1*/ 0, {0, 0}, D4D_FALSE, 0, 0};
So that the firs line is not written at the end of the array.
I still have a problem with the cursor.
https://community.freescale.com/message/95850#95850
When I put the cursor to a special position with
the command
cursor_position.x = 1;
cursor_position.y = 2;
(void) D4D_CnslGoToXY(&scrMain_Cons, cursor_position);
The cursor is displayed at the last position of the correct line.
After that I insert a character with the command:
(void)D4D_CnslPutString(&scrMain_Cons, "X");
The "X" is on position 1 in line 2, but the cursor is showen at the end of the line.
I have also a by changing the screen. I have buttons in the screens.
// Button in the screen register
static void ScrRegister_OnClickBtnConsole (D4D_OBJECT* pThis)
{
D4D_ActivateScreen(&screen_main, D4D_FALSE);
D4D_RedrawScreen(&screen_main);
}
// Button in the screen main
static void ScrMain_OnClickBtnMonitor(D4D_OBJECT* pThis)
{
D4D_ActivateScreen(&screen_register, D4D_FALSE);
}
I want to change the showen screens from main screen to register screen and back.
This only works two times. After that the buttons are inactive.
Have you got any idea ?
Hop you can help
Thomas
Hello Gargy,
I solved the prblem with the buttons.
Thomas