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

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

?? gui_uc_dispstring.c

?? C語言和ucGUI實(shí)現(xiàn)的電子地圖功能,地圖的移動(dòng)(方向鍵),縮放,查找
?? C
字號(hào):
/*
*********************************************************************************************************
*                                                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 ****************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美美女一区二区三区| 蜜桃av噜噜一区| 婷婷久久综合九色综合绿巨人| 久久精品国产一区二区| 色一区在线观看| 久久影院午夜片一区| 亚洲午夜久久久久久久久久久| 国产精品123| 日韩亚洲欧美一区| 亚洲成人av在线电影| 成人99免费视频| 久久精品亚洲国产奇米99| 日本三级亚洲精品| 在线观看日韩一区| 亚洲欧洲精品一区二区三区| 国产一区激情在线| 精品国产一区二区在线观看| 五月激情六月综合| 欧美日韩国产成人在线免费| 一级女性全黄久久生活片免费| 成人小视频免费在线观看| 久久亚洲春色中文字幕久久久| 蜜桃在线一区二区三区| 欧美一区二区三区系列电影| 日韩激情av在线| 制服视频三区第一页精品| 亚洲成人一区在线| 7777精品伊人久久久大香线蕉超级流畅| 日韩毛片高清在线播放| 99久久免费精品| 中文字幕日韩精品一区| av亚洲精华国产精华精| 国产精品乱人伦中文| 99在线视频精品| 亚洲三级电影网站| 欧美午夜精品一区二区三区| 亚洲一区二区三区视频在线播放 | 国产精品乱码一区二三区小蝌蚪| 国产精品香蕉一区二区三区| 欧美激情综合在线| 91香蕉国产在线观看软件| 亚洲激情一二三区| 欧美视频在线一区二区三区| 日本午夜精品一区二区三区电影| 欧美mv日韩mv亚洲| 国产aⅴ综合色| 最好看的中文字幕久久| 色偷偷一区二区三区| 亚洲午夜精品一区二区三区他趣| 欧美理论电影在线| 精品在线视频一区| 国产精品人成在线观看免费| 在线精品视频一区二区| 美腿丝袜一区二区三区| 日本一区二区三区国色天香 | 亚洲视频在线一区观看| 在线免费亚洲电影| 国内久久婷婷综合| ...av二区三区久久精品| 欧美日韩一区二区三区四区 | 久久免费视频色| 99精品久久免费看蜜臀剧情介绍| 一区二区三区中文免费| 日韩一级二级三级| 99国内精品久久| 日本午夜精品视频在线观看 | 久久久综合九色合综国产精品| aa级大片欧美| 图片区小说区区亚洲影院| 久久久噜噜噜久久中文字幕色伊伊| 波多野结衣精品在线| 日日夜夜一区二区| 亚洲欧美在线视频| 日韩精品一区二区三区在线| 一本色道久久综合亚洲精品按摩| 奇米影视一区二区三区| 亚洲婷婷国产精品电影人久久| 日韩欧美第一区| 欧美一a一片一级一片| 国产在线播放一区二区三区| 亚洲一区在线看| 中文av一区二区| 精品美女在线播放| 欧美揉bbbbb揉bbbbb| 99久久精品免费看国产免费软件| 青娱乐精品视频| 亚洲激情图片一区| 国产欧美日韩亚州综合| 日韩欧美中文一区二区| 欧洲人成人精品| 波多野洁衣一区| 国产成人三级在线观看| 蜜臀国产一区二区三区在线播放| 伊人色综合久久天天| 国产亚洲综合色| 欧美xxxx在线观看| 91精品啪在线观看国产60岁| 日本韩国欧美一区二区三区| 成人午夜电影网站| 国产呦精品一区二区三区网站| 蜜桃久久久久久| 五月天中文字幕一区二区| 亚洲精品中文字幕乱码三区| 亚洲天堂免费看| 国产精品久久久久婷婷| 中文字幕第一页久久| 久久精品一区二区三区不卡 | 天堂久久一区二区三区| 亚洲地区一二三色| 午夜不卡在线视频| 午夜影院久久久| 视频一区国产视频| 美女性感视频久久| 精品伊人久久久久7777人| 青青草原综合久久大伊人精品 | 国产一区二区主播在线| 国内精品视频666| 国产精品资源在线观看| 国产福利一区二区| 成人教育av在线| 色综合天天综合| 色综合天天综合网天天狠天天| 色天天综合色天天久久| 欧美三级一区二区| 日韩午夜激情视频| 精品国产一区二区三区av性色| 亚洲精品在线观看视频| 国产欧美日韩亚州综合| 亚洲人成在线观看一区二区| 一区二区三区在线播| 香蕉久久一区二区不卡无毒影院 | 亚洲一区二区三区四区在线| 天天爽夜夜爽夜夜爽精品视频| 免费一级片91| 国产91高潮流白浆在线麻豆| 成人毛片在线观看| 色琪琪一区二区三区亚洲区| 欧美另类久久久品| 亚洲精品一区二区三区香蕉| 国产精品剧情在线亚洲| 一区二区三国产精华液| 久热成人在线视频| 成人亚洲精品久久久久软件| 在线亚洲精品福利网址导航| 欧美欧美欧美欧美| 久久婷婷国产综合精品青草| 亚洲欧美日韩国产一区二区三区 | 国产a级毛片一区| 欧美视频中文字幕| 久久久影视传媒| 亚洲最快最全在线视频| 韩国午夜理伦三级不卡影院| 色视频成人在线观看免| xvideos.蜜桃一区二区| 亚洲欧美日韩系列| 国产精品一区二区三区网站| 色8久久精品久久久久久蜜 | 51午夜精品国产| 欧美国产1区2区| 日本系列欧美系列| 一本大道久久a久久综合婷婷| 欧美一级精品大片| 亚洲欧洲精品一区二区三区| 蜜乳av一区二区三区| 日本韩国一区二区| 国产欧美精品一区| 日本午夜精品一区二区三区电影| 懂色中文一区二区在线播放| 欧美精品一二三| 亚洲天天做日日做天天谢日日欢| 久久精品久久99精品久久| 在线观看视频欧美| 一区二区中文视频| 国产精品综合av一区二区国产馆| 在线综合视频播放| 亚洲成人综合网站| 91网站在线播放| 欧美极品美女视频| 激情成人综合网| 日韩三级免费观看| 日产欧产美韩系列久久99| 91啪亚洲精品| 中文字幕一区二区日韩精品绯色| 美女视频黄a大片欧美| 欧美一级久久久久久久大片| 亚洲r级在线视频| 色综合久久久久综合体桃花网| 国产精品无码永久免费888| 国产成人一区在线| 精品久久国产字幕高潮| 日韩电影免费在线| 91精品国产一区二区人妖| 爽好久久久欧美精品| 欧美亚一区二区| 亚洲国产精品久久久男人的天堂| 色综合久久天天综合网| 亚洲美女在线国产| 欧美午夜精品理论片a级按摩| 亚洲综合清纯丝袜自拍| 91高清视频免费看|