Headers for emWin lib

Dependents:   DISCO-F746NG_rtos_test

Revision:
0:1bf8f02b0770
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emWin_header/IMAGE_Private.h	Sat Mar 26 22:49:50 2016 +0000
@@ -0,0 +1,136 @@
+/*********************************************************************
+*                SEGGER Microcontroller GmbH & Co. KG                *
+*        Solutions for real time microcontroller applications        *
+**********************************************************************
+*                                                                    *
+*        (c) 1996 - 2014  SEGGER Microcontroller GmbH & Co. KG       *
+*                                                                    *
+*        Internet: www.segger.com    Support:  support@segger.com    *
+*                                                                    *
+**********************************************************************
+
+** emWin V5.24 - 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 to  NXP Semiconductors USA, Inc.  whose
+registered  office  is  situated  at 411 E. Plumeria Drive, San  Jose,
+CA 95134, USA  solely for  the  purposes  of  creating  libraries  for
+NXPs M0, M3/M4 and  ARM7/9 processor-based  devices,  sublicensed  and
+distributed under the terms and conditions of the NXP End User License
+Agreement.
+Full source code is available at: www.segger.com
+
+We appreciate your understanding and fairness.
+----------------------------------------------------------------------
+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
+  #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
+    int DebugId;
+  #endif
+} IMAGE_OBJ;
+
+/*********************************************************************
+*
+*       Macros for internal use
+*
+**********************************************************************
+*/
+#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
+  #define IMAGE_INIT_ID(pObj) (pObj->DebugId = IMAGE_ID)
+#else
+  #define IMAGE_INIT_ID(pObj)
+#endif
+
+#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
+  IMAGE_OBJ * IMAGE__LockH(IMAGE_Handle hObj);
+  #define IMAGE_LOCK_H(hObj)   IMAGE__LockH(hObj)
+#else
+  #define IMAGE_LOCK_H(hObj)   (IMAGE_OBJ *)GUI_LOCK_H(hObj)
+#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 ****************************/