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

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

?? draw.c

?? USB文本閱讀器
?? C
字號:
#include <stdio.h>
#include <sys/unistd.h>
#include <math.h>
#include <string.h>

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "mydata.h"
#include "draw.h"

/*************************************************************/
void Draw_Pixel(U16 x, U16 y, alt_u16 color)    //在(x,y)位置畫點
{
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ADDR_BASE, y*LCD_W+x);  //output addr
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_WDATA_BASE, color);     //output data
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE, 0);  //cs = 0
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE, 0);  //wr = 0
  while((IORD_ALTERA_AVALON_PIO_DATA(LCD_BUSY_BASE)&1) == 0);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE, 1);  //wr = 1
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE, 1);  //cs = 1
}

U16 Get_Pixel(U16 x, U16 y)      //讀(x,y)位置像素值
{
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_ADDR_BASE, y*LCD_W+x);  //output addr
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE, 0);  //cs = 0
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_RD_BASE, 0);  //rd = 0
  while((IORD_ALTERA_AVALON_PIO_DATA(LCD_BUSY_BASE)&1) == 0);
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_RD_BASE, 1);  //rd = 1
  IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE, 1);  //cs = 1
  return IORD_ALTERA_AVALON_PIO_DATA(LCD_RDATA_BASE);     //return data
}

void DrawLine(U16 x1, U16 y1, U16 x2, U16 y2, U16 color) //從(x1,y1)到(x2,y2)的線段
{
  int Lx, Ly, Cx, Cy, XER = 0,YER = 0, DTC;
  U16 i = 0;
  
  Lx = x2 - x1;
  Ly = y2 - y1;

  if(Lx > 0)
    Cx = 1;
  else if(Lx < 0)
    Cx = -1;
  
  if(Ly > 0)
    Cy = 1;
  else if(Ly < 0)
    Cy = -1;
  
  if(Lx == 0) //Vertical Line
  {
    if(Ly == 0)
      Draw_Pixel(x1, y1, color);
    else
    {
      do
      {
        Draw_Pixel(x1, y1, color);
        y1 += Cy;     
      }
      while(y1 != y2);
      Draw_Pixel(x1, y1, color);
    }
    return;
  }
  else if(Ly == 0)  //Horizontal Line
  {
    do
    {
      Draw_Pixel(x1, y1, color);
      x1 += Cx;     
    }
    while(x1 != x2);
    Draw_Pixel(x1, y1, color);
    return;
  }
  
  Lx = fabs(Lx);
  Ly = fabs(Ly);
  
  if(Ly>Lx)
    DTC = Ly;
  else  
    DTC = Lx;
  
  for(i=0; i<=DTC+1; i++)
  {
    Draw_Pixel(x1, y1, color);
    XER += Lx;
    YER += Ly;
    if(XER>DTC)
    {
       XER -= DTC;
       x1 += Cx;
    }
    if(YER>DTC)
    {
       YER -= DTC;
       y1 += Cy;
    }
  }
}

void DrawRect(U16 xp, U16 yp, U16 xl, U16 yl, U16 color) //畫矩形
{
  DrawLine(xp,  yp,   xp+xl,  yp,   color);
  DrawLine(xp,  yp,   xp,   yp+yl,  color);
  DrawLine(xp+xl, yp,   xp+xl,  yp+yl,  color);
  DrawLine(xp+1,  yp+yl,  xp+xl,  yp+yl,  color);
}

void DrawFillRect(U16 xp, U16 yp, U16 xl, U16 yl, U16 color) //畫填充的矩形
{
  U16 i;
  if(xl && yl)
    for(i=0; i<=yl; i++)
      DrawLine(xp, yp+i, xp+xl, yp+i, color);
}

void DrawEllipse(U16 xp, U16 yp, U16 a, U16 b, U16 color) //畫橢圓
{
  U16 x, y;
  float tmp;
  
  for(x=0; x<=a; x++)
  {
    tmp = x;
    tmp /= a;
    y = b * sqrt(1 - tmp * tmp) + 0.5;
    
    Draw_Pixel(xp + x, yp + y, color);
    Draw_Pixel(xp + x, yp - y, color);
    Draw_Pixel(xp - x, yp + y, color);
    Draw_Pixel(xp - x, yp - y, color);
  } 
  for(y=0; y<=b; y++)
  {
    tmp = y;
    tmp /= b;
    x = a * sqrt(1 - tmp * tmp) + 0.5;
    
    Draw_Pixel(xp + x, yp + y, color);
    Draw_Pixel(xp + x, yp - y, color);
    Draw_Pixel(xp - x, yp + y, color);
    Draw_Pixel(xp - x, yp - y, color);
  } 
}

