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

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

?? font_showallttfs.c

?? ucgu最新版本 4.14
?? C
字號:
/*********************************************************************
*                SEGGER MICROCONTROLLER SYSTEME GmbH                 *
*        Solutions for real time microcontroller applications        *
**********************************************************************
*                                                                    *
*        (c) 1996 - 2007  SEGGER Microcontroller Systeme GmbH        *
*                                                                    *
*        Internet: www.segger.com    Support:  support@segger.com    *
*                                                                    *
**********************************************************************

** emWin V4.14 - Graphical user interface for embedded applications **
emWin 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 re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File        : FONT_ShowAllTTFs.c
Purpose     : Demonstrates the use of TTF font files
----------------------------------------------------------------------
*/

#include <windows.h>
#include <stdio.h>

#include "GUI.h"

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
static unsigned     _aHeight  [] = {16, 20, 32, 48};   /* Array of heights used to show text */
static GUI_TTF_CS   _aCS      [GUI_COUNTOF(_aHeight)]; /* Each GUI font needs its own GUI_TTF_CS structure */
static GUI_FONT     _aFont    [GUI_COUNTOF(_aHeight)]; /* Array of GUI fonts */
static char         _acFamily [200];
static char         _acStyle  [200];

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _ShowText
*/
static void _ShowText(void) {
  int i;
  GUI_Clear();
  i = 0;
  GUI_TTF_GetFamilyName(&_aFont[i], _acFamily, sizeof(_acFamily));
  GUI_TTF_GetStyleName(&_aFont[i],  _acStyle,  sizeof(_acStyle));
  GUI_SetFont(&GUI_Font20_1);
  GUI_DispString(_acFamily);
  GUI_DispString(", ");
  GUI_DispString(_acStyle);
  GUI_DispNextLine();
  GUI_DrawHLine(GUI_GetDispPosY(), 0, 0xfff);
  GUI_SetFont(&_aFont[i]);
  GUI_DispString("abcdefghijklmnopqrstuvwxyz\n");
  GUI_DispString("ABCDEFGHIJKLMNOPQRSTUVWXYZ\n");
  GUI_DispString("123456789.:,;(:*!?')\n");
  GUI_DrawHLine(GUI_GetDispPosY(), 0, 0xfff);
  for (i = 0; i < GUI_COUNTOF(_aHeight); i++) {
    GUI_SetFont(&_aFont[i]);
    GUI_DispString("The quick brown fox jumps over the lazy dog. 1234567890\n");
  }
  GUI_Delay(1000);
}

/*********************************************************************
*
*       _CreateFonts
*/
static int _CreateFonts(const U8 * pData, U32 NumBytes) {
  int i;
  GUI_TTF_DATA TTF_Data;        /* Only one GUI_TTF_DATA structure is used per font face */
  TTF_Data.pData    = pData;    /* Set pointer to file data */
  TTF_Data.NumBytes = NumBytes; /* Set size of file */
  for (i = 0; i < GUI_COUNTOF(_aHeight); i++) {
    /* Initialize GUI_TTF_CS members */
    _aCS[i].PixelHeight = _aHeight[i];
    _aCS[i].pTTF        = &TTF_Data;
    /* Create GUI font */
    if (GUI_TTF_CreateFont(&_aFont[i], &_aCS[i])) {
      return 1;
    }
  }
  return 0;
}

/*********************************************************************
*
*       _cbFontDemo
*
* Purpose:
*   The function uses the given pointer to a true type font for creating
*   a couple of GUI fonts and showing the outline of the TTF font.
*
* Parameters:
*   pData    - Location of font file
*   NumBytes - Size of font file
*/
static void _cbFontDemo(const U8 * pData, U32 NumBytes) {
  _CreateFonts(pData, NumBytes); /* Create fonts */
  _ShowText();                   /* Show some text */
  GUI_TTF_DestroyCache();        /* Clear the TTF cache */
}

