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

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

?? gui_dispstringinrect.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_DispStringInRect.c
Purpose     : Implementation of GUI_DispStringInRect
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>           /* needed for definition of NULL */
#include <stdio.h>
#include "GUI_Protected.h"
#if GUI_WINSUPPORT
  #include "WM.h"
#endif
 
/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUI__DispStringInRect
*/
void GUI__DispStringInRect(const char GUI_UNI_PTR *s, GUI_RECT* pRect, int TextAlign, int MaxNumChars) {
  GUI_RECT r;
  GUI_RECT rLine;
  int y = 0;
  const char GUI_UNI_PTR *sOrg =s;
  int FontYSize;
  int xLine = 0;
  int LineLen;
  int NumCharsRem;           /* Number of remaining characters */
  FontYSize = GUI_GetFontDistY();
  if (pRect) {
    r = *pRect;
  } else {
    GUI_GetClientRect(&r);
  }
  /* handle vertical alignment */
  if ((TextAlign & GUI_TA_VERTICAL) == GUI_TA_TOP) {
		y = r.y0;
  } else {
    int NumLines;
    /* Count the number of lines */
    for (NumCharsRem = MaxNumChars, NumLines = 1; NumCharsRem ;NumLines++) {
      LineLen = GUI__GetLineNumChars(s, NumCharsRem);
      NumCharsRem -= LineLen;
      s += GUI_UC__NumChars2NumBytes(s, LineLen);
      if (GUI__HandleEOLine(&s))
        break;
    }
    /* Do the vertical alignment */
    switch (TextAlign & GUI_TA_VERTICAL) {
	  case GUI_TA_BASELINE:
	  case GUI_TA_BOTTOM:
	  y = r.y1 -NumLines * FontYSize+1;
      break;
	  case GUI_TA_VCENTER:
		  y = r.y0+(r.y1-r.y0+1 -NumLines * FontYSize) /2;
      break;
	  }
  }
  /* Output string */
  for (NumCharsRem = MaxNumChars, s = sOrg; NumCharsRem;) {
    int xLineSize;
    LineLen = GUI__GetLineNumChars(s, NumCharsRem);
    NumCharsRem -= LineLen;
    xLineSize = GUI__GetLineDistX(s, LineLen);
    switch (TextAlign & GUI_TA_HORIZONTAL) {
    case GUI_TA_HCENTER:
      xLine = r.x0+(r.x1-r.x0-xLineSize)/2; break;
    case GUI_TA_LEFT:
      xLine = r.x0; break;
    case GUI_TA_RIGHT:
      xLine = r.x1 -xLineSize + 1;
    }
    rLine.x0 = GUI_Context.DispPosX = xLine;
    rLine.x1 = rLine.x0 + xLineSize-1;
    rLine.y0 = GUI_Context.DispPosY = y;
    rLine.y1 = y + FontYSize-1;
    GUI__DispLine(s, LineLen, &rLine);
    s += GUI_UC__NumChars2NumBytes(s, LineLen);
    y += GUI_GetFontDistY();
    if (GUI__HandleEOLine(&s))
      break;
  }
}

/*********************************************************************
*
*       GUI_DispStringInRectMax
*/
#if (GUI_WINSUPPORT)
void GUI_DispStringInRectMax(const char GUI_UNI_PTR *s, GUI_RECT* pRect, int TextAlign, int MaxLen) {
  if (s) {
    const GUI_RECT *pOldClipRect = NULL;
    GUI_RECT r;
    GUI_LOCK();
    if (pRect) {
      pOldClipRect = WM_SetUserClipRect(pRect);
      if (pOldClipRect) {
        GUI__IntersectRects(&r, pRect, pOldClipRect);
        WM_SetUserClipRect(&r);
      }
    }
    GUI__DispStringInRect(s, pRect, TextAlign, MaxLen);
    WM_SetUserClipRect(pOldClipRect);
    GUI_UNLOCK();
  }
}

#else

