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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? guiuc1.c

?? Keil C下通過的UCGUI,UCGUI的移植源代碼
?? C
字號:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        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        : GUIUC1.C
Purpose     : Implementation of character and string services
----------------------------------------------------------------------
Version-Date---Author-Explanation
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>           /* needed for definition of NULL */
#include "gui\Core\GUI_Private.h"

#if GUI_SUPPORT_UNICODE

/*
************************************************************
*
*            static functions
*
************************************************************
*/

static int GetLineDistX(const U16 GUI_FAR *s, int Len) {
  int Dist =0;
  if (s) {
    U16 c0;
    while (((c0=*s) !=0) && Len >=0) {
      s++; Len--;
      Dist += GUI_GetCharDistX(c0);
    }
  }
  return Dist;
}

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

static void DispLine_UC(const U16 GUI_FAR *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);
    }
  }
}

static void DispLine(const U16 GUI_FAR *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
}

/*
************************************************************
*
*            UNICODE routines
*
************************************************************
*/

void GUI_DispString_UC(const U16 GUI_FAR *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();
}

#else

void GUIUC1_C(void) {} /* avoid empty object files */

#endif /* GUI_SUPPORT_UNICODE */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人资源网| 精品国产电影一区二区| 成人高清视频在线| 成人性色生活片| 波多野结衣欧美| 国产精品私人自拍| 日韩一区二区三区在线视频| 欧美精品1区2区3区| 欧美精品一区二区三区在线播放| 91精品国产乱| 中文字幕一区二区三区不卡| 亚洲自拍偷拍图区| 精品一区二区在线视频| 99国产精品久久久久久久久久| 欧美性受极品xxxx喷水| 日韩欧美国产成人一区二区| 国产精品色噜噜| 看片网站欧美日韩| 91免费国产在线观看| 欧美一级欧美三级| 亚洲夂夂婷婷色拍ww47| 国产99一区视频免费| 欧美一卡二卡三卡四卡| 亚洲一区二区三区中文字幕在线| 日韩精品成人一区二区三区| a级精品国产片在线观看| 欧美videos中文字幕| 日韩专区一卡二卡| 欧美另类变人与禽xxxxx| 一区二区三区在线免费| 99re6这里只有精品视频在线观看| 91麻豆免费在线观看| 欧美国产精品中文字幕| 精品一区二区三区在线视频| 日韩视频一区二区| 国产呦萝稀缺另类资源| 欧美r级在线观看| 极品美女销魂一区二区三区 | 经典一区二区三区| 日韩美女在线视频| 粉嫩av一区二区三区在线播放 | 波多野结衣中文字幕一区二区三区 | 亚洲影院免费观看| 欧美一区中文字幕| 国产麻豆精品95视频| 亚洲欧洲无码一区二区三区| 色综合天天综合网天天狠天天| 亚洲欧美视频在线观看| 在线综合视频播放| 国产精品一品视频| 亚洲中国最大av网站| 日韩欧美三级在线| 99精品国产91久久久久久| 亚洲精品va在线观看| 日韩欧美色综合网站| av网站一区二区三区| 日本亚洲欧美天堂免费| 国产精品久久久久久久久免费相片| 色综合天天综合给合国产| 美女视频第一区二区三区免费观看网站| 久久综合成人精品亚洲另类欧美| 91天堂素人约啪| 国产综合色精品一区二区三区| 亚洲欧美日韩久久精品| 久久免费精品国产久精品久久久久| 欧美综合天天夜夜久久| 色婷婷综合激情| 成人理论电影网| 国产福利一区二区三区视频 | 亚洲免费三区一区二区| 中文文精品字幕一区二区| 欧美xingq一区二区| 6080日韩午夜伦伦午夜伦| 欧美日韩免费高清一区色橹橹 | 91蝌蚪porny成人天涯| 秋霞午夜av一区二区三区| 亚洲图片欧美一区| 午夜电影一区二区三区| 秋霞影院一区二区| 国产一区二区三区香蕉| 国产91精品免费| 欧美在线999| 欧美一级xxx| 国产免费观看久久| 自拍视频在线观看一区二区| 亚洲小说欧美激情另类| 久久精品国产成人一区二区三区| 国产永久精品大片wwwapp| 91影院在线观看| 日韩久久久精品| 亚洲欧美国产高清| 韩国成人福利片在线播放| 91免费视频网址| 精品久久国产97色综合| 一级女性全黄久久生活片免费| 日韩国产成人精品| 色婷婷av一区二区| 26uuu精品一区二区在线观看| 国产精品麻豆久久久| 日日摸夜夜添夜夜添精品视频| 久久不见久久见免费视频7| 91看片淫黄大片一级| 国产日韩高清在线| 精品制服美女丁香| 久久99精品国产麻豆婷婷| 国产成人激情av| 欧美哺乳videos| 国产在线播精品第三| 日韩欧美一区二区在线视频| 午夜精品久久久久影视| av毛片久久久久**hd| 国产亚洲欧美色| 国产一区二三区| 国产欧美日韩不卡| 成人高清免费在线播放| 成人欧美一区二区三区黑人麻豆 | 欧美日韩在线播放三区| 性做久久久久久| 欧美成人激情免费网| 欧美中文一区二区三区| 久久精品在线免费观看| 国产自产视频一区二区三区| 亚洲人成在线观看一区二区| 欧美性色黄大片| 日韩av电影免费观看高清完整版 | 麻豆91在线播放| 国产精品毛片a∨一区二区三区| 国产一区二区精品久久91| 亚洲欧洲三级电影| 26uuu精品一区二区| 91黄视频在线| 高清在线观看日韩| 日韩影院在线观看| 亚洲四区在线观看| 欧美精品一区二区三区高清aⅴ | 老司机免费视频一区二区三区| 亚洲人吸女人奶水| 久久久久久亚洲综合| 欧美一区二区三区播放老司机| 91在线视频官网| 99国产精品国产精品久久| 久久国产尿小便嘘嘘| 日韩av一二三| 喷白浆一区二区| 免费精品视频在线| 久久精品国产99国产| 青青草国产成人av片免费| 日韩一区精品字幕| 天天综合色天天| 亚洲成av人**亚洲成av**| 亚洲第一av色| 美女网站一区二区| 国产乱子伦视频一区二区三区 | 国产又粗又猛又爽又黄91精品| 久久疯狂做爰流白浆xx| 狠狠久久亚洲欧美| 国产盗摄视频一区二区三区| 国产精品一区二区在线观看网站| 亚洲综合色网站| 久久精品99国产精品日本| 高清国产一区二区三区| 91日韩精品一区| 精品国产91乱码一区二区三区| 久久九九影视网| 亚洲一二三四在线| 国产一区二区导航在线播放| 91在线无精精品入口| 精品国产91乱码一区二区三区 | 青青草91视频| 91美女在线观看| 国产日韩欧美精品在线| 亚洲图片欧美视频| 国产精品资源网站| 欧美高清性hdvideosex| 久久九九全国免费| 久久国产精品无码网站| 91成人在线精品| 国产精品欧美一级免费| 美女任你摸久久| 欧美日韩国产一级片| 亚洲精品乱码久久久久久久久 | 亚洲国产精品一区二区久久恐怖片 | 久久精品国产秦先生| 欧美日韩精品免费| 国产欧美日韩卡一| 国产一区二区三区黄视频| 91.com在线观看| 蜜桃久久久久久久| 久久亚洲二区三区| 激情综合色播激情啊| 国产午夜精品一区二区三区四区 | 国产精品久久久久久亚洲伦| 国产精品亚洲午夜一区二区三区 | 91理论电影在线观看| 亚洲欧美日韩久久精品| 欧美三级视频在线| 麻豆成人av在线| 亚洲欧洲日韩综合一区二区| 色综合 综合色| 久久成人久久爱|