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

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

?? wuyao_avalon_lcd_controller.h

?? DE1上avalon總線掛接LCD控制器示例
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __WUYAO_AVALON_LCD_CONTROLLER_H__
#define __WUYAO_AVALON_LCD_CONTROLLER_H__

#include <stdio.h>
#include "system.h"
#include "sys/alt_llist.h"
#include "priv/alt_dev_llist.h"
#include "priv/alt_file.h"

#define VGA_CONTROLLER_0_RESET_VALUE 0x0
#define VGA_CONTROLLER_0_COLOR_DEPTH 16
#define VGA_CONTROLLER_0_DMA_BURSTING 0
#define VGA_CONTROLLER_0_FIFO_DEPTH 4096
#define VGA_CONTROLLER_0_SCREEN_RESOLUTION "640x480"
#define VGA_CONTROLLER_0_SCREEN_WIDTH 640
#define VGA_CONTROLLER_0_SCREEN_HEIGHT 480
#define VGA_CONTROLLER_0_SYNC_POLARITY 0
#define VGA_CONTROLLER_0_FRAME_BUFFERS 2

#define FRAME_WIDTH   640
#define FRAME_HEIGHT   480
//#define FRAME_WIDTH VGA_CONTROLLER_0_SCREEN_WIDTH
//#define FRAME_HEIGHT VGA_CONTROLLER_0_SCREEN_HEIGHT

#define DO_FILL 1
#define DO_NOT_FILL 0

#define BLACK_8 0x00

#define FONT_10PT_ROW 11
#define FONT_10PT_COLUMN 8

#define HEAP -1


typedef int vga_frame_array;

typedef struct {
  vga_frame_array* vga_frame0;
  vga_frame_array* vga_frame1;
  int width;
  int height;
  int color_depth;
  int bytes_per_pixel;
  int bytes_per_frame;
  int frame_buffers;
  int vga_controller_base;
} vga_frame_buffer_struct;

typedef struct {
  int hbegin;
  int vbegin;
  int hend;
  int f_color;
  int b_color;
  char* string;
  char* font;
  int ms_delay;
  int ticks_at_last_move;
  int text_scroll_index;
  char text_scroll_started;
  int window_width;
  int length_of_string;
  int scroll_points;
  int string_points;
} vga_text_scroll_struct;

typedef struct {            /* the structure for a bitmap. */
  short biWidth;
  short biHeight;
  short biBitCount;
  char *bicolor_palatte;
  short *data;
} bitmap_struct;

typedef struct {
	int   vertex_x[3];
	int   vertex_y[3];
  int   ax, ay;
  int   bx, by;
  int   cx, cy;
  int   spans_needed;
  int   max_span;
  int   top_y;
  int   bottom_y;
  int   col;
  int   fill;
  int   center_z;
  int   *span_array;
} triangle_struct;

typedef struct vga_controller_dev vga_controller_dev;

struct vga_controller_dev
{
  alt_dev dev;
  int width;
  int height;
  int color_depth;
  int base_addr;
  int frame_buffers;
};

#define WUYAO_AVALON_LCD_CONTROLLER_INSTANCE(name, dev)           \
static vga_controller_dev dev =                      \
{                                                    \
  {                                                  \
      ALT_LLIST_ENTRY,                               \
      name##_NAME,                                   \
      NULL, /* open */                               \
      NULL, /* close */                              \
      NULL, /* read */                               \
      NULL, /* write */                              \
      NULL, /* lseek */                              \
      NULL, /* fstat */                              \
      NULL, /* ioctl */                              \
   },                                                \
   name##_SCREEN_WIDTH,                              \
   name##_SCREEN_HEIGHT,                             \
   name##_COLOR_DEPTH,                               \
   name##_BASE,                                      \
   name##_FRAME_BUFFERS,                             \
}

#define WUYAO_AVALON_LCD_CONTROLLER_INIT(name, dev)               \
    vga_dev_init (&dev )        

static ALT_INLINE int vga_device_register( alt_dev* fd)
{
  extern alt_llist vga_dev_list;

  return alt_dev_llist_insert ((alt_dev_llist*) fd, &vga_dev_list);
}

