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

📄 graphics.cpp.bak

📁 djgpp bt878 capture for DOS
💻 BAK
字号:
#include "graphics.h"
#include "mydefs.h"
#include <stdlib.h>

short line_clr;

void DrawHorLine(int video, int x1, int x2, int y)
{
    int i;
    int offset = y*1600 + min(x1, x2)*2;
    int dx = abs(x2-x1);
    for(i=0; i<=dx; i++)
    {
        *((short*)(video + i*2 + offset)) = line_clr;
    }
}

void DrawVerLine(int video, int x, int y1, int y2)
{
    int i;
    int offset = min(y1, y2)*1600 + x*2;
    int dy = abs(y2-y1);
    for(i=0; i<=dy; i++)
    {
        *((short*)(video + i*1600 + offset)) = line_clr;
    }
}

void DrawRect(int video, int x1, int x2, int y1, int y2)
{
    DrawHorLine(video, x1, x2, y1);
    DrawHorLine(video, x1, x2, y2);
    DrawVerLine(video, x1, y1, y2);
    DrawVerLine(video, x2, y1, y2);
}

short SetLineColor(short color)
{
    short clr = line_clr;
    line_clr = color;
    return clr;
}

void DrawFieldHorLine(int addr, int x1, int x2, int y)
{
    int i;
    int offset = y*768 + min(x1, x2)*2;
    int dx = abs(x2-x1);
    for(i=0; i<=dx; i++)
    {
        *((short*)(addr + i*2 + offset)) = line_clr;
    }
}

void DrawFieldVerLine(int addr, int x, int y1, int y2)
{
    int i;
    int offset = min(y1, y2)*768 + x*2;
    int dy = abs(y2-y1);
    for(i=0; i<=dy; i++)
    {
        *((short*)(addr + i*768 + offset)) = line_clr;
    }
}

void DrawFieldRect(int addr, int x1, int x2, int y1, int y2)
{
    DrawFieldHorLine(addr, x1, x2, y1);
    DrawFieldHorLine(addr, x1, x2, y2);
    DrawFieldVerLine(addr, x1, y1, y2);
    DrawFieldVerLine(addr, x2, y1, y2);
}

void SetBWPixel(int video, int x, int y, unsigned char value)
{
    unsigned short data;
    unsigned char temp;
    
    data = 0;
    temp = value >> 3;
    data = data | temp;
    data = data << 6;
    temp = value >> 2;
    data = data | temp;
    data = data << 5;
    temp = value >> 3;
    data = data | temp;
    
    *((short*)(video + y*1600 + x*2)) = data;
} 
    

    

⌨️ 快捷键说明

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