/****************【基本顯示字符、漢字函數】**********/
void DisplayChar(char Char, U16 xp, U16 yp, U16 BK_Color, U16 FT_Color)  //顯示任意字符
{
  U8 i,j;
  U8 *Font_Addr = (U8 *)(0x7c0000 + ((Char)<<4));
  U8 ft = 0;

  for(j=0; j<16; j++)
  {
    for(i=0; i<8; i++)
    {
      if(ft & 0x80)     //get the word dot,if true,display 
        Draw_Pixel(xp+i, yp+j, FT_Color);
      else
        Draw_Pixel(xp+i, yp+j, BK_Color);
      ft <<= 1;
    }
    
    if(j)
      ft= *Font_Addr++;
  }
}

void DisplayHanzi(U16 Unicode, U16 xp, U16 yp, U16 BK_Color, U16 FT_Color) //顯示任意漢字
{
  U8 i,j;
  U16 ft;
  U16 *Font_Addr = (U16 *)(0x7c0000 + ((Unicode-0x3bbf-(Unicode>>8)*0xa2)<<5) + 0x01000);
  for(j=0; j<16; j++)
  {
    ft = *Font_Addr++;
    ft = (ft << 8) | (ft >> 8);
    for(i=0; i<16; i++)
    {
      if(ft & 0x8000)     //get the word dot,if true,display 
        Draw_Pixel(xp+i, yp+j, FT_Color);
      else
        Draw_Pixel(xp+i, yp+j, BK_Color);
      ft <<= 1;
    }
  }
}


U16 SizeofString(U8 *str) //求取字符串長度
{
  U16 len = 0;
  while(str[len++]);
  return len-1;
}

//顯示任意字符串(中文為宋體,英文為8×16點陣)
void DisplayAnyString(U8 *Str, U16 xp, U16 yp, U16 BK_Color, U16 FT_Color)
{
  U16 i;
  U16 str_len = SizeofString(Str);
  
  for(i=0; i<str_len; i++)
  {
    if(Str[i] < 0x80)
    {
      if(xp > LCD_W - 8)
      {
        xp = 0;
        yp += 16;
      }
      if(Str[i] == 0x0d)      //回車
        xp = 0;
      else if(Str[i] == 0x0a)   //換行
        yp += 16;
      else
      {
        DisplayChar(Str[i], xp, yp, BK_Color, FT_Color);
        xp += 8;
      }
    }
    else
    {
      if(xp > LCD_W - 16)
      {
        xp = 0;
        yp += 16;
      }
      DisplayHanzi((Str[i]<<8)|Str[i+1], xp, yp, BK_Color, FT_Color);
      xp += 16;
      i++;
    }
  } 
}