/* color conversion macro */
#define vga_color_convert24_16_m( x ) (unsigned short)(((*(x + 2) & 0xF8) >> 3) | ((*(x + 1) & 0xFC) << 3) | ((*(x + 0) & 0xF8) << 8))


extern char* cour10_font;

int vga_dev_init ( vga_controller_dev* vga );

alt_dev* alt_vga_open_dev(const char* name);

void alt_vga_close_dev(alt_dev* fd);

vga_frame_buffer_struct* vga_init_no_interrupt ( vga_controller_dev* vga, int buffer_location);

int vga_stop ( vga_controller_dev* vga );

int vga_merge_colors(int red, int green, int blue);

unsigned short vga_color_convert24_16(char* color24);

int vga_color_convert16_24(unsigned short color16, char* color24);

int vga_copy_line_to_frame_buffer( int x, int y, char* buffer, int num_pixels, int source_color_depth, vga_frame_buffer_struct* vga_frame_buffer );

int vga_print_string(int horiz_offset, int vert_offset, int color, char *font, vga_frame_buffer_struct* vga_frame_buffer, char string[]);

int vga_scroll_string(vga_text_scroll_struct* scroll, vga_frame_buffer_struct* vga_frame_buffer);

vga_text_scroll_struct* vga_scroll_string_init(int hbegin, int vbegin, int hend, int f_color, int b_color, char* font, int ms_delay, char *string);

void vga_scroll_string_quit(vga_text_scroll_struct* scroll);

int vga_move_block(int xbegin, int ybegin, int xend, int yend, int x_distance, int y_distance, int backfill_color, vga_frame_buffer_struct* vga_frame_buffer);

int vga_print_char (int horiz_offset, int vert_offset, int color, char character, char *font, vga_frame_buffer_struct* vga_frame_buffer);

void vga_draw_line(int horiz_start, int vert_start, int horiz_end, int vert_end, int width, int color, vga_frame_buffer_struct* vga_frame_buffer);

void vga_set_pixel(int horiz, int vert, unsigned int color, vga_frame_buffer_struct* vga_frame_buffer);

short vga_get_pixel(int horiz, int vert, vga_frame_buffer_struct* vga_frame_buffer);

int vga_draw_circle(int Hcenter, int Vcenter, int radius, int color, char fill, vga_frame_buffer_struct* vga_frame_buffer);
void vga_circle_points(int cx, int cy, int x, int y, int color, char fill, vga_frame_buffer_struct* vga_frame_buffer);

int vga_draw_box (int horiz_start, int vert_start, int horiz_end, int vert_end, int color, int fill, vga_frame_buffer_struct* vga_frame_buffer);

void vga_paint_block (int Hstart, int Vstart, int Hend, int Vend, int color, vga_frame_buffer_struct* vga_frame_buffer);

void vga_draw_horiz_line (int Hstart, int Hend, int V, int color, vga_frame_buffer_struct* vga_frame_buffer);

void load_bmp(char *file, bitmap_struct *b);

void fskip(FILE *fp, int num_bytes);

void draw_transparent_bitmap(bitmap_struct *bmp,int x,int y, vga_frame_buffer_struct* vga_frame_buffer);

void draw_bitmap(bitmap_struct *bmp,int x,int y, vga_frame_buffer_struct* vga_frame_buffer);

inline int max3( int a, int b, int c );

inline int min3( int a, int b, int c );

int max_diff3(int a, int b, int c);

inline void vga_put_pixel_in_span_map( int x, int y, int *span_array );

void vga_bres_scan_edges( int x1, int y1, int x2, int y2, int *span_array);

void vga_draw_triangle(triangle_struct* tri, vga_frame_buffer_struct* vga_frame_buffer);

int vga_flip_frame_buffers( vga_frame_buffer_struct* vga_frame_buffer );

inline void vga_clear_screen (vga_frame_buffer_struct* vga_frame_buffer, char color);

//Color Definitions

