Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: emWin/Include/IMAGE_Private.h
- Revision:
- 1:c0f972361605
diff -r 9d0785906425 -r c0f972361605 emWin/Include/IMAGE_Private.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emWin/Include/IMAGE_Private.h Wed Feb 27 14:34:09 2019 +0800
@@ -0,0 +1,144 @@
+/*********************************************************************
+* SEGGER Software GmbH *
+* Solutions for real time microcontroller applications *
+**********************************************************************
+* *
+* (c) 1996 - 2018 SEGGER Microcontroller GmbH *
+* *
+* Internet: www.segger.com Support: support@segger.com *
+* *
+**********************************************************************
+
+** emWin V5.48 - Graphical user interface for embedded applications **
+All Intellectual Property rights in the Software belongs to SEGGER.
+emWin is protected by international copyright laws. Knowledge of the
+source code may not be used to write a similar product. This file may
+only be used in accordance with the following terms:
+
+The software has been licensed by SEGGER Software GmbH to Nuvoton Technology Corporationat the address: No. 4, Creation Rd. III, Hsinchu Science Park, Taiwan
+for the purposes of creating libraries for its
+Arm Cortex-M and Arm9 32-bit microcontrollers, commercialized and distributed by Nuvoton Technology Corporation
+under the terms and conditions of an End User
+License Agreement supplied with the libraries.
+Full source code is available at: www.segger.com
+
+We appreciate your understanding and fairness.
+----------------------------------------------------------------------
+Licensing information
+Licensor: SEGGER Software GmbH
+Licensed to: Nuvoton Technology Corporation, No. 4, Creation Rd. III, Hsinchu Science Park, 30077 Hsinchu City, Taiwan
+Licensed SEGGER software: emWin
+License number: GUI-00735
+License model: emWin License Agreement, signed February 27, 2018
+Licensed platform: Cortex-M and ARM9 32-bit series microcontroller designed and manufactured by or for Nuvoton Technology Corporation
+----------------------------------------------------------------------
+Support and Update Agreement (SUA)
+SUA period: 2018-03-26 - 2019-03-27
+Contact to extend SUA: sales@segger.com
+----------------------------------------------------------------------
+File : IMAGE_Private.h
+Purpose : Private IMAGE include
+--------------------END-OF-HEADER-------------------------------------
+*/
+
+#ifndef IMAGE_PRIVATE_H
+#define IMAGE_PRIVATE_H
+
+#include "IMAGE.h"
+#include "GUI_Private.h"
+
+#if GUI_WINSUPPORT
+
+/*********************************************************************
+*
+* Private config defaults
+*
+**********************************************************************
+*/
+#ifndef IMAGE_SUPPORT_TRANSPARENCY
+ #define IMAGE_SUPPORT_TRANSPARENCY WM_SUPPORT_TRANSPARENCY
+#endif
+
+/*********************************************************************
+*
+* Object definition
+*
+**********************************************************************
+*/
+typedef struct {
+ U32 Flags;
+} IMAGE_PROPS;
+
+typedef struct {
+ WIDGET Widget;
+ IMAGE_PROPS Props;
+ const void * pData; // Data pointer of the object to be drawn (Bitmap, BMP, GIF, JPEG, PNG)
+ void (* pfDrawImageAt) (IMAGE_Handle hObj, int xPos, int yPos); // Object specific (Bitmap, BMP, GIF, JPEG, PNG) code
+ void (* pfPaint) (IMAGE_Handle hObj); // Drawing method specific (Default, Tiled, Magnified) code
+ void (* pfGetImageSize)(IMAGE_Handle hObj, int * pxSize, int * pySize); // Returns the image size of the attached item
+ void (* pfOnTimer) (IMAGE_Handle hObj); // Timer function for animated images (currently only animated GIFs are supported)
+ U32 FileSize;
+ //
+ // Data items used by IAMGE_GIF.c
+ //
+ int NumImages; // Number of (sub)images
+ int CurrentImage; // Image index used for animated images
+ GUI_TIMER_HANDLE hTimer; // Timer used for animated images
+ //
+ // Data items used by IAMGE_DTA.c
+ //
+ GUI_BITMAP Bitmap; // Bitmap structure
+ GUI_LOGPALETTE Palette; // Palette structure
+ //
+ // Data items used by Image_...Ex() - functions
+ //
+ void * pVoid; // Void pointer passed to GetData() function
+ GUI_GET_DATA_FUNC * pfGetData; // Pointer to GetData() function
+ //
+ // Data items used if memory devices are available and IMAGE_CF_MEMDEV has been set
+ //
+ #if GUI_SUPPORT_MEMDEV
+ GUI_MEMDEV_Handle hMem;
+ #endif
+} IMAGE_OBJ;
+
+/*********************************************************************
+*
+* Macros for internal use
+*
+**********************************************************************
+*/
+#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
+ #define IMAGE_INIT_ID(p) (p->Widget.DebugId = IMAGE_ID)
+#else
+ #define IMAGE_INIT_ID(p)
+#endif
+
+#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
+ IMAGE_OBJ * IMAGE__LockH(IMAGE_Handle h);
+ #define IMAGE_LOCK_H(h) IMAGE__LockH(h)
+#else
+ #define IMAGE_LOCK_H(h) (IMAGE_OBJ *)GUI_LOCK_H(h)
+#endif
+
+/*********************************************************************
+*
+* Module internal data
+*
+**********************************************************************
+*/
+extern IMAGE_PROPS IMAGE__DefaultProps;
+
+/*********************************************************************
+*
+* Private functions
+*
+**********************************************************************
+*/
+void IMAGE__SetWindowSize(IMAGE_Handle hObj);
+void IMAGE__FreeAttached (IMAGE_Handle hObj, int LeaveTimer);
+
+#endif // GUI_WINSUPPORT
+#endif // IMAGE_PRIVATE_H
+
+/*************************** End of file ****************************/