Headers for emWin lib
Dependents: DISCO-F746NG_rtos_test
emWin_header/IMAGE_Private.h
- Committer:
- redbird
- Date:
- 2016-03-26
- Revision:
- 0:1bf8f02b0770
File content as of revision 0:1bf8f02b0770:
/********************************************************************* * 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 ****************************/