亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lcd.c

?? 嵌入式系統(tǒng)
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
@@ [Return]     : None
@@
@@ [Desc]       : Set color when drawing.
@@                Valid drawing function : apd_LCDDrawVline, apd_LCDDrawHline,
@@                                         apd_LCDDrawLine, apd_LCDDrawRect,
@@                                         apd_LCDDrawPixel, apd_LCDFillRect
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDSetColor(APD_LCD_COLOR color)
{
    current_gc.c = color;
    return;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDSetFillPattern
@@
@@ [Summary]    : Set fill pattern
@@
@@ [Argument]   : fill_type : Fill pattern type (either of the following)
@@                            APD_LCD_FILL_SOLID
@@                            APD_LCD_FILL_DOT
@@                            APD_LCD_FILL_DIAGONAL
@@                            APD_LCD_FILL_BDIAGONAL
@@                            APD_LCD_FILL_DCROSS,
@@                            APD_LCD_FILL_HORIZONTAL
@@                            APD_LCD_FILL_VERTICAL
@@                            APD_LCD_FILL_CROSS
@@
@@ [Return]     : None
@@
@@ [Desc]       : Set fill pattern when drawing fill
@@                Valid drawing function : apd_LCDFillRect
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDSetFillPattern(
APD_LCD_FILL_TYPE fill_type
)
{
    current_gc.ft = fill_type;
    return;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDSetRasterOperation
@@
@@ [Summary]    : Set raster operation
@@
@@ [Argument]   : rop : Raster operation (either of the following)
@@                      APD_LCD_ROP_S
@@                      APD_LCD_ROP_n_SoD
@@                      APD_LCD_ROP_nS_aD
@@                      APD_LCD_ROP_nS
@@                      APD_LCD_ROP_Sa_nD
@@                      APD_LCD_ROP_nD
@@                      APD_LCD_ROP_SeD
@@                      APD_LCD_ROP_n_SaD
@@                      APD_LCD_ROP_SaD
@@                      APD_LCD_ROP_n_SeD
@@                      APD_LCD_ROP_nS_oD
@@                      APD_LCD_ROP_So_nD
@@                      APD_LCD_ROP_SoD
@@
@@ [Return]     : None
@@
@@ [Desc]       : Set raster operation when drawing
@@                Valid drawing function : apd_LCDDrawVline, apd_LCDDrawHline,
@@                                         apd_LCDDrawLine, apd_LCDDrawRect,
@@                                         apd_LCDDrawPixel, apd_LCDFillRect
@@                                         apd_LCDDrawImage, apd_LCDDrawBMP
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDSetRasterOperation(
APD_LCD_ROP_TYPE rop
)
{
    current_gc.rop = rop;
    return;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDSetGC
@@
@@ [Summary]    : Set drawing attribute
@@
@@ [Argument]   : gc : Graphics context
@@
@@ [Return]     : None
@@
@@ [Desc]       : Set drawing attribute (line type, line width, fill pattern,
@@                color and raster operation).
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDSetGC(
APD_LCD_GC *gc
)
{
    current_gc.lt = gc->lt;
    current_line_pat = LCD_LINE_PAT[current_gc.lt];
    current_gc.lw = gc->lw;
    current_gc.ft = gc->ft;
    current_gc.c = gc->c;
    current_gc.rop = gc->rop;
    return;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDGetGC
@@
@@ [Summary]    : Get drawing attribute
@@
@@ [Argument]   : gc : Pointer to buffer of graphics context data
@@
@@ [Return]     : None
@@
@@ [Desc]       : Get drawing attribute (line type, line width, fill pattern,
@@                color and raster operation).
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDGetGC(
APD_LCD_GC *gc
)
{
    gc->lt = current_gc.lt;
    gc->lw = current_gc.lw;
    gc->ft = current_gc.ft;
    gc->c = current_gc.c;
    gc->rop = current_gc.rop;
    return;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDSetDrawUpbase
@@
@@ [Summary]    : Set the upper panel base address.
@@
@@ [Argument]   : base : The address in memory drawing
@@
@@ [Return]     : None
@@
@@ [Desc]       : Set the base address of upper panel written in drawing data.
@@
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDSetDrawUpbase(
unsigned long   base
)
{
    LCD_DRAW_UPBASE = base;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDSetDrawLpbase
@@
@@ [Summary]    : Set the lower panel base address
@@
@@ [Argument]   : base : The address in memory drawing
@@
@@ [Return]     : None
@@
@@ [Desc]       : Set the base address of lower panel written in drawing data.
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDSetDrawLpbase(
unsigned long   base
)
{
    LCD_DRAW_LPBASE = base;
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDRGB2Pixel
@@
@@ [Summary]    : Transform color model (RGB -> Pixel).
@@
@@ [Argument]   : rgb : Pointer to buffer of RGB color model data
@@
@@ [Return]     : Pixel color
@@
@@ [Desc]       : If bits per pixel is 16, transfer RGB color model
@@                into pixel color.
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
APD_LCD_COLOR apd_LCDRGB2Pixel(APD_LCD_RGB_COLOR *rgb)
{
    APD_LCD_COLOR color=0;          /* pixel color */

#if(APD_LCD_BPP == 16)
#ifdef APD_LCD_TFT
    color = rgb->intensity & 0x01;
    color = (color<<5) | (rgb->blue & 0x1F);
    color = (color<<5) | (rgb->green & 0x1F);
    color = (color<<5) | (rgb->red & 0x1F);
#else /* STN, COLOR */
    color = rgb->intensity & 0x01;
    color = (color<<4) | (rgb->blue & 0x0F);
    color = (color<<5) | (rgb->green & 0x0F);
    color = (color<<5) | (rgb->red & 0x0F);
    color = (color<<1);
#endif /* APD_LCD_TFT */
#endif

    return(color);
}

/******************************************************************************
@@
@@ [Name]       : apd_LCDPixel2RGB
@@
@@ [Summary]    : Transform color model (Pixel -> RGB).
@@
@@ [Argument]   : color : Pixel color data
@@                rgb   : Pointer to buffer of RGB color model data
@@
@@ [Return]     : RGB color model
@@
@@ [Desc]       : If bits per pixel is 16, transform pixel color model
@@                into RGB color.
@@
@@ [History]    : Date      Modifier    Comment
@@
@@ [END]
******************************************************************************/
void apd_LCDPixel2RGB(APD_LCD_COLOR color,APD_LCD_RGB_COLOR *rgb)
{
#if(APD_LCD_BPP == 16)
#ifdef APD_LCD_TFT
    rgb->red    = (unsigned char)(color & 0x1F);
    rgb->green  = (unsigned char)((color & 0x3E0)>>5);
    rgb->blue   = (unsigned char)((color & 0x7C00)>>10);
    rgb->intensity = (unsigned char)(color>>15);
#else /* STN, COLOR */
    rgb->red    = (unsigned char)(color & 0x0F);
    rgb->green  = (unsigned char)((color & 0x3C0)>>6);
    rgb->blue   = (unsigned char)((color & 0x7800)>>11);
    rgb->intensity = (unsigned char)(color>>15);
#endif /* APD_LCD_TFT */
#endif

    return;
}



/******************************************************************************/
void apd_LCDWriteFontColor(APD_LCD_POINT *point,APD_LCD_COLOR color)
{
	unsigned long *adrs;
	unsigned char hword, byte, bit;
	APD_LCD_COLOR tmp_color;
	tmp_color=color;
    	if (point->x < 0 || point->x >= APD_LCD_WIDTH ||
        point->y < 0 || point->y >= APD_LCD_HEIGHT)
        return;
        
	LCDGetPixelAdrs(point, &adrs, &hword, &byte, &bit);
	tmp_color=color;
	if(hword)
		{
			tmp_color = 0;
			//adrs--;
			tmp_color = (APD_LCD_COLOR)*adrs;
			tmp_color=((color<<16)|tmp_color);
		}
		apd_LCDSetColor(tmp_color);
    	LCDSetPixelByWord(adrs,tmp_color);
    	return;
}
				
//===============================================
// OK nov.18.2002

void apd_LCDDrawChar(APD_LCD_POINT *point ,unsigned char value,APD_LCD_COLOR color)
{
unsigned short inADDR=(unsigned short)(value-0x20)*CHARHEIGHT;
unsigned char DotData,k,k1;
unsigned long *adrs;
unsigned char hword, byte, bit;

APD_LCD_POINT pt;
pt.x=point->x;
pt.y=point->y;
	
   if (point->x < 0 || point->x+8 > APD_LCD_WIDTH || point->x >= APD_LCD_WIDTH||
   point->y < 0 || point->y+8 > APD_LCD_HEIGHT||point->y >= APD_LCD_HEIGHT)
    return;
    
   for(k=0;k<CHARHEIGHT;k++)
	{
	   DotData=SmallFnt8x8[inADDR];
	   for(k1=0;k1<8;k1++)
		{
 		  if((DotData&0x80)!=0)
			{
				apd_LCDWriteFontColor(&pt,color);	 	
    	    }
	      DotData=DotData<<1;
	      pt.x++;
		}
	  pt.y++;	
	  pt.x=point->x;
	  inADDR++;
	}		
}
/*******************************************************
;void LCDDrawStr(APD_LCD_POINT pt,char* str)
*******************************************************/
void apd_LCDDrawStr(APD_LCD_POINT *point,  char* str,APD_LCD_COLOR color)
{
	int len,i;
	unsigned char ch;
	APD_LCD_POINT pt;
	unsigned short x0,y0;
	x0 =point->x;
	y0 =point->y;
	if( (x0 >= APD_LCD_WIDTH)||(y0>=APD_LCD_HEIGHT) ) return;
	len = strlen(str);
	if( len <= 0 ) return;
	for( i=0; i<len; i++ )
	{
		ch = (unsigned char)str[i];
		if( ( (x0+8) < APD_LCD_WIDTH) && ((y0+8)<APD_LCD_HEIGHT) )
		{
			pt.x=x0;
			pt.y=y0;
			apd_LCDDrawChar(&pt,ch,color);
			x0+=CHARWIDTH;
		}
		else break;
	}
}
/**********************************************************************
**********************************************************************/

void apd_LCDDrawNum(APD_LCD_POINT *point,unsigned int num,APD_LCD_COLOR color)
{
	char msg[30];
	int i;
	for( i=0; i<30; i++ ) msg[i] = 0;
	sprintf( msg, "%d", num );
	apd_LCDDrawStr(point,msg,color);
}
/*******************************************************************
	Fill screen with assigned color
********************************************************************/
void apd_LCDFillScr(int color)
{	unsigned long           index;
	volatile unsigned int *video_ptr = VIDEO_RAM;
   	video_ptr = VIDEO_RAM;	//+x+y*0xa0-1;  
	for(index = 0; index < 38400; index++) //original, (SM)
   	{
  		*video_ptr++=color;
  	}
}
/*******************************************************************
	clear lcd screen
********************************************************************/
void apd_ClearLcd(void)
{
	unsigned long           index;
	volatile unsigned int *video_ptr = VIDEO_RAM;
   	video_ptr = VIDEO_RAM;	//+x+y*0xa0-1;  
	for(index = 0; index < 38400; index++) //original, (SM)
   	{
  		*video_ptr++=0x00;
  	}
}
/******************************************************************
	initial lcd
******************************************************************/
void apd_LCDInit(void)
{
  	LCDInit();
  	apd_LCDSetUpbase(VIDEO_PHY_RAM); // set video ram address
  	apd_LCDEnable();  
  	apd_ClearLcd();
  	apd_LCDOn();
	
}

/******************************************************************
	clear lcd H line
******************************************************************/
v

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人妖av一区二区| 波多野结衣欧美| 国产精品夜夜爽| 本田岬高潮一区二区三区| 欧美性生活久久| 777色狠狠一区二区三区| 欧美精品一区二区三区一线天视频| 国产女人水真多18毛片18精品视频| 亚洲三级电影全部在线观看高清| 调教+趴+乳夹+国产+精品| 韩国av一区二区三区在线观看| 99视频热这里只有精品免费| 欧美日韩国产天堂| 国产欧美精品一区aⅴ影院 | 国产精品一区二区男女羞羞无遮挡| 成人激情校园春色| 欧美老肥妇做.爰bbww视频| 国产欧美一区二区精品性色 | 欧美精品在线观看一区二区| 久久先锋影音av鲁色资源| 亚洲精品国产高清久久伦理二区| 免费成人av在线播放| 99国产精品久久久| 精品久久一区二区三区| 亚洲精品美国一| 国产美女视频91| 在线电影院国产精品| 亚洲欧洲日产国码二区| 麻豆精品国产91久久久久久| 欧美中文字幕一区二区三区| 中文字幕免费观看一区| 美女网站色91| 在线看日韩精品电影| 国产精品丝袜久久久久久app| 日产精品久久久久久久性色| 色综合夜色一区| 国产视频一区不卡| 日产精品久久久久久久性色| 日本高清不卡视频| 国产日产欧美一区二区视频| 免费av网站大全久久| 在线观看国产精品网站| 国产精品免费观看视频| 国产精品自拍三区| 日韩一区二区三区视频| 一区二区成人在线视频| 成人va在线观看| 久久久久久久久99精品| 蜜臀av性久久久久蜜臀aⅴ| 欧洲av在线精品| 樱桃国产成人精品视频| zzijzzij亚洲日本少妇熟睡| 久久影院午夜论| 久久99久久精品| 555www色欧美视频| 亚洲一区在线视频| 色综合网色综合| 中文字幕第一区综合| 国产一区二区三区精品欧美日韩一区二区三区 | 91精品国产黑色紧身裤美女| 一区二区三区精品在线| 99久久精品免费看| 国产精品久久久久久妇女6080 | 国产精品不卡在线| 懂色av一区二区三区免费看| 欧美精品一区二区三| 久久精品国产精品亚洲精品| 日韩三级av在线播放| 人人精品人人爱| 欧美一区二区视频在线观看2020| 午夜精品久久久久久久久久| 精品视频在线视频| 午夜视频在线观看一区二区| 欧美日韩精品一区二区| 午夜成人免费电影| 欧美一区二区三区系列电影| 免费高清成人在线| 欧美精品一区二区三区在线播放| 黄色日韩三级电影| 日本一区免费视频| av动漫一区二区| 亚洲欧美日韩一区二区三区在线观看| 91在线小视频| 一区二区三区免费观看| 欧美精品v日韩精品v韩国精品v| 视频一区视频二区在线观看| 91精品国产高清一区二区三区| 麻豆精品精品国产自在97香蕉| 亚洲精品一区二区三区精华液| 国产黄色成人av| 国产精品高潮久久久久无| 色综合色综合色综合色综合色综合| 亚洲激情一二三区| 欧美精品久久久久久久久老牛影院| 日本美女视频一区二区| 精品国产一区二区三区av性色| 国产aⅴ精品一区二区三区色成熟| 中文字幕第一区综合| 在线亚洲人成电影网站色www| 亚洲444eee在线观看| 欧美大胆一级视频| 成人免费av资源| 亚洲在线中文字幕| 精品久久人人做人人爰| 成人黄色一级视频| 亚洲成av人片一区二区| 精品国产一区二区三区久久久蜜月 | 欧美三级电影精品| 激情久久久久久久久久久久久久久久 | 亚洲午夜精品久久久久久久久| 欧美日韩国产片| 国产精品资源网| 国产精品久久久爽爽爽麻豆色哟哟| 91蜜桃网址入口| 日韩成人一区二区三区在线观看| 久久久精品免费观看| 色婷婷久久久久swag精品| 免播放器亚洲一区| 综合激情成人伊人| 日韩亚洲国产中文字幕欧美| 成人激情免费网站| 午夜国产不卡在线观看视频| 久久精品夜色噜噜亚洲a∨| 91丨porny丨蝌蚪视频| 午夜久久久久久电影| 国产精品伦理一区二区| 91精品国产一区二区三区| av中文字幕一区| 久久99精品久久久久久| 一区二区三区免费观看| 国产欧美日本一区视频| 91精品国产综合久久婷婷香蕉| 成人av高清在线| 麻豆91精品视频| 亚洲精品高清在线观看| 久久久久久麻豆| 欧美人牲a欧美精品| 不卡一区在线观看| 久久99国产精品成人| 一区二区理论电影在线观看| 亚洲国产精品精华液2区45| 制服丝袜中文字幕亚洲| 色哟哟一区二区在线观看| 国产风韵犹存在线视精品| 五月天婷婷综合| 亚洲免费资源在线播放| 国产网红主播福利一区二区| 日韩一区二区三区电影| 在线免费av一区| 99国产精品国产精品久久| 激情综合色综合久久| 日韩中文字幕一区二区三区| 日韩伦理电影网| 亚洲国产高清不卡| 久久网站热最新地址| 91精品国产91热久久久做人人 | 五月天丁香久久| 亚洲精品综合在线| 国产精品久久久久影院| 欧美xingq一区二区| 日韩一区二区三区免费看| 欧美日韩的一区二区| 在线观看日韩国产| 97se亚洲国产综合自在线不卡| 国产成人免费视频一区| 经典三级在线一区| 久久99精品久久久久婷婷| 蜜臀av国产精品久久久久 | 2023国产精华国产精品| 成人高清免费观看| 久久国产精品72免费观看| 国产不卡视频一区| 日本中文字幕不卡| 午夜精品久久久久| 亚洲精品一卡二卡| 国产精品成人在线观看| 国产精品久久久久久久久图文区| 国产人妖乱国产精品人妖| 久久久久久久久一| 久久精品一二三| 久久久精品影视| 国产日韩欧美一区二区三区综合| 久久久激情视频| 久久免费电影网| 国产日韩欧美高清在线| 国产精品嫩草99a| 亚洲欧美日韩综合aⅴ视频| 亚洲男同性恋视频| 亚洲精品videosex极品| 亚洲线精品一区二区三区 | 欧美日韩在线精品一区二区三区激情| 色婷婷久久99综合精品jk白丝| 欧洲一区二区av| 777午夜精品免费视频| 日韩精品在线一区二区| 久久嫩草精品久久久精品一| 欧美激情在线看| 亚洲蜜臀av乱码久久精品| 亚洲一区二区四区蜜桃| 视频在线观看一区二区三区|