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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gui_uc_dispstring.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI 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 a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : GUI_UC_DispString.c
Purpose     : Implementation of GUI_UC_DispString
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>           /* needed for definition of NULL */
#include "GUI_Protected.h"

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _GetLineDistX
*/
static int _GetLineDistX(const U16 GUI_UNI_PTR *s, int MaxNumChars) {
  int Dist =0;
  if (s) {
    U16 Char;
    while (((Char = *s) != 0) && MaxNumChars >= 0) {
      s++;
      MaxNumChars--;
      Dist += GUI_GetCharDistX(Char);
    }
  }
  return Dist;
}

/*********************************************************************
*
*       _GetLineLen
*/
static int _GetLineLen(const U16 GUI_UNI_PTR *s, int MaxLen) {
  int Len =0;
  if (!s)
    return 0;
  {
    while ((*s !=0) && Len < MaxLen) {
      Len++; s++;
    }
  }
  return Len;
}

/*********************************************************************
*
*       _DispLine_UC
*/
static void _DispLine_UC(const U16 GUI_UNI_PTR *s, int Len, const GUI_RECT *pRect) {
  if (GUI_Context.pClipRect_HL) {
    if (GUI_RectsIntersect(GUI_Context.pClipRect_HL, pRect) == 0)
      return;
  }
  {
    U16 c0;
    while (--Len >=0) {
      c0=*s++;
      GL_DispChar(c0);
    }
  }
}