/*********************************************************************
*
*       _IterateOverAllFiles
*
* Purpose:
*   The function iterates over all files of the given folder and the
*   given mask, reads the contents of the file and calls the function
*   pfDoSomething() with location and size of file data.
*   Can be used under Win32 environment only.
*/
static void _IterateOverAllFiles(const char * sFolder, const char * sMask, void (* pfDoSomething)(const U8 * pData, U32 NumBytes)) {
  GUI_RECT Rect = {0, 10, 1000, 1000};
  char acMask[_MAX_PATH];
  char acFile[_MAX_PATH];
  WIN32_FIND_DATA Context;
  HANDLE hFind;
  HANDLE hFile;

  sprintf(acMask, "%s\\%s", sFolder, sMask);
  hFind = FindFirstFile(acMask, &Context);
  if (hFind != INVALID_HANDLE_VALUE) {
    do {
      sprintf(acFile, "%s\\%s", sFolder, Context.cFileName);
      hFile = CreateFile(acFile, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
      if (hFile != INVALID_HANDLE_VALUE) {
        U8 * pData;
        DWORD NumBytes;
        DWORD NumBytesRead;
        NumBytes = GetFileSize(hFile, NULL);
        pData = (U8 *)malloc(NumBytes);
        ReadFile(hFile, pData, NumBytes, &NumBytesRead, NULL);
        pfDoSomething(pData, NumBytes);
        free(pData);
      }
      CloseHandle(hFile);
    } while (FindNextFile(hFind, &Context));
  }
}

/*********************************************************************
*
*       Public code
*
**********************************************************************
*/
/*********************************************************************
*
*       MainTask
*/
void MainTask(void) {
  char acPath[200];
  GUI_Init();
  /* Set colors and text mode */
  GUI_SetBkColor(GUI_WHITE);
  GUI_SetColor(GUI_BLACK);
  GUI_SetTextMode(GUI_TM_TRANS);
  /* Get windows system directory and extend it with '\Font' */
  GetWindowsDirectory(acPath, sizeof(acPath));
  strcat(acPath, "\\Fonts");
  /* Iterate over files and call _cbFontDemo for each file */
  while (1) {
    _IterateOverAllFiles(acPath, "*.ttf", _cbFontDemo);
  }
}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国内精品野花午夜精品| 国产精品123| 久久99久久99精品免视看婷婷 | 日韩一区二区在线观看视频| 7777精品伊人久久久大香线蕉的 | 欧美aaaaaa午夜精品| 爽好久久久欧美精品| 日韩精品一级二级| 久久国产精品一区二区| 国产激情精品久久久第一区二区| 国产99久久久久| 99久久伊人精品| 欧美日韩的一区二区| 日韩免费在线观看| 欧美激情一区二区三区不卡| 亚洲日本在线a| 亚洲成av人片一区二区| 久久成人18免费观看| 国产成人8x视频一区二区| 一本到三区不卡视频| 欧美区一区二区三区| 久久精品日产第一区二区三区高清版| 久久精品亚洲精品国产欧美| 亚洲精品中文字幕在线观看| 亚洲图片欧美视频| 国产乱码精品一品二品| 色综合久久综合中文综合网| 日韩一区和二区| 中文字幕一区二区三区不卡| 日韩国产在线观看一区| 国产成人在线看| 91麻豆精品国产综合久久久久久| 久久欧美一区二区| 亚洲国产精品久久艾草纯爱 | 中文字幕一区av| 美女在线观看视频一区二区| 91在线精品一区二区三区| 欧美一区二区三区四区五区| 欧美国产乱子伦| 免费观看在线综合| 日本国产一区二区| 国产欧美日韩亚州综合| 日本午夜精品视频在线观看| 91美女在线看| 欧美国产欧美综合| 99综合影院在线| 日韩一区二区视频在线观看| 有码一区二区三区| 成人一道本在线| 久久先锋影音av| 日本不卡高清视频| 在线观看不卡一区| 国产精品高潮久久久久无| 久99久精品视频免费观看| 欧美视频日韩视频在线观看| 国产精品久久久久一区二区三区| 精品一区二区精品| 5566中文字幕一区二区电影| 一区二区三区四区中文字幕| 国产精品18久久久久久久网站| 日韩一区二区在线免费观看| 视频一区二区中文字幕| 精品视频一区三区九区| 亚洲国产欧美日韩另类综合| 一本到三区不卡视频| 亚洲免费观看在线观看| 91丨porny丨首页| 国产精品的网站| 成人免费视频播放| 亚洲欧洲国产专区| 色婷婷精品久久二区二区蜜臂av| 国产精品美女久久久久久久久| 国产成人av影院| 国产精品久久久久精k8| 99视频在线精品| 一区二区三区四区高清精品免费观看| www..com久久爱| 一区二区欧美国产| 欧美日韩成人高清| 奇米色一区二区| 久久久不卡网国产精品一区| 国产xxx精品视频大全| 18欧美乱大交hd1984| 91黄色免费版| 男女男精品视频网| 欧美激情综合五月色丁香小说| 成人激情综合网站| 一区二区三国产精华液| 正在播放一区二区| 国产不卡在线一区| 另类小说综合欧美亚洲| 日韩欧美国产三级电影视频| 国产成人在线影院| 亚洲线精品一区二区三区| 欧美一区二区视频在线观看2020 | 欧美视频在线播放| 麻豆精品在线播放| 中文一区在线播放| 欧美日本在线一区| 国产一区二区三区黄视频| 中文一区二区完整视频在线观看| 在线欧美一区二区| 国产剧情一区二区| 亚洲精品大片www| 精品久久久久99| 欧美怡红院视频| 韩国女主播成人在线观看| 亚洲美女偷拍久久| 欧美tickling挠脚心丨vk| 93久久精品日日躁夜夜躁欧美| 亚洲bt欧美bt精品| 中文字幕欧美区| 日韩免费成人网| 91久久人澡人人添人人爽欧美| 麻豆传媒一区二区三区| 亚洲六月丁香色婷婷综合久久 | 国产三级精品三级在线专区| 日本精品裸体写真集在线观看| 久久91精品久久久久久秒播| 亚洲资源中文字幕| 国产精品久久久久久久久免费相片 | 青青草国产成人99久久| 五月综合激情网| 亚洲女人****多毛耸耸8| 欧美一卡二卡三卡| 在线观看亚洲精品| 成人午夜又粗又硬又大| 久久国产剧场电影| 免费在线观看精品| 天堂成人免费av电影一区| 亚洲女人的天堂| 亚洲欧美偷拍三级| 国产精品久久久久久久久动漫| 2019国产精品| 精品福利一区二区三区 | a亚洲天堂av| 国产精品一区二区你懂的| 久久精品国产在热久久| 亚洲国产欧美另类丝袜| 亚洲午夜国产一区99re久久| 亚洲视频 欧洲视频| 亚洲欧洲日产国产综合网| 国产精品国产精品国产专区不片| 亚洲国产精品成人综合色在线婷婷| 日韩欧美综合一区| 日韩美女在线视频| 欧美岛国在线观看| 久久精品欧美日韩| 久久伊人中文字幕| 国产亚洲成av人在线观看导航 | 免费不卡在线观看| 麻豆一区二区三区| 韩国精品久久久| 国产精品中文字幕日韩精品| 国产不卡视频在线播放| 成人丝袜高跟foot| 色综合一个色综合| 欧美日韩一卡二卡| 欧美一区二区三区精品| 欧美mv和日韩mv的网站| 久久久高清一区二区三区| 国产精品乱码久久久久久| 成人欧美一区二区三区视频网页| 中文字幕一区二区三区四区不卡 | 91美女福利视频| 欧美在线免费观看视频| 91精品免费观看| 精品电影一区二区三区| 国产日韩一级二级三级| 日韩理论片网站| 图片区小说区国产精品视频| 精品无人区卡一卡二卡三乱码免费卡| 激情综合五月天| 91在线观看下载| 欧美精品日日鲁夜夜添| 久久久久久一级片| 日韩美女视频一区| 天天色天天操综合| 国产一区二区三区免费在线观看| av在线播放一区二区三区| 91福利国产成人精品照片| 欧美一区二区三区免费| 中文字幕在线观看不卡视频| 亚洲电影第三页| 粉嫩久久99精品久久久久久夜 | 久久久综合精品| 亚洲综合免费观看高清在线观看| 日本sm残虐另类| 91老师片黄在线观看| 日韩色视频在线观看| 日韩一区在线免费观看| 久久99九九99精品| 在线观看成人小视频| 中文字幕精品一区二区精品绿巨人 | 久久伊99综合婷婷久久伊| 亚洲色图另类专区| 久久激情综合网| 在线观看91av| 亚洲美女免费视频| 懂色av噜噜一区二区三区av|