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

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

?? guiuc1.c

?? ucgui源碼3.32
?? 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_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一区二区三区免费野_久草精品视频
欧美激情一区在线| 丁香亚洲综合激情啪啪综合| 欧美性欧美巨大黑白大战| 中文字幕在线观看一区| 99免费精品视频| 亚洲欧美偷拍卡通变态| 欧美主播一区二区三区| 婷婷成人综合网| 久久―日本道色综合久久| 成人午夜免费av| 亚洲综合成人网| 日韩精品中文字幕一区二区三区| 国产真实乱偷精品视频免| 中文字幕一区在线观看| 欧美日韩黄视频| 精品一区二区三区在线观看国产| 久久久久久久av麻豆果冻| 91网站在线观看视频| 天天亚洲美女在线视频| 国产午夜精品理论片a级大结局| 久久人人爽人人爽| 色爱区综合激月婷婷| 久久综合综合久久综合| 中文字幕av一区二区三区免费看 | 午夜精品久久久久久久久久久| 91精品欧美久久久久久动漫| 国产黄色成人av| 一区二区三区成人| 26uuu国产日韩综合| 色94色欧美sute亚洲线路一ni| 久久国产夜色精品鲁鲁99| 成人欧美一区二区三区白人 | 色婷婷综合中文久久一本| 日韩黄色免费电影| 国产欧美日韩麻豆91| 6080午夜不卡| 91丨国产丨九色丨pron| 精品在线观看免费| 一区二区三区在线影院| 国产日韩三级在线| 欧美一级专区免费大片| 91在线高清观看| 极品美女销魂一区二区三区免费 | 天堂一区二区在线免费观看| 国产欧美va欧美不卡在线| 欧美日韩国产综合久久| 99精品视频中文字幕| 久久精品国产免费| 亚洲国产精品视频| 中文字幕一区免费在线观看| 久久综合国产精品| 欧美顶级少妇做爰| 色8久久精品久久久久久蜜| 国产成人免费视频网站高清观看视频| 亚洲大片免费看| 亚洲欧美日韩一区| 国产精品免费视频一区| 久久在线观看免费| 欧美一区二区在线不卡| 欧美日韩三级一区| 日本高清不卡一区| 91看片淫黄大片一级在线观看| 国产精品一二二区| 国产精品一区二区三区99| 久久精品免费观看| 免费一级片91| 日本美女一区二区| 婷婷一区二区三区| 图片区日韩欧美亚洲| 亚洲成人免费影院| 亚洲一区在线播放| 亚洲永久免费视频| 亚洲一区二区免费视频| 99精品在线免费| 色av成人天堂桃色av| 在线国产电影不卡| 欧美精品第1页| 777久久久精品| 欧美xxxxxxxx| 久久久久久久性| 久久精品亚洲国产奇米99| 久久久精品免费观看| 国产午夜亚洲精品理论片色戒 | 国产精品一区二区无线| 国产激情一区二区三区| 国产不卡视频在线播放| 懂色中文一区二区在线播放| 国产ts人妖一区二区| 不卡视频免费播放| 色综合久久88色综合天天 | 欧美人伦禁忌dvd放荡欲情| 欧美色图12p| 日韩一级黄色大片| 久久伊人中文字幕| 日韩伦理免费电影| 洋洋av久久久久久久一区| 午夜成人免费视频| 黄色日韩三级电影| 成人av网站大全| 精品污污网站免费看| 日韩欧美国产综合在线一区二区三区 | 亚洲综合色自拍一区| 日韩中文字幕区一区有砖一区| 美国十次了思思久久精品导航| 国产一区二区三区在线观看免费 | 国产成人av电影在线观看| a4yy欧美一区二区三区| 欧美天堂亚洲电影院在线播放| 91精品国模一区二区三区| 26uuu另类欧美| 亚洲欧美一区二区三区孕妇| 日韩激情视频在线观看| 国产电影一区在线| 色综合久久66| 精品国产91亚洲一区二区三区婷婷| 国产日韩高清在线| 亚洲影院在线观看| 国产福利一区在线观看| 欧美三区免费完整视频在线观看| 亚洲精品在线电影| 亚洲综合激情网| 成人做爰69片免费看网站| 91精品视频网| 亚洲日本va午夜在线影院| 奇米精品一区二区三区在线观看一 | 欧美成人a∨高清免费观看| 亚洲人精品午夜| 麻豆成人免费电影| 国产精品女同互慰在线看 | 久久精品国产77777蜜臀| 一本久道中文字幕精品亚洲嫩| 日韩午夜小视频| 亚洲精品伦理在线| 国产一区二区视频在线| 欧美美女一区二区三区| 亚洲欧美自拍偷拍色图| 国产麻豆成人传媒免费观看| 欧美性感一区二区三区| 国产精品视频yy9299一区| 蜜臀91精品一区二区三区| 欧洲av在线精品| 国产精品嫩草影院com| 国内精品久久久久影院一蜜桃| 欧美日韩午夜在线视频| 综合色中文字幕| 国产91精品免费| 久久久久久久久久久久电影 | 亚洲大片免费看| 91亚洲精品乱码久久久久久蜜桃 | 无码av中文一区二区三区桃花岛| eeuss鲁片一区二区三区| 国产亚洲成年网址在线观看| 精品一区二区三区在线视频| 欧美一区二区三区小说| 性久久久久久久久| 在线免费观看不卡av| 亚洲色大成网站www久久九九| 成人午夜激情视频| 国产精品理伦片| 国产黄人亚洲片| 久久综合999| 丁香婷婷深情五月亚洲| 久久精品亚洲一区二区三区浴池| 精品一区二区三区免费观看| 日韩视频在线观看一区二区| 日本欧美肥老太交大片| 欧美一区二区免费视频| 久久精品久久99精品久久| 欧美v日韩v国产v| 国产九色精品成人porny| 久久久一区二区三区捆绑**| 国产成人精品一区二| 国产亚洲1区2区3区| 成人免费观看视频| 亚洲日本va午夜在线电影| 欧美中文字幕一区二区三区| 亚洲国产另类av| 欧美一区二区三区视频免费| 另类专区欧美蜜桃臀第一页| 精品乱人伦小说| 风间由美一区二区av101| 欧美国产日韩一二三区| 99精品1区2区| 日日欢夜夜爽一区| 精品久久人人做人人爰| 国产91精品精华液一区二区三区| 成人免费在线视频| 欧洲一区二区三区在线| 日本免费在线视频不卡一不卡二| 精品国产凹凸成av人导航| 成人av在线一区二区| 亚洲一区二区三区在线播放| 日韩免费高清视频| 成人午夜免费av| 无码av免费一区二区三区试看 | 92精品国产成人观看免费| 亚洲一区二区三区四区在线| 91麻豆精品国产91久久久久久| 国产一区视频在线看| 亚洲天堂久久久久久久|