/*********************************************************************
*
*       _DispLine
*/
static void _DispLine(const U16 GUI_UNI_PTR *s, int Len, const GUI_RECT* pr) {
  GUI_RECT r;
  r = *pr;
  #if GUI_WINSUPPORT
  WM_ADDORG(r.x0,r.y0);
  WM_ADDORG(r.x1,r.y1);
  WM_ITERATE_START(&r) {
  #endif
     GUI_Context.DispPosX = r.x0;
     GUI_Context.DispPosY = r.y0;
     _DispLine_UC(s, Len, &r);    /* Do the actual drawing via routine call. */
  #if GUI_WINSUPPORT
  } WM_ITERATE_END();
  WM_SUBORG(GUI_Context.DispPosX, GUI_Context.DispPosY);
  #endif
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUI_UC_DispString
*/
void GUI_UC_DispString(const U16 GUI_UNI_PTR *s) {
  int xAdjust, yAdjust, xOrg;
  int FontSizeY;
  if (!s)
    return;
  GUI_LOCK();
  FontSizeY = GUI_Context.pAFont->YSize;
  xOrg = GUI_Context.DispPosX;
 /* Adjust vertical position */
  yAdjust = GUI_GetYAdjust();
  GUI_Context.DispPosY -= yAdjust;
  for (; *s; s++) {
    GUI_RECT r;
    int LineLen= _GetLineLen(s,0x7fff);
    int xLineSize = _GetLineDistX(s, LineLen);
  /* Check if x-position needs to be changed due to h-alignment */
    switch (GUI_Context.TextAlign & GUI_TA_HORIZONTAL) { 
    case GUI_TA_CENTER: xAdjust= xLineSize/2; break;
    case GUI_TA_RIGHT:  xAdjust= xLineSize; break;
    default:            xAdjust= 0;
    }
    r.x0 = GUI_Context.DispPosX -= xAdjust;
    r.x1 = r.x0 + xLineSize-1;    
    r.y0 = GUI_Context.DispPosY;
    r.y1 = r.y0 + FontSizeY-1;    
    _DispLine(s, LineLen, &r);
    GUI_Context.DispPosY = r.y0;
    s += LineLen;
    if (*s=='\n') {
      switch (GUI_Context.TextAlign & GUI_TA_HORIZONTAL) { 
      case GUI_TA_CENTER:
      case GUI_TA_RIGHT:
        GUI_Context.DispPosX = xOrg;
        break;
      default:
        GUI_Context.DispPosX = GUI_Context.LBorder;
        break;
      }
      GUI_Context.DispPosY += GUI_GetFontDistY();
    } else {
      GUI_Context.DispPosX = r.x0+xLineSize;
    }
    if (*s==0)    /* end of string (last line) reached ? */
      break;
  }
  GUI_Context.DispPosY += yAdjust;
  GUI_Context.TextAlign &= ~GUI_TA_HORIZONTAL;
  GUI_UNLOCK();
}

/*************************** End of file ****************************/
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av电影免费在线播放| 日韩二区三区四区| 成人av网在线| 亚洲男同性视频| 欧美中文字幕不卡| 日本欧洲一区二区| 欧美不卡视频一区| 国产成人精品影视| 综合自拍亚洲综合图不卡区| 91免费观看视频在线| 亚洲自拍偷拍av| 日韩亚洲欧美在线| 国产黄色91视频| 一区二区三区 在线观看视频| 欧美裸体bbwbbwbbw| 国精产品一区一区三区mba视频| 国产清纯在线一区二区www| 99在线热播精品免费| 亚洲第四色夜色| 亚洲精品在线三区| 久久亚洲捆绑美女| 丁香婷婷综合网| 亚洲第一福利一区| 久久伊99综合婷婷久久伊| 99久久99久久精品免费观看| 亚洲国产中文字幕在线视频综合| 精品少妇一区二区| 91在线观看一区二区| 日韩成人一区二区| 国产欧美日韩精品a在线观看| 欧美性受极品xxxx喷水| 久久精品国产亚洲一区二区三区| 日本一二三不卡| 欧美高清精品3d| 成人免费高清在线| 日本不卡高清视频| 综合色中文字幕| 精品国产精品一区二区夜夜嗨| 97国产精品videossex| 激情欧美一区二区| 亚洲综合精品久久| 日本一区二区三区免费乱视频| 欧美亚洲动漫另类| 成人精品在线视频观看| 精品一区二区三区在线观看国产| 亚洲天堂2016| 精品1区2区在线观看| 欧美精选午夜久久久乱码6080| zzijzzij亚洲日本少妇熟睡| 久久国产日韩欧美精品| 一区二区三区不卡视频| 国产精品久久午夜夜伦鲁鲁| 日韩一卡二卡三卡国产欧美| 在线精品视频小说1| 成人手机在线视频| 韩国欧美国产1区| 三级一区在线视频先锋 | 免费观看在线色综合| 亚洲欧美一区二区三区久本道91| 精品国产免费久久| 4438x亚洲最大成人网| 91麻豆自制传媒国产之光| 国产高清亚洲一区| 国内精品在线播放| 国产一区二区三区国产| 麻豆精品视频在线观看视频| 人人精品人人爱| 日本va欧美va精品发布| 欧美日韩在线一区二区| 日本精品视频一区二区| 97精品久久久久中文字幕| 91视频一区二区| 91在线视频在线| 一本色道久久综合亚洲91| 成人国产免费视频| www.亚洲激情.com| 色嗨嗨av一区二区三区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲免费观看高清| 成人欧美一区二区三区黑人麻豆| 欧美国产日韩a欧美在线观看| 久久这里只有精品首页| 久久精品一区二区三区av| 国产夜色精品一区二区av| 欧美国产精品中文字幕| 国产精品丝袜在线| 亚洲免费观看高清完整版在线观看熊| 日韩一区中文字幕| 一区二区三区四区激情| 亚洲sss视频在线视频| 首页国产丝袜综合| 麻豆精品精品国产自在97香蕉| 麻豆精品精品国产自在97香蕉| 精品一区二区日韩| 国产成人综合在线观看| 91丨九色丨蝌蚪丨老版| 在线一区二区三区四区| 91精品一区二区三区在线观看| 欧美一区二区三区的| 国产日韩欧美激情| 日韩美女视频19| 亚洲电影中文字幕在线观看| 奇米精品一区二区三区在线观看一| 久久99国产精品麻豆| 成人福利视频网站| 日本乱码高清不卡字幕| 日韩欧美国产综合一区| 国产精品久久久久久久浪潮网站 | 欧美日韩和欧美的一区二区| 日韩视频免费观看高清完整版在线观看 | 日本二三区不卡| 制服丝袜在线91| 国产三级精品三级在线专区| 一个色综合av| 国产麻豆精品95视频| 欧美三级一区二区| 国产日韩精品一区二区浪潮av| 亚洲欧美日韩久久| 蜜桃av一区二区| 一本大道久久精品懂色aⅴ| 91精品国产欧美日韩| 国产精品理伦片| 美女一区二区久久| 91国内精品野花午夜精品| 精品人伦一区二区色婷婷| 亚洲欧美经典视频| 国产一区二区在线观看视频| 日本精品一区二区三区高清| 久久女同性恋中文字幕| 亚洲午夜激情av| 成人av资源在线观看| 91精品国产入口| 亚洲一区二区三区小说| 国产91精品一区二区麻豆网站| 欧美视频一区二区| 成人免费在线视频| 国产在线看一区| 欧美一区二区视频观看视频| 亚洲视频一二三| 成人免费视频免费观看| 2023国产精华国产精品| 日韩高清在线观看| 欧美亚洲国产bt| 亚洲手机成人高清视频| 国产精品综合在线视频| 日韩丝袜美女视频| 日本强好片久久久久久aaa| 91豆麻精品91久久久久久| 亚洲色图.com| 国产精品123| 久久蜜桃av一区二区天堂| 美腿丝袜一区二区三区| 91精品国产欧美一区二区18| 亚洲aaa精品| 欧美人体做爰大胆视频| 亚洲一区二区三区四区在线观看| 97久久精品人人做人人爽| 国产精品久久三区| 成人av网在线| 亚洲欧洲精品一区二区精品久久久 | 成人免费视频一区二区| 精品国产91亚洲一区二区三区婷婷| 天天影视色香欲综合网老头| 欧美性xxxxxx少妇| 一区二区三区在线观看视频| 91在线国产福利| 亚洲精品国产视频| 欧美中文一区二区三区| 亚洲444eee在线观看| 欧美日韩精品一区二区三区 | 精品区一区二区| 精品影视av免费| 亚洲精品一区二区三区蜜桃下载| 精一区二区三区| xnxx国产精品| 国v精品久久久网| 1区2区3区精品视频| 91日韩一区二区三区| 亚洲综合丝袜美腿| 欧美日韩国产另类一区| 日本aⅴ精品一区二区三区| 日韩免费成人网| 国产成都精品91一区二区三| 欧美高清在线视频| 91国产免费观看| 秋霞电影网一区二区| 久久视频一区二区| 波多野结衣亚洲一区| 亚洲综合在线五月| 91精品国产综合久久久久久久久久| 视频一区免费在线观看| 2024国产精品视频| 91玉足脚交白嫩脚丫在线播放| 性久久久久久久久| 欧美精品一区二区精品网| 成人国产精品免费观看| 亚洲成人午夜影院| 2020日本不卡一区二区视频| 91色.com| 极品美女销魂一区二区三区免费|