⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svga.h

📁 VESA 图形编程的汇编子程序库
💻 H
字号:
/****************************************************************************
*
*                            SuperVGA Test Kit
*
*                   Copyright (C) 1993 SciTech Software
*                           All rights reserved.
*
* Filename:     $RCSfile: svga.h $
* Version:      $Revision: 1.2 $
*
* Language:     ANSI C
* Environment:  IBM PC (MS DOS)
*
* Description:  Header file for the small SuperVGA test library.
*               This library provides a simplified interface to SuperVGA
*               cards that have a VESA VBE (or with the Universal VESA
*               VBE installed). This library requires at least a
*               VBE 1.2 interface to function correctly.
*
*               NOTE: This library only works in the large model.
*
* $Id: svga.h 1.2 1993/10/22 08:58:40 kjb release $
*
****************************************************************************/

#ifndef __SVGA_H
#define __SVGA_H

#ifndef __DEBUG_H
#include "debug.h"
#endif

/*--------------------------- Global Variables ----------------------------*/

extern  int     maxx,maxy;          /* Maximum coordinate values        */
extern	long	maxcolor,defcolor;	/* Maximum and default colors		*/
extern  int     maxpage;            /* Maximum video page number        */
extern  int     bytesperline;       /* Bytes in a logical scanline      */
extern  bool    twobanks;           /* True if separate banks available */
extern  bool    extendedflipping;   /* True if extended page flipping   */
extern  bool    widedac;            /* True if wide dac is supported    */
extern  int     memory;             /* Memory on board in k             */
extern  short   modeList[];         /* List of available video modes    */
extern  char    OEMString[];        /* OEM string from VBE              */

typedef enum {
    memPL       = 3,                /* Planar memory model              */
    memPK       = 4,                /* Packed pixel memory model        */
    memRGB      = 6,                /* Direct color RGB memory model    */
    memYUV      = 7,                /* Direct color YUV memory model    */
    } memModels;

/*------------------------- Function Prototypes ---------------------------*/

#ifdef  __cplusplus
extern "C" {            /* Use "C" linkage when in C++ mode */
#endif

/* In svga.c */

int initSuperVGA(void);
bool setSuperVGAMode(int mode);
void restoreMode(void);
bool getSuperVGAModeInfo(int mode,int *xres,int *yres,int *bytesperline,
    int *bitsperpixel,int *memmodel,int *maxpage,long *pagesize);
void setSuperVGADisplayStart(int x,int y);
long rgbColor(uchar r,uchar g,uchar b);
void line(int x1,int y1,int x2,int y2,long color);
void writeText(int x,int y,uchar *str,long color);

/* In svga.asm */

void setActivePage(int page);
void setVisualPage(int page);
void setBank(int bank);
void setReadBank(int bank);
void *getFontVec(void);

extern void (*putPixel)(int x,int y,long color);
extern void (*clear)(void);

#ifdef  __cplusplus
}                       /* End of "C" linkage for C++   */
#endif

#endif  /* __SVGA_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -