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

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

?? gui_uc_dispstring.c

?? 這套代碼已經成功一直到S3C44B0X開發板上
?? 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        : 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 ****************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区中文字幕| 国产91清纯白嫩初高中在线观看| 韩国中文字幕2020精品| 欧美亚洲高清一区二区三区不卡| 久久久国产午夜精品| 日本美女一区二区| 欧美午夜精品久久久久久孕妇| 国产色产综合产在线视频| 视频一区免费在线观看| 成人av动漫在线| 欧美精品一区二区三区视频| 日日夜夜一区二区| 欧美少妇性性性| 亚洲精品国产视频| 成人av影视在线观看| 国产欧美一区二区精品久导航| 蜜桃一区二区三区在线观看| 欧美日韩激情一区二区| 亚洲国产一二三| 欧美亚洲综合一区| 亚洲九九爱视频| 色婷婷av一区| 亚洲欧美日韩国产手机在线| 91在线观看一区二区| 中文字幕免费在线观看视频一区| 国内外成人在线| 久久精品水蜜桃av综合天堂| 国产电影精品久久禁18| 欧美国产精品一区| www.久久精品| 亚洲免费av高清| 91福利在线观看| 一区二区三区不卡视频| 欧美在线观看视频一区二区三区| 亚洲三级在线免费| 欧美三级中文字幕在线观看| 丝袜美腿亚洲色图| 欧美mv日韩mv国产网站| 国产酒店精品激情| 国产精品久久毛片a| 91热门视频在线观看| 亚洲综合一二区| 日韩欧美在线综合网| 激情综合色综合久久| 国产午夜三级一区二区三| 暴力调教一区二区三区| 亚洲精品国产精品乱码不99| 欧美日韩另类一区| 国产一区二区免费在线| 国产亚洲一区字幕| 色欧美片视频在线观看| 日韩一区精品视频| 国产午夜精品理论片a级大结局 | 日韩黄色免费网站| 欧美本精品男人aⅴ天堂| 国产精品1024| 亚洲高清视频的网址| 26uuu国产电影一区二区| 波多野结衣中文字幕一区二区三区 | 亚洲免费资源在线播放| 欧美性色黄大片| 国内精品国产成人国产三级粉色| 中文字幕的久久| 欧美理论电影在线| 国产成人午夜电影网| 夜夜精品视频一区二区| 日韩三级在线免费观看| 99久久免费精品高清特色大片| 午夜激情综合网| 中文字幕av免费专区久久| 欧美日韩国产系列| 成人国产在线观看| 免费精品99久久国产综合精品| 国产精品久久久久一区二区三区共| 欧美日韩一级黄| 99久久综合精品| 麻豆成人久久精品二区三区小说| 亚洲日本韩国一区| 国产午夜精品久久| 日韩女优视频免费观看| 欧美调教femdomvk| 成人性色生活片| 久久精品72免费观看| 一区二区三区不卡视频在线观看 | 一区二区三区四区激情| 久久免费国产精品| 日韩一级片在线播放| 在线观看免费一区| 99国产精品国产精品毛片| 久久爱www久久做| 日日夜夜一区二区| 亚洲国产美女搞黄色| 中文字幕色av一区二区三区| 久久嫩草精品久久久精品一| 日韩欧美久久一区| 在线播放中文一区| 欧美三级日韩三级| 欧美中文字幕一二三区视频| 91捆绑美女网站| a在线欧美一区| 成人aa视频在线观看| 国产成a人亚洲精| 国产成人免费视频一区| 国产做a爰片久久毛片| 久久爱www久久做| 九色综合狠狠综合久久| 日本在线不卡一区| 蜜桃视频第一区免费观看| 午夜精品一区在线观看| 午夜av电影一区| 免费一级欧美片在线观看| 丝袜亚洲另类欧美| 男男视频亚洲欧美| 久久99国产精品尤物| 国产乱码精品一区二区三区av | 欧美色欧美亚洲另类二区| av在线不卡电影| 91在线精品秘密一区二区| 91在线观看成人| 欧美性感一区二区三区| 欧美日韩黄色影视| 日韩欧美高清一区| 国产欧美一区二区精品性| 国产欧美视频一区二区三区| 国产精品传媒在线| 亚洲最快最全在线视频| 日韩精品一二三四| 狠狠色综合日日| 成人午夜激情在线| 一本久久综合亚洲鲁鲁五月天| 欧美伊人精品成人久久综合97| 欧美日本免费一区二区三区| 精品美女一区二区| 国产精品嫩草影院av蜜臀| 一级做a爱片久久| 日韩精品亚洲一区| 国产白丝网站精品污在线入口| 91免费在线视频观看| 欧美日本精品一区二区三区| 久久综合av免费| 亚洲精品成人悠悠色影视| 午夜不卡在线视频| 成人午夜大片免费观看| 欧美唯美清纯偷拍| 久久色.com| 一区二区在线观看av| 激情欧美日韩一区二区| av在线不卡免费看| 精品少妇一区二区三区免费观看| 国产精品美日韩| 秋霞电影网一区二区| 99r国产精品| 欧美一区二区视频网站| 国产精品免费久久久久| 日韩电影一区二区三区| 成人自拍视频在线观看| 777亚洲妇女| 中文字幕一区不卡| 国内成人免费视频| 欧美日韩精品福利| 亚洲天堂a在线| 国产在线精品国自产拍免费| 色综合天天综合网国产成人综合天 | 久久综合久久综合亚洲| 亚洲五月六月丁香激情| 国产精品99久| 日韩欧美色综合| 亚洲国产aⅴ天堂久久| 丰满岳乱妇一区二区三区| 91精品国产乱码久久蜜臀| 中文字幕日韩精品一区| 国产精品一区二区果冻传媒| 555www色欧美视频| 亚洲尤物视频在线| 91捆绑美女网站| 亚洲视频综合在线| 波多野结衣欧美| 日本一区二区久久| 国产一区二区三区黄视频 | 国产丶欧美丶日本不卡视频| 91精品国产手机| 亚洲一级二级在线| 色系网站成人免费| 亚洲色大成网站www久久九九| 福利91精品一区二区三区| 久久久久99精品一区| 久久99国产精品免费| 日韩欧美高清一区| 久久99九九99精品| 精品国产乱码久久久久久蜜臀| 午夜精品久久久久久久99樱桃| 欧美影院午夜播放| 亚洲午夜av在线| 欧美日韩久久不卡| 日本怡春院一区二区| 欧美一区二区三区成人| 日韩成人av影视| 日韩欧美激情四射| 国产在线精品视频| 国产精品女同互慰在线看|