FreeCalypso > hg > fc-magnetite
diff src/condat3/com/include/dspl.h @ 18:c8bd5a927942
src/condat3: import of "condat" tree from TCS3.2, pruned
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 27 Sep 2016 21:25:36 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/condat3/com/include/dspl.h Tue Sep 27 21:25:36 2016 +0000 @@ -0,0 +1,337 @@ +/* ++----------------------------------------------------------------------------- +| Project : GSM (6103) +| Modul : ++----------------------------------------------------------------------------- +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : Types definitions for the display driver +| . ++----------------------------------------------------------------------------- + History: + Sept 15, 2005 REF: LOCOSTO-ENH-34257 - xpradipg + Description: Locosto: MIgration to New LCD APIs + Solution: Migrated to New APIs by replacing the old driver APIs with + corresponding New LCD APIs ++----------------------------------------------------------------------------- +*/ +#ifndef DSPL_H +#define DSPL_H +#include "font_bitmaps.h" + +//Sept 15, 2005 REF: LOCOSTO-ENH-34257 - xpradipg +//The file is included for the definition of T_RV_RET + + +/* + * Device Capabilities data Type + */ +typedef struct dspl_DevCaps +{ + UBYTE DisplayType; + USHORT Width; + USHORT Height; +} dspl_DevCaps; + +/* + * Display Types + */ +#define DSPL_TYPE_CHARACTER 0 +#define DSPL_TYPE_GRAPHIC 1 +#define DSPL_TYPE_COLOR 2 + +/* + * Character Types + */ + +#define DSPL_TYPE_ASCII 1 +#define DSPL_TYPE_UNICODE 2 +#define DSPL_TYPE_ASCII_12_6 3 + + +/* + * Display Text Attributes + */ +#define DSPL_TXTATTR_NORMAL 0x00 +#define DSPL_TXTATTR_INVERS 0x01 +#define DSPL_TXTATTR_UNICODE 0x02 +#define DSPL_TXTATTR_CURRENT_MODE 0x04 /*Represents the string in the current display mode,unicode or ASCII*/ +#define DSPL_TXTATTR_SIGNED_COORDS 0x08 /*SH - if this is set, coordinates can have negative numbers*/ +#define DSPL_TXTATTR_HLIGHT 0x10 /*Same as 'inverse' on B+W - diff colour highlight on colour display */ + +/* + * Cursor Types + */ +#define DSPL_FBOX_CURSOR_TYPE 1 +#define DSPL_OBOX_CURSOR_TYPE 2 +#define DSPL_TLIN_CURSOR_TYPE 3 +#define DSPL_BLIN_CURSOR_TYPE 4 + +#define DSPL_SLOWFLASH_MODE 1 +#define DSPL_FASTFLASH_MODE 2 +#define DSPL_STATIC_MODE 3 + +#define DSPL_CURSOR_VISIBLE 1 +#define DSPL_CURSOR_INVISIBLE 0 +/* + * Raster Operations + */ +#define DSPL_BMPINVERT 1 +#define DSPL_BMPAND 2 +#define DSPL_BMPCOPY 4 +#define DSPL_BMPERASE 8 +#define DSPL_BMPPAINT 16 + + +/*mc, SPR 1319 moved definitions to header*/ +#define TXT_STYLE_NORMAL (0) +#define TXT_STYLE_INVERT (1) +#define TXT_STYLE_HIGHLIGHT (2) +#define TXT_STYLE_BORDER (3) +#define TXT_STYLE_SHADOW1 (4) +#define TXT_STYLE_SHADOW2 (5) +#define TXT_STYLE_2PIXEL_BORDER (6) +#define TXT_STYLE_3PIXEL_BORDER (7) +#define TXT_STYLE_4PIXEL_BORDER (8) +#define TXT_STYLE_MASK (0x00FF) +#define TXT_STYLE_WIDECHAR (0x0100) +#define TXT_STYLE_HIGHCHAR (0x0200) +#define TXT_STYLE_UNICODE (0x0400) + +/*mc end*/ + +/* + * Return Values + */ +#define DSPL_FCT_NOTSUPPORTED 1 + +#if defined (NEW_FRAME) +/* + * to achieve backward compatibility with older definitions + */ +#define drv_SignalCB_Type T_DRV_CB_FUNC +#define drv_SignalID_Type T_DRV_SIGNAL +#define T_VSI_THANDLE USHORT +#endif + +/* + * Prototypes + */ + +EXTERN UBYTE dspl_Init (void); +EXTERN void dspl_Exit (void); +EXTERN UBYTE dspl_Clear (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +EXTERN UBYTE dspl_ClearAll (void); +EXTERN UBYTE dspl_unfocusDisplay (void); + +EXTERN UBYTE dspl_Enable (UBYTE in_Enable); +EXTERN void dspl_GetDeviceCaps (dspl_DevCaps * out_DeviceCapsPtr); +EXTERN void dspl_SetDeviceCaps (dspl_DevCaps * in_DeviceCapsPtr); +EXTERN UBYTE dspl_GetIconImage (UBYTE in_Icon, + USHORT in_Size, + UBYTE * out_IconImagePtr); +EXTERN UBYTE dspl_SetCursor (UBYTE in_CursorType, + UBYTE in_CursorMode); +EXTERN UBYTE dspl_SetCursorPos (USHORT in_X, + USHORT in_Y, + USHORT in_SizeX, + USHORT in_SizeY);//GW 05/09/01 +EXTERN UBYTE dspl_ShowCursor (UBYTE in_Show); +EXTERN UBYTE dspl_SetBkgColor (UBYTE in_Color); +EXTERN UBYTE dspl_SetFrgColor (UBYTE in_Color); +EXTERN UBYTE dspl_DrawIcon (UBYTE in_IconID, + USHORT in_X, + USHORT in_Y); +EXTERN UBYTE dspl_DrawLine (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +EXTERN UBYTE dspl_DrawRect (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +EXTERN UBYTE dspl_roundRect (int px, + int py, + int sx, + int sy, + int border); +EXTERN UBYTE dspl_roundRectFill (int px, + int py, + int sx, + int sy, + int border); +EXTERN UBYTE dspl_DrawFilledRect (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +EXTERN UBYTE dspl_DrawFilledBgdRect (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +EXTERN UBYTE dspl_DrawFilledColRect (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2, + U32 Col); + +EXTERN UBYTE dspl_Ellipse (USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +EXTERN UBYTE dspl_BitBlt (USHORT in_X, + USHORT in_Y, + USHORT in_Width, + USHORT in_Height, + USHORT in_Index, + void * in_BmpPtr, + USHORT in_Rop); +EXTERN UBYTE dspl_BitBlt2(short in_X, + short in_Y, + USHORT in_Width, + USHORT in_Height, + void * in_BmpPtr, + USHORT in_index, + int bmpFormat); + +void fastCopyBitmap(int startX, int startY, // start position of bitmap + int bmpSx, int bmpSy, //size of bitmap + char* srcBitmap, + int posX, int posY, // start of area to be copied into + int sx, int sy, // size of area to be copied into + U32 bgd_col, int bmptype); + +EXTERN UBYTE dspl_SelectFontbyID (UBYTE in_Font); +EXTERN UBYTE dspl_SelectFontbyImage (UBYTE * in_FontPtr); +EXTERN UBYTE dspl_GetFontImage (UBYTE in_Font, + USHORT in_Size, + UBYTE * out_FontPtr); +EXTERN UBYTE dspl_GetFontHeight (void); +EXTERN USHORT dspl_GetTextExtent (char * in_Text, + USHORT in_Length); +EXTERN USHORT dspl_GetMaxTextLen (char * in_Text, + USHORT in_HSize); +EXTERN UBYTE dspl_TextOut_Cmode (USHORT in_X, + USHORT in_Y, + UBYTE in_Attrib, + char * in_Text); +EXTERN UBYTE dspl_TextOut (USHORT in_X, + USHORT in_Y, + UBYTE in_Attrib, + char * in_Text); +EXTERN void dspl_ScrText (int x, int y, char *txt, int style); + +EXTERN UBYTE dspl_SetWorkShadow (UBYTE * in_ShadowPtr); +EXTERN UBYTE dspl_SetDisplayShadow (UBYTE * in_ShadowPtr); + +EXTERN UBYTE dspl_str_length(char * str); + +EXTERN void dspl_set_char_type(UBYTE char_type); +EXTERN UBYTE dspl_get_char_type(void); + +int dspl_getDisplayType( void ); + +GLOBAL USHORT dspl_GetNcharToFit (char * in_Text, USHORT pixelWidth);/*SPR 1541*/ + +//Functions to allow us to set-up the border around text. +int dspl_setBorderWidth(int borderSize); +int dspl_getBorderWidth(void); +//Condat UK Resources functions + +EXTERN UBYTE dspl_Prompt (USHORT x, USHORT y, UBYTE in_Attrib, int StringID); + +//GW Added new prototypes for setting and getting foreground and background colours +//NB Existing (unsupported) procedures cannot be used as these have colour defined as 256 colour not 32bit +EXTERN U32 dspl_SetBgdColour (U32 inColour); +EXTERN U32 dspl_GetBgdColour (void); +EXTERN U32 dspl_SetFgdColour (U32 inColour); +EXTERN U32 dspl_GetFgdColour (void); +GLOBAL void dspl_RestoreColour (void); +GLOBAL void dspl_InitColour (void); + +//Select a colour to contrast with another colour -used when the foreground and background colours are the same +int dspl_GetContrastColour( int ipCol); + +//Window types when displaying a bitmap +enum { + DSPL_WIN_NORMAL = 0, + DSPL_WIN_CENTRE, + DSPL_WIN_CLIP, + DSPL_WIN_CENTRE_CLIP, + DSPL_WIN_TILE, + DSPL_WIN_LAST +}; +//Draw win - create window with display area as specified +EXTERN UBYTE dspl_DrawWin ( USHORT in_PX, USHORT in_PY, + USHORT in_SX, USHORT in_SY, + int format, t_font_bitmap* bmp ); + +//Functions to allow us to limit where things are drawn - text/bitmaps outside the window are not drawn +GLOBAL UBYTE dspl_SetWindow(USHORT in_X1, + USHORT in_Y1, + USHORT in_X2, + USHORT in_Y2); +GLOBAL UBYTE dspl_GetWindow(USHORT* x1,USHORT* y1,USHORT* x2,USHORT* y2 ); +GLOBAL UBYTE dspl_ResetWindow( void ); //reset to full screen + + +//GW Added (temp) +typedef enum { + BMP_FORMAT_BW_PACKED = 0x00, + BMP_FORMAT_BW_UNPACKED = 0x01,/*MC, SPR1319*/ + BMP_FORMAT_256_COLOUR = 0x02, + BMP_FORMAT_32BIT_COLOUR = 0x03, + BMP_FORMAT_16BIT_LCD_COLOUR = 0x04, /* GW matches current LCD data format */ + BMP_FORMAT_16BIT_LCD_COMPRESSED_COLOUR = 0x05, /* GW matches future LCD data format */ + BMP_FORMAT_BW_2x4 = 0x0080, /* GW display bitmap scaled 2x width and 4x height */ + BMP_FORMAT_END + +} BMP_FORMAT_ENUM; + +#define SHOWBITMAP_NORMAL 0x0000 +#define SHOWBITMAP_INVERT 0x0001 +#define SHOWBITMAP_NORMAL_MASK 0x0001 +#define SHOWBITMAP_SCALE_2x4 0x0080 + +//Enumerated type for display (for MFW layout) +enum { + DSPL_BW = 0, + DSPL_COLOUR = 1, + DSPL_END +}; + +//Sept 15, 2005 REF: LOCOSTO-ENH-34257 - xpradipg +enum +{ + DSPL_ACCESS_ENABLE = 0, + DSPL_ACCESS_DISABLE , + DSPL_ACCESS_QUERY +}; + +#ifdef _SIMULATION_ +EXTERN void scrMobUpdate (void); +#endif +#ifdef FF_SSL_ADAPTATION +void dspl_set_to_mixed_mode(void); +void dspl_set_to_mmi_mode(void); +#endif + + +//xpradipg : New LCD API Migration +//New function added to control the refresh of the LCD, the earlier implement +//-ion of the global variable is moved inside this function and also adopted +//for the new LCD API migration +EXTERN int dspl_control(int state); + +#endif