void GUI_DispStringInRectMax(const char GUI_UNI_PTR *s, GUI_RECT* pRect, int TextAlign, int MaxLen) {
  GUI_RECT Rect_Old, r;
  if (s && pRect) {
    GUI_LOCK();
    Rect_Old = GUI_Context.ClipRect;
    GUI__IntersectRects(&r, pRect, &Rect_Old);
    LCD_SetClipRectEx(&r);
    GUI__DispStringInRect(s, pRect, TextAlign, MaxLen);
    LCD_SetClipRectEx(&Rect_Old);
    GUI_UNLOCK();
  }
}
#endif

/*********************************************************************
*
*       GUI_DispStringInRect
*/
void GUI_DispStringInRect(const char GUI_UNI_PTR *s, GUI_RECT* pRect, int TextAlign) {
  GUI_DispStringInRectMax(s, pRect, TextAlign, 0x7fff);
}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀精品久久久久久蜜臀| 欧美电视剧在线看免费| 国产精品白丝在线| 99久久精品免费精品国产| 国产精品乱码一区二三区小蝌蚪| 成人免费视频一区二区| 国产精品久久免费看| 91亚洲精品一区二区乱码| 一区二区三区视频在线观看| 欧美亚一区二区| 免费人成精品欧美精品| 久久亚洲一区二区三区明星换脸| 国产成+人+日韩+欧美+亚洲| 亚洲欧美色图小说| 欧美一区二区免费视频| 精品在线观看视频| 中文字幕一区二区三区在线播放| 日本精品裸体写真集在线观看| 丝袜脚交一区二区| 欧美r级在线观看| av一区二区三区在线| 亚洲国产精品精华液网站| 日韩一级片网址| 成人黄色在线网站| 亚洲国产精品自拍| 国产丝袜美腿一区二区三区| 在线观看日韩电影| 久久精品国产99国产精品| 中文字幕不卡三区| 欧美巨大另类极品videosbest| 国产一区二区三区香蕉| 一区二区三区不卡视频| 26uuu精品一区二区在线观看| 91亚洲精品一区二区乱码| 美女尤物国产一区| 亚洲精品国产精华液| 精品日韩在线观看| 欧美视频三区在线播放| 国产91色综合久久免费分享| 香蕉影视欧美成人| 国产精品蜜臀av| 欧美丰满少妇xxxbbb| 成人av中文字幕| 久久精品国产久精国产爱| 亚洲欧美日韩中文字幕一区二区三区 | 日韩高清不卡一区二区三区| 久久久久久久久久久99999| 欧美三级日韩三级国产三级| 懂色av一区二区三区蜜臀| 看电影不卡的网站| 午夜天堂影视香蕉久久| 亚洲少妇中出一区| 26uuu色噜噜精品一区二区| 91麻豆精品国产91久久久久 | 欧美吞精做爰啪啪高潮| 国产精品一区二区男女羞羞无遮挡| 亚洲一二三区在线观看| 国产精品久久久久三级| 久久这里只精品最新地址| 欧美日韩精品欧美日韩精品一 | 欧美主播一区二区三区| 丁香婷婷综合色啪| 国产在线国偷精品免费看| 日韩精品三区四区| 无码av中文一区二区三区桃花岛| 亚洲日穴在线视频| 国产精品电影院| 国产女人18水真多18精品一级做| 精品捆绑美女sm三区| 欧美一区中文字幕| 91麻豆精品国产91久久久久久久久| 日本伦理一区二区| 欧美在线观看视频一区二区三区| 久久夜色精品一区| 精品国产露脸精彩对白 | 国产成人在线观看免费网站| 久久99国产精品久久| 久久精品99国产精品日本| 蓝色福利精品导航| 激情综合色综合久久| 九九视频精品免费| 国产精品亚洲一区二区三区妖精 | 3d动漫精品啪啪1区2区免费| 欧美日韩成人综合在线一区二区| 欧美精品久久99久久在免费线 | 亚洲国产精品久久久男人的天堂| 亚洲综合成人在线| 日本欧美加勒比视频| 麻豆精品视频在线观看视频| 精品一区二区三区不卡 | 蜜桃在线一区二区三区| 美女在线观看视频一区二区| 黄色资源网久久资源365| 国产麻豆91精品| av电影在线观看完整版一区二区| 成人午夜在线免费| 91国产丝袜在线播放| 欧美乱熟臀69xxxxxx| 亚洲精品一区二区三区福利| 国产精品视频一区二区三区不卡| 尤物av一区二区| 日韩精品一级二级| 国产高清不卡一区| 色婷婷国产精品| 91精品国产色综合久久不卡蜜臀| 精品少妇一区二区三区| 中文字幕一区二区5566日韩| 亚洲精品国产第一综合99久久| 婷婷开心激情综合| 成人午夜电影小说| 色哟哟在线观看一区二区三区| 精品少妇一区二区三区免费观看| 国产在线精品不卡| 91在线看国产| 欧美一区二区视频在线观看2020 | 91精品国产综合久久久久| 亚洲精品一区二区三区在线观看| 国产精品国产三级国产aⅴ入口 | 国产91精品久久久久久久网曝门| 在线免费观看日本欧美| 欧美xxxxxxxx| 亚洲国产婷婷综合在线精品| 国产精品自拍一区| 色综合咪咪久久| 久久综合色综合88| 亚洲午夜影视影院在线观看| 国产精选一区二区三区| 欧美写真视频网站| 中文字幕精品一区二区三区精品| 天堂蜜桃一区二区三区| 不卡一区中文字幕| 精品国产乱码久久久久久牛牛 | 欧美猛男超大videosgay| 国产精品视频你懂的| 美女尤物国产一区| 欧美在线观看视频在线| 国产精品久久久久aaaa樱花 | 中文字幕 久热精品 视频在线| 五月婷婷综合激情| 91性感美女视频| 久久精品欧美一区二区三区麻豆| 亚洲福利电影网| 色诱视频网站一区| 中文字幕中文字幕一区二区| 久久精品免费观看| 欧美日本一区二区在线观看| 亚洲视频你懂的| av亚洲精华国产精华精华| 久久久久久亚洲综合| 蜜臀久久久99精品久久久久久| 欧洲生活片亚洲生活在线观看| 国产精品每日更新| 懂色av一区二区三区免费观看| 久久精品视频在线看| 久久国产精品一区二区| 日韩一区二区不卡| 日韩国产精品久久| 亚洲免费观看高清完整版在线观看 | 亚洲午夜久久久久中文字幕久| 成人午夜激情在线| 中国色在线观看另类| 国产高清精品网站| 中文av一区二区| 成人免费看的视频| 国产精品久久久久影视| 成人国产亚洲欧美成人综合网 | 久久99最新地址| 精品久久久久一区二区国产| 久久精品久久久精品美女| 91精品国产福利| 久久精品国产精品亚洲红杏| 日韩精品一区二区三区中文不卡 | 日本一区二区在线不卡| 国产·精品毛片| 日韩美女视频19| 色诱视频网站一区| 亚洲电影在线播放| 日韩情涩欧美日韩视频| 久久99精品国产麻豆婷婷洗澡| 久久亚洲精精品中文字幕早川悠里| 国产一区二区三区黄视频| 久久久久久久久久电影| caoporm超碰国产精品| 亚洲欧洲综合另类| 欧美色涩在线第一页| 日本成人在线一区| 国产日本一区二区| 91丨国产丨九色丨pron| 亚洲成人av在线电影| 精品久久免费看| 99在线热播精品免费| 亚洲成人免费电影| 欧美变态tickling挠脚心| 成人理论电影网| 亚洲午夜av在线| 久久综合一区二区| 在线视频一区二区三| 美女视频免费一区| 亚洲国产高清不卡| 欧美日韩精品欧美日韩精品|