Skip to content

Commit 27fd02d

Browse files
committed
emWin V6.44
Update to latest version
1 parent 2b888bf commit 27fd02d

File tree

134 files changed

+1527
-886
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+1527
-886
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The AppWizard and the AppWizard manual can be found under these links:
1616
https://www.segger.com/downloads/emwin/
1717
https://www.segger.com/doc/UM03003_AppWizard.html
1818

19-
Please make sure to use the correct AppWizard version. This package includes the emWin library V6.36 which matches AppWizard version 1.44_6.38.
19+
Please make sure to use the correct AppWizard version. This package includes the emWin library V6.44 which matches AppWizard version 1.50_6.44.
2020

2121
# Getting started
2222
To get started with emWin simply include "DIALOG.h" which makes any widget as well as the Window Manager and core functionality of emWin available.

library.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
name=emWin
2-
version=1.0.3
2+
version=1.0.4
33
author=SEGGER Microcontroller GmbH
44
maintainer=SEGGER Microcontroller GmbH <info@segger.com>
5-
sentence=emWin V6.38 Professional graphics library
5+
sentence=emWin V6.44 Professional graphics library
66
paragraph=emWin is an embedded graphical user interface solution that is designed to provide an efficient, processor and display controller independent graphical user interface for any application that operates with a graphical display.
77
category=Display
88
url=https://wiki.segger.com/emWin_on_Arduino

src/AppWizard.h

Lines changed: 43 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may
@@ -331,7 +331,8 @@ enum {
331331
ATOM_OBJECT_GEO,
332332
ATOM_SCREEN_GEO,
333333
ATOM_OBJECT_PROP,
334-
ATOM_CONSTANT
334+
ATOM_CONSTANT,
335+
ATOM_ACTIVE // WM_GetActiveWindow() is used here, Makes only sense for drawings.
335336
};
336337

337338
//
@@ -342,6 +343,8 @@ enum {
342343
ATOM_DETAIL_Y0 = DISPOSE_INDEX_Y0,
343344
ATOM_DETAIL_X1 = DISPOSE_INDEX_X1,
344345
ATOM_DETAIL_Y1 = DISPOSE_INDEX_Y1,
346+
ATOM_DETAIL_XCENTER,
347+
ATOM_DETAIL_YCENTER,
345348
ATOM_DETAIL_XSIZE,
346349
ATOM_DETAIL_YSIZE
347350
};
@@ -628,10 +631,11 @@ enum {
628631
/* 90 */ APPW_SET_PROP_VISIBLE3 ,
629632
/* 1 */ APPW_SET_PROP_SWITCHOFF ,
630633
/* 2 */ APPW_SET_PROP_3STATE ,
631-
/* 3 */ APPW_SET_PROP_WHEELTEXT ,
632-
/* 4 */ APPW_SET_PROP_WHEELBITMAPS,
633-
/* 5 */ APPW_SET_PROP_SCROLLERH ,
634-
/* 6 */ APPW_SET_PROP_SCROLLERV ,
634+
/* 3 */ APPW_SET_PROP_FIXED2 ,
635+
/* 4 */ APPW_SET_PROP_WHEELTEXT ,
636+
/* 5 */ APPW_SET_PROP_WHEELBITMAPS,
637+
/* 6 */ APPW_SET_PROP_SCROLLERH ,
638+
/* 7 */ APPW_SET_PROP_SCROLLERV ,
635639
};
636640

