Nuvoton / Mbed OS NuMaker-mbed-emWin-example
Revision:
1:c0f972361605
--- /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 ****************************/