#define ALICEBLUE_16            0xF7DF
#define ANTIQUEWHITE_16         0xFF5A
#define AQUA_16                 0x07DF
#define AQUAMARINE_16           0x7FDA
#define AZURE_16                0xF7DF
#define BEIGE_16                0xF79B
#define BISQUE_16               0xFF18
#define BLACK_16                0x0000
#define BLANCHEDALMOND_16       0xFF59
#define BLUE_16                 0x001F
#define BLUEVIOLET_16           0x895C
#define BROWN_16                0xA145
#define BURLYWOOD_16            0xDDD0
#define CADETBLUE_16            0x5CD4
#define CHARTREUSE_16           0x7FC0
#define CHOCOLATE_16            0xD343
#define CORAL_16                0xFBCA
#define CORNFLOWERBLUE_16       0x649D
#define CORNSILK_16             0xFFDB
#define CRIMSON_16              0xD887
#define CYAN_16                 0x07DF
#define DARKBLUE_16             0x0011
#define DARKCYAN_16             0x0451
#define DARKGOLDENROD_16        0xBC01
#define DARKGRAY_16             0xAD55
#define DARKGREEN_16            0x0300
#define DARKKHAKI_16            0xBD8D
#define DARKMAGENTA_16          0x8811
#define DARKOLIVEGREEN_16       0x5345
#define DARKORANGE_16           0xFC40
#define DARKORCHID_16           0x9999
#define DARKRED_16              0x8800
#define DARKSALMON_16           0xEC8F
#define DARKSEAGREEN_16         0x8DD1
#define DARKSLATEBLUE_16        0x49D1
#define DARKSLATEGRAY_16        0x2A49
#define DARKTURQUOISE_16        0x065A
#define DARKVIOLET_16           0x901A
#define DEEPPINK_16             0xF892
#define DEEPSKYBLUE_16          0x05DF
#define DIMGRAY_16              0x6B4D
#define DODGERBLUE_16           0x1C9F
#define FELDSPAR_16             0xD48E

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久精品| 东方aⅴ免费观看久久av| 精品嫩草影院久久| 不卡电影免费在线播放一区| 亚洲第一成年网| 中文字幕第一区二区| 91精品视频网| 99re亚洲国产精品| 黄色小说综合网站| 亚洲bdsm女犯bdsm网站| 中文字幕亚洲在| 久久久久久久久久看片| 欧美高清性hdvideosex| 91免费看片在线观看| 国产乱码精品一区二区三区忘忧草| 亚洲一区二区三区四区五区黄| 日本一区二区三区四区| 日韩精品一区国产麻豆| 欧美亚洲动漫制服丝袜| 成人国产精品免费观看动漫| 国产一区二区三区四区五区入口 | 国产精品久久久久四虎| 欧美xxxxx牲另类人与| 欧美在线|欧美| 91性感美女视频| 粉嫩av一区二区三区在线播放| 免费不卡在线视频| 日日骚欧美日韩| 一二三区精品视频| 亚洲人成精品久久久久久 | 日韩亚洲欧美在线| 欧美精品少妇一区二区三区| 91福利精品视频| 91片在线免费观看| 99精品视频一区二区| 成人国产免费视频| 麻豆精品久久久| 免费一级欧美片在线观看| 亚洲国产成人精品视频| 亚洲国产综合人成综合网站| 夜夜爽夜夜爽精品视频| 亚洲精品一二三| 亚洲精品日产精品乱码不卡| 亚洲男人的天堂在线观看| 国产精品视频一二三区| 国产精品国产精品国产专区不蜜 | 51精品视频一区二区三区| 在线电影院国产精品| 欧美日韩精品专区| 欧美日韩一级二级| 欧美精品电影在线播放| 91精品国产色综合久久ai换脸| 在线成人小视频| 欧美一级爆毛片| 久久综合色一综合色88| 国产日本欧洲亚洲| 国产精品美女久久久久久久久| 国产精品色眯眯| 亚洲欧洲综合另类在线| 亚洲第一会所有码转帖| 日本视频中文字幕一区二区三区| 美国十次了思思久久精品导航| 激情五月婷婷综合| 成人在线综合网| 在线观看网站黄不卡| 欧美丰满美乳xxx高潮www| 精品免费99久久| 国产精品另类一区| 亚洲国产日产av| 94色蜜桃网一区二区三区| 欧美日韩一级片在线观看| 欧美va亚洲va| 最新高清无码专区| 性久久久久久久| 国产麻豆一精品一av一免费| 91色婷婷久久久久合中文| 在线播放亚洲一区| 欧美国产禁国产网站cc| 亚洲国产一区二区在线播放| 精品午夜久久福利影院| 91在线国产福利| 日韩欧美久久久| 中文字幕色av一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 国产一区二区视频在线| 欧美最猛黑人xxxxx猛交| 精品国产一区二区三区av性色| 国产精品国产三级国产aⅴ入口| 天堂久久一区二区三区| 丁香桃色午夜亚洲一区二区三区| 欧美性猛交xxxx黑人交| 国产夜色精品一区二区av| 一区二区三区视频在线看| 久久精品国产秦先生| 99re这里只有精品首页| 欧美xxxx老人做受| 亚洲午夜av在线| 国产不卡一区视频| 欧美一三区三区四区免费在线看| 中文乱码免费一区二区| 日韩高清在线电影| 色综合天天综合网天天狠天天| 日韩视频在线永久播放| 一区av在线播放| 懂色中文一区二区在线播放| 91精品国产色综合久久| 一级精品视频在线观看宜春院 | 91久久国产综合久久| 久久丝袜美腿综合| 日韩国产高清影视| 色综合色狠狠天天综合色| 久久一留热品黄| 蜜臀av一区二区在线免费观看 | 欧美精品一区二区精品网| 亚洲成av人片一区二区三区| 99久久夜色精品国产网站| 精品国产亚洲在线| 亚洲成人免费影院| 日本乱码高清不卡字幕| 成人免费视频国产在线观看| 精品国产亚洲在线| 在线不卡免费av| 一区二区不卡在线视频 午夜欧美不卡在| 国产激情视频一区二区三区欧美| 欧美日韩aaaaaa| 亚洲妇女屁股眼交7| 一本在线高清不卡dvd| 国产精品久久久久影院色老大| 国产高清成人在线| 久久蜜臀中文字幕| 极品少妇一区二区三区精品视频| 欧美一级日韩免费不卡| 天天操天天色综合| 91.成人天堂一区| 日韩精品五月天| 欧美一级黄色大片| 麻豆成人av在线| 欧美mv和日韩mv的网站| 九九国产精品视频| 久久久久亚洲蜜桃| 国产精品亚洲视频| 国产精品视频你懂的| 成人高清视频在线| 中文字幕制服丝袜一区二区三区 | 国产69精品一区二区亚洲孕妇| 亚洲精品在线一区二区| 激情久久五月天| 久久久久99精品一区| 国产传媒久久文化传媒| 中文字幕欧美区| 一本大道久久精品懂色aⅴ| 亚洲精品国产第一综合99久久| 日本电影欧美片| 午夜电影一区二区三区| 欧美一区二区三区小说| 狠狠v欧美v日韩v亚洲ⅴ| 国产丝袜在线精品| 99国产精品国产精品毛片| 亚洲一区二区三区视频在线| 6080午夜不卡| 国产一区二三区| 亚洲人妖av一区二区| 欧美日韩一级二级| 久久不见久久见免费视频7| 久久精品日产第一区二区三区高清版| 成人伦理片在线| 一区二区在线观看免费| 欧美高清精品3d| 国产a级毛片一区| 一区二区三区高清| 欧美一区日本一区韩国一区| 国产一区二区三区免费观看| 自拍偷拍国产精品| 欧美一区二区三区免费观看视频| 国产精品一二三四五| 蜜臀va亚洲va欧美va天堂| 国产校园另类小说区| 欧美午夜精品电影| 国产一区二区三区免费观看| 亚洲色图另类专区| 日韩欧美成人午夜| 99久久精品国产导航| 天天综合网天天综合色| 亚洲国产精品精华液ab| 精品1区2区3区| 成人自拍视频在线观看| 日韩极品在线观看| 国产精品久久久久久久裸模| 欧美一区二区三区公司| 成人av手机在线观看| 午夜婷婷国产麻豆精品| 国产精品美女久久久久久久网站| 欧美日韩在线播放| 成人精品小蝌蚪| 琪琪久久久久日韩精品| 亚洲日本乱码在线观看| 久久噜噜亚洲综合| 欧美久久久久久久久久| 99视频精品在线| 国产一本一道久久香蕉|