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

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

?? vga_controller.h

?? altera的ip核
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __VGA_CONTROLLER_H__
#define __VGA_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 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 VGA_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 VGA_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
#define FIREBRICK_16            0xB104
#define FLORALWHITE_16          0xFFDE
#define FORESTGREEN_16          0x2444
#define FUCHSIA_16              0xF81F
#define GAINSBORO_16            0xDEDB

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久影院| 高清国产一区二区| 亚洲日本va在线观看| 国产视频一区二区三区在线观看| 欧美精选一区二区| 欧美羞羞免费网站| 色综合久久久久久久久久久| 成人av中文字幕| 成人av电影免费在线播放| 懂色av一区二区三区免费看| 成人午夜在线播放| 大白屁股一区二区视频| 成人精品视频一区二区三区尤物| 成人一区二区三区| 不卡大黄网站免费看| 不卡av免费在线观看| 一本久久精品一区二区| 欧美午夜不卡在线观看免费| 欧美吻胸吃奶大尺度电影| 欧美精品1区2区3区| 日韩欧美一级片| 久久人人爽爽爽人久久久| 中文乱码免费一区二区| 亚洲欧美另类图片小说| 亚洲成av人片在线| 免费不卡在线视频| 国产精品一区二区三区四区| 不卡视频一二三| 欧美日韩国产色站一区二区三区| 日韩一区二区三区电影| 中文字幕精品综合| 亚洲最大色网站| 久久99精品国产.久久久久久| 国产精品亚洲综合一区在线观看| 国产精品一区二区91| 一本大道久久a久久精二百| 884aa四虎影成人精品一区| 欧美本精品男人aⅴ天堂| 国产精品伦理在线| 日韩精品久久理论片| 成人性生交大合| 8v天堂国产在线一区二区| 中文字幕av一区二区三区高 | 国产精品久久久久久久久搜平片| 亚洲精品大片www| 久久99精品国产.久久久久久| 色综合色狠狠天天综合色| 精品国产精品一区二区夜夜嗨| 国产精品美日韩| 日本va欧美va精品发布| 91丨九色丨国产丨porny| 亚洲精品在线免费播放| 亚洲一二三专区| 成人综合激情网| 欧美xxxx老人做受| 亚洲国产成人高清精品| 成人国产精品免费观看| 欧美成人a∨高清免费观看| 亚洲综合视频在线观看| 成人动漫中文字幕| 久久这里只有精品首页| 日本午夜精品视频在线观看 | 奇米亚洲午夜久久精品| 91在线精品一区二区三区| 久久欧美一区二区| 久久黄色级2电影| 7777精品久久久大香线蕉| 亚洲精品少妇30p| 成人精品小蝌蚪| 中文字幕高清一区| 国产精品影视在线| 久久先锋资源网| 久久精品国产99| 日韩一区二区视频| 视频一区二区三区入口| 欧洲亚洲精品在线| 亚洲一区二区四区蜜桃| 色偷偷久久一区二区三区| 国产精品乱码妇女bbbb| 成人av在线观| 中文字幕制服丝袜成人av| 9色porny自拍视频一区二区| 国产精品女同一区二区三区| 国产精品一二三在| 久久久精品人体av艺术| 国产不卡高清在线观看视频| 国产精品丝袜久久久久久app| 成人自拍视频在线| 亚洲欧洲av色图| 色综合天天综合| 亚洲一级在线观看| 欧美一区二区网站| 国产综合色精品一区二区三区| 奇米四色…亚洲| 成人丝袜视频网| 日韩美女精品在线| 在线精品亚洲一区二区不卡| 亚洲国产精品久久人人爱| 91麻豆精品91久久久久同性| 久久99九九99精品| 中文字幕av一区二区三区高 | 日韩电影在线一区二区| 欧美一区二区在线播放| 亚洲大片精品永久免费| 欧美日韩情趣电影| 美女视频黄久久| 亚洲国产精品黑人久久久| 成人综合在线观看| 天天影视色香欲综合网老头| 欧美成人猛片aaaaaaa| 国产成人自拍在线| 亚洲欧美区自拍先锋| 91精品国产高清一区二区三区蜜臀| 美女视频一区在线观看| 国产精品丝袜在线| 91精品国产综合久久久久久久 | 五月天婷婷综合| 亚洲精品在线一区二区| 99精品视频在线观看| 无码av免费一区二区三区试看| 精品国产百合女同互慰| 色欧美片视频在线观看在线视频| 水野朝阳av一区二区三区| 日韩欧美一卡二卡| 色吊一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 久久美女高清视频| 欧美亚洲综合一区| 国产乱妇无码大片在线观看| 亚洲综合精品久久| 国产日产欧美一区二区视频| 91久久国产综合久久| 国产乱人伦偷精品视频免下载 | 7777精品伊人久久久大香线蕉超级流畅 | 欧美一级黄色大片| av欧美精品.com| 九色porny丨国产精品| 欧美激情在线看| 欧美一区二区久久| 91极品视觉盛宴| av不卡在线播放| 国产精品 欧美精品| 日本在线不卡视频| 亚洲一区二区免费视频| 综合激情成人伊人| 国产欧美视频一区二区| 欧美成人video| 欧美日韩精品一区二区| 91视频一区二区| av不卡在线观看| 暴力调教一区二区三区| 国产精品99久久久久| 久久精品国内一区二区三区| 五月天一区二区| 亚洲一区二区在线播放相泽| 中文字幕中文字幕在线一区| 国产精品少妇自拍| 国产视频一区二区在线| 国产香蕉久久精品综合网| 日韩精品一区二区三区在线观看 | 麻豆精品蜜桃视频网站| 日本欧美一区二区在线观看| 亚洲一卡二卡三卡四卡五卡| 亚洲激情av在线| 亚洲欧美日韩一区二区| 亚洲免费观看在线视频| 亚洲婷婷在线视频| 一区二区视频免费在线观看| 亚洲激情在线播放| 亚洲二区在线视频| 天堂蜜桃一区二区三区 | 日韩精品自拍偷拍| 精品国免费一区二区三区| 精品国产一区二区亚洲人成毛片| 欧美变态凌虐bdsm| 26uuu精品一区二区 | 99re视频精品| 色婷婷激情久久| 欧美日韩成人综合天天影院| 91麻豆精品国产91久久久使用方法| 欧美一区二区观看视频| 精品成人私密视频| 国产精品亲子乱子伦xxxx裸| 一区二区高清视频在线观看| 性久久久久久久| 极品尤物av久久免费看| 成人高清视频免费观看| 91久久精品日日躁夜夜躁欧美| 欧美一区二区三区免费观看视频| 久久免费看少妇高潮| 樱桃国产成人精品视频| 免费观看91视频大全| 国产成人午夜精品影院观看视频 | 一区二区三区在线视频观看58| 亚洲一区二区三区四区在线免费观看| 蜜桃精品在线观看| 99国产精品99久久久久久| 欧美日韩精品福利| 日本一区二区三区在线不卡| 亚洲一区二区精品视频|