void Display_Pic(alt_u16 x, alt_u8 y, alt_16 w, alt_u16 h, alt_u8 *bmp, alt_u16 color) //顯示圖片
{
  alt_u16 i, j;
  alt_u8 dot;
  for(j=0; j<h; j++)
  {
      for(i=0; i<w; i++)
      {
        if(i%8 == 0)
          dot = *bmp++;
        if(dot & 0x80)
           Draw_Pixel(x+i, y+j, color);
        dot <<= 1;
      }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费的国产精品| 国产精品免费视频观看| 日本不卡视频一二三区| 91精品国产综合久久蜜臀| 日韩电影在线观看电影| 日韩精品一区二区三区蜜臀| 国产中文字幕一区| 国产农村妇女精品| 91在线一区二区| 五月婷婷综合激情| 精品成人私密视频| 9l国产精品久久久久麻豆| 亚洲一区二区在线免费观看视频| 制服丝袜日韩国产| 国产一区二区三区在线观看精品| 国产精品高清亚洲| 欧美精品久久99久久在免费线| 麻豆国产欧美一区二区三区| 久久久久久毛片| 欧美综合亚洲图片综合区| 毛片av中文字幕一区二区| 国产午夜亚洲精品羞羞网站| 欧美亚洲综合一区| 韩国v欧美v亚洲v日本v| 国产精品久久久久一区二区三区| 欧美日韩一级大片网址| 国产麻豆欧美日韩一区| 亚洲中国最大av网站| 精品国产髙清在线看国产毛片| 99久久久精品| 精品在线视频一区| 一区二区三区四区在线播放| 久久综合给合久久狠狠狠97色69| 91官网在线观看| 国产精品一二二区| 五月综合激情婷婷六月色窝| 中文幕一区二区三区久久蜜桃| 欧美日本韩国一区二区三区视频| 国v精品久久久网| 热久久一区二区| 一区二区三区欧美日韩| 久久精品欧美日韩精品| 欧美一区二区三区性视频| a亚洲天堂av| 国产高清不卡一区| 美国毛片一区二区三区| 一级精品视频在线观看宜春院 | 精品久久久久99| 91在线观看视频| 国产精品一区二区无线| 日韩精品五月天| 亚洲自拍另类综合| 最新中文字幕一区二区三区| 久久久久久久久久电影| 91精品欧美综合在线观看最新| 一本色道亚洲精品aⅴ| 国产成人精品免费网站| 国产专区综合网| 麻豆国产欧美一区二区三区| 日韩av网站免费在线| 亚洲第一狼人社区| 一区二区三区在线观看欧美| 一区二区在线观看免费| **性色生活片久久毛片| 中文字幕欧美国产| 国产精品水嫩水嫩| 欧美国产禁国产网站cc| 国产目拍亚洲精品99久久精品| 久久亚洲一区二区三区明星换脸| 精品欧美一区二区三区精品久久 | 日韩欧美成人午夜| 日韩视频不卡中文| 日韩欧美的一区二区| 精品国产一区二区三区忘忧草| 日韩一级片网址| 精品国产伦一区二区三区观看体验| 欧美成人r级一区二区三区| 欧美一级在线视频| 777精品伊人久久久久大香线蕉| 6080午夜不卡| 精品毛片乱码1区2区3区| 精品国产免费人成在线观看| 久久久久久久久久久久电影| 国产欧美日韩卡一| 亚洲图片激情小说| 一区二区不卡在线播放| 日韩精品1区2区3区| 麻豆精品国产91久久久久久| 国产精品一区在线观看乱码| 不卡一区二区三区四区| 91麻豆免费看| 欧美久久久久久久久久| 日韩免费看的电影| 久久久久久99精品| 国产精品乱码人人做人人爱| 亚洲一区在线看| 免费观看成人av| 丁香桃色午夜亚洲一区二区三区| 91在线观看美女| 欧美精品精品一区| 久久久不卡网国产精品二区| 亚洲免费av在线| 日本不卡在线视频| 国产69精品久久久久777| 色呦呦一区二区三区| 91麻豆精品国产91| 亚洲国产精品精华液ab| 亚洲伊人伊色伊影伊综合网| 一本色道久久综合亚洲精品按摩| 欧美一区二区三区在线观看视频 | 日韩亚洲欧美在线| 中文字幕免费观看一区| 亚洲精品欧美专区| 国内精品伊人久久久久av影院| 91网站视频在线观看| 欧美日韩视频在线第一区 | 综合中文字幕亚洲| 亚洲国产另类av| 国产永久精品大片wwwapp| 在线影院国内精品| 日韩三级免费观看| 亚洲一区二区四区蜜桃| 韩国欧美国产一区| 欧美精品一区二| 精品久久久久久久久久久久包黑料| 精品国产伦一区二区三区观看体验| 18涩涩午夜精品.www| 美女一区二区久久| 91精品办公室少妇高潮对白| 精品国产伦一区二区三区观看体验 | 亚洲图片欧美综合| 国产风韵犹存在线视精品| 欧美午夜影院一区| 中文字幕国产一区| 久久99国产乱子伦精品免费| 日本精品裸体写真集在线观看| 亚洲一区二区三区小说| 精品亚洲国产成人av制服丝袜| 在线免费观看日本欧美| 国产日本一区二区| 国产精品久久精品日日| 亚洲欧洲一区二区三区| 免费观看日韩av| 欧美另类一区二区三区| 中文一区一区三区高中清不卡| 蜜桃av一区二区三区电影| 在线视频你懂得一区| 国产精品亲子乱子伦xxxx裸| 国产美女一区二区| 日韩免费观看2025年上映的电影| 亚洲va欧美va人人爽| 91久久精品午夜一区二区| 中文字幕在线观看不卡| 成人免费毛片片v| 国产欧美精品一区| 国产成人精品免费网站| 久久精品亚洲精品国产欧美kt∨| 久久成人免费网| 3atv在线一区二区三区| 丝袜亚洲另类欧美| 91精品蜜臀在线一区尤物| 日韩成人精品在线| 欧美一级片在线看| 日产欧产美韩系列久久99| 欧美嫩在线观看| 日本三级韩国三级欧美三级| 69久久夜色精品国产69蝌蚪网| 日韩不卡一区二区三区 | 99久久精品国产一区二区三区| 欧美国产精品一区| 99在线精品视频| 亚洲激情综合网| 欧美精品色综合| 青青草97国产精品免费观看无弹窗版| 91精品国产麻豆| 国产制服丝袜一区| 欧美高清在线一区二区| 91在线精品一区二区| 亚洲欧美日韩国产成人精品影院| 一本大道久久a久久精品综合| 亚洲国产中文字幕| 日韩一区二区三区精品视频| 久久er精品视频| 欧美激情艳妇裸体舞| 91丨九色丨黑人外教| 亚洲国产成人tv| 精品国产1区2区3区| 国产99精品国产| 一区二区视频在线看| 7799精品视频| 国产一区二区三区美女| 亚洲视频免费看| 欧美日本韩国一区| 国内精品嫩模私拍在线| 亚洲人成亚洲人成在线观看图片| 最新不卡av在线| 制服丝袜中文字幕一区| 国产乱人伦精品一区二区在线观看| 国产精品欧美经典| 欧美精品日韩一本|