637641
//
@@ -675,38 +679,38 @@ enum {
675679
//
676680
// Internal macros
677681
//
678-
#define MANAGE_GET_DISPOSE_FUNCSETUP_JOBS(OBJECT_TYPE) \
679-
case APPW_MSG_GET_DISPOSE: \
680-
pMsg->Data.p = (const void *)&((WM_##OBJECT_TYPE *)GUI_ALLOC_h2p(pMsg->hWin))->Dispose; \
681-
break; \
682-
case APPW_MSG_GET_TYPE: \
683-
pMsg->Data.v = TYPE_##OBJECT_TYPE; \
684-
break; \
685-
case APPW_MSG_GET_FUNCSETUP: \
686-
pMsg->Data.pFunc = (void(*)(void))_Setup; \
687-
break; \
688-
case APPW_MSG_GET_JOBS: \
689-
pMsg->Data.p = (const void *)_aJobs; \
690-
pMsg->MsgId = GUI_COUNTOF(_aJobs); \
682+
#define MANAGE_GET_DISPOSE_FUNCSETUP_JOBS(OBJECT_TYPE) \
683+
case APPW_MSG_GET_DISPOSE: \
684+
pMsg->Data.pData = (void *)&((WM_##OBJECT_TYPE *)GUI_ALLOC_h2p(pMsg->hWin))->Dispose; \
685+
break; \
686+
case APPW_MSG_GET_TYPE: \
687+
pMsg->Data.v = TYPE_##OBJECT_TYPE; \
688+
break; \
689+
case APPW_MSG_GET_FUNCSETUP: \
690+
pMsg->Data.pFunc = (void(*)(void))_Setup; \
691+
break; \
692+
case APPW_MSG_GET_JOBS: \
693+
pMsg->Data.p = (const void *)_aJobs; \
694+
pMsg->MsgId = GUI_COUNTOF(_aJobs); \
691695
break
692696

693-
#define MANAGE_GET_DISPOSE_FUNCSETUP(OBJECT_TYPE) \
694-
case APPW_MSG_GET_DISPOSE: \
695-
pMsg->Data.p = (const void *)&((WM_##OBJECT_TYPE *)GUI_ALLOC_h2p(pMsg->hWin))->Dispose; \
696-
break; \
697-
case APPW_MSG_GET_TYPE: \
698-
pMsg->Data.v = TYPE_##OBJECT_TYPE; \
699-
break; \
700-
case APPW_MSG_GET_FUNCSETUP: \
701-
pMsg->Data.pFunc = (void(*)(void))_Setup; \
697+
#define MANAGE_GET_DISPOSE_FUNCSETUP(OBJECT_TYPE) \
698+
case APPW_MSG_GET_DISPOSE: \
699+
pMsg->Data.pData = (void *)&((WM_##OBJECT_TYPE *)GUI_ALLOC_h2p(pMsg->hWin))->Dispose; \
700+
break; \
701+
case APPW_MSG_GET_TYPE: \
702+
pMsg->Data.v = TYPE_##OBJECT_TYPE; \
703+
break; \
704+
case APPW_MSG_GET_FUNCSETUP: \
705+
pMsg->Data.pFunc = (void(*)(void))_Setup; \
702706
break
703707

704708
//
705709
// Macros for drawing objects
706710
//
707-
#define MANAGE_PREPAINT(OBJ_CAST) \
708-
pObj = (OBJ_CAST *)GUI_LOCK_H(pMsg->hWin); { \
709-
APPW_DrawingPrepare(pObj->aIdDraw); \
711+
#define MANAGE_PREPAINT(OBJ_CAST) \
712+
pObj = (OBJ_CAST *)GUI_LOCK_H(pMsg->hWin); { \
713+
APPW_DrawingPrepare(pObj->aIdDraw, pMsg->hWin); \
710714
} GUI_UNLOCK_H(pObj)
711715

712716
#define MANAGE_POSTPAINT() APPW_DrawingCleanup()
@@ -1148,8 +1152,8 @@ typedef struct {
11481152
* File access
11491153
*/
11501154
typedef struct {
1151-
GUI_GET_DATA_FUNC * pfGetDataBGJ; // Function for getting data of (B)MP, (G)IF and (J)PEG files
1152-
GUI_GET_DATA_FUNC * pfGetDataImage; // Function for getting data of streamed bitmaps and text resource files
1155+
GUI_GET_DATA_FUNC_I * pfGetDataBGJ; // Function for getting data of (B)MP, (G)IF and (J)PEG files
1156+
GUI_GET_DATA_FUNC_II * pfGetDataImage; // Function for getting data of streamed bitmaps and text resource files
11531157
GUI_XBF_GET_DATA_FUNC * pfGetDataFont; // Function for getting data of XBF fonts
11541158
U32 (* pfGetDataFile) (void * p, U8 * pData, U32 NumBytes, U32 Off); // Function for getting data of generic files
11551159
void * (* pfOpenFontFile) (const char * pFilename); // Opens a file in resource (sub)folder 'Font'
@@ -1578,6 +1582,7 @@ typedef struct {
15781582
U8 FrameRadius;
15791583
U8 FrameSize;
15801584
GUI_COLOR FrameColor;
1585+
const APPW_CONTENT* pContent;
15811586
} WM_OBJECT_DROPDOWN;
15821587

15831588
/*********************************************************************
@@ -1597,6 +1602,7 @@ typedef struct {
15971602
U8 FrameSize;
15981603
U8 FocusSize;
15991604
U8 Flags;
1605+
const APPW_CONTENT* pContent;
16001606
} WM_OBJECT_LISTVIEW;
16011607

16021608
/*********************************************************************
@@ -1610,6 +1616,7 @@ typedef struct {
16101616
APPW_FONT * pFont;
16111617
GUI_COLOR FrameColor;
16121618
U8 FrameSize;
1619+
const APPW_CONTENT* pContent;
16131620
} WM_OBJECT_LISTBOX;
16141621

16151622
/*********************************************************************
@@ -1647,6 +1654,7 @@ typedef struct {
16471654
APPW_DRAW_OBJECT apDraw[4];
16481655
APPW_FONT * pFont;
16491656
U16 Offset;
1657+
const APPW_CONTENT* pContent;
16501658
} WM_OBJECT_RADIO;
16511659

16521660
/*********************************************************************
@@ -1845,9 +1853,10 @@ int APPW_CalcCond (const APPW_COND * pCond,
18451853
//
18461854
// AppWizard_Drawing.c
18471855
//
1848-
void APPW_DrawingPrepare (U16 * pIdDraw);
1856+
void APPW_DrawingPrepare (U16 * pIdDraw, WM_HWIN hWin);
18491857
void APPW_DrawingDraw (int DrawingIndex);
18501858
void APPW_DrawingCleanup (void);
1859+
WM_HWIN APPW_GetActiveWindow (void);
18511860

18521861
//
18531862
// AppWizard_FileAccess.c

src/BUTTON.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/BUTTON_Private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/CALENDAR.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/CHECKBOX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/CHECKBOX_Private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/CHOOSECOLOR.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/CHOOSEFILE.h

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may
@@ -88,25 +88,64 @@ extern "C" { /* Make sure we have C-declarations in C++ programs */
8888
*
8989
**********************************************************************
9090
*/
91+
typedef struct CHOOSEFILE_INFO CHOOSEFILE_INFO;
92+
9193
/*********************************************************************
9294
*
93-
* CHOOSEFILE_INFO
95+
* CHOOSEFILE_GET_DATA_FUNC
96+
*
97+
* Function description
98+
* A callback which has to pass information about the requested file
99+
* to the dialog.
100+
*
101+
* Parameters
102+
* pInfo: [IN/OUT] Pointer to a CHOOSEFILE_INFO structure which contains
103+
* all details of the requested file and needs to be
104+
* filled by the function.
105+
*
106+
* Return value
107+
* == 0: On success.
108+
* == 1: On error.
109+
*
110+
* Additional information
111+
* The following structure elements of pInfo have to be set by this function:
112+
* \item \bc{pInfo->Cmd:} Determines if information about the first or
113+
* the next file should be returned.
114+
* \item \bc{pInfo->pRoot:} Pointer to a string containing the path of the
115+
* directory to be used. The \c{GetData()} function
116+
* then has to use the following elements for providing
117+
* information about the requested file to the dialog:
118+
* \item \bc{pInfo->pAttrib:} Should point to a string which is shown in the 'Type'
119+
* column. Because the CHOOSEFILE dialog can be used with
120+
* any file system there are no special flags but a string
121+
* which should be passed by the application to the dialog.
122+
* \item \bc{pInfo->pName:} Should point to a string which contains the file name
123+
* without path and extension. Shown in the 'Name' column
124+
* of the dialog.
125+
* \item \bc{pInfo->pExt:} Should point to a string which contains the extension
126+
* of the file shown in the 'Type' column of the dialog.
127+
* \item \bc{pInfo->SizeL:} Should be set to the lower 32 bit of the file length.
128+
* \item \bc{pInfo->SizeH:} Should be set to the upper 32 bit of the file length
129+
* in case of file larger than 4,294,967,295 bytes.
130+
* \item \bc{pInfo->Flags:} If the requested file is a directory this element has
131+
* to be set to CHOOSEFILE_FLAG_DIRECTORY. Otherwise it
132+
* has to be 0.
94133
*/
95-
typedef struct CHOOSEFILE_INFO CHOOSEFILE_INFO;
134+
typedef int CHOOSEFILE_GET_DATA_FUNC(CHOOSEFILE_INFO * pInfo);
96135

97136
struct CHOOSEFILE_INFO {
98-
int Cmd; // Command for GetData() function
99-
int Id; // Id of pressed button (for internal use only)
100-
const char * pMask; // Mask to be used for searching files
101-
char * pName; // (for internal use only)
102-
char * pExt; // (for internal use only)
103-
char * pAttrib; // (for internal use only)
104-
WM_TOOLTIP_HANDLE hToolTip; // (for internal use only)
105-
U32 SizeL; // FileSize low word
106-
U32 SizeH; // FileSize high word
107-
U32 Flags; // File flags
108-
char pRoot[CHOOSEFILE_MAXLEN]; // Buffer used internally and for passing result
109-
int (* pfGetData)(CHOOSEFILE_INFO * pInfo); // Pointer to GetData() function
137+
int Cmd; // Command for GetData() function
138+
int Id; // Id of pressed button (for internal use only)
139+
const char * pMask; // Mask to be used for searching files
140+
char * pName; // (for internal use only)
141+
char * pExt; // (for internal use only)
142+
char * pAttrib; // (for internal use only)
143+
WM_TOOLTIP_HANDLE hToolTip; // (for internal use only)
144+
U32 SizeL; // FileSize low word
145+
U32 SizeH; // FileSize high word
146+
U32 Flags; // File flags
147+
char pRoot[CHOOSEFILE_MAXLEN]; // Buffer used internally and for passing result
148+
CHOOSEFILE_GET_DATA_FUNC * pfGetData; // Pointer to GetData() function
110149
};
111150

112151
/*********************************************************************

src/DIALOG.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/DIALOG_Type.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

src/DROPDOWN.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* *
1010
**********************************************************************
1111
12-
** emWin V6.38 - Graphical user interface for embedded applications **
12+
** emWin V6.44 - Graphical user interface for embedded applications **
1313
All Intellectual Property rights in the Software belongs to SEGGER.
1414
emWin is protected by international copyright laws. Knowledge of the
1515
source code may not be used to write a similar product. This file may

0 commit comments

Comments
 (0)