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

📄 device.c

📁 microwindows上的修改的GUI
💻 C
字号:
/*
 *  Screen Device Driver
 *
 *
 *  COPYRIGHT (c) 2001 - 2010.
 *  emTech System Corporation.
 *
 *  The license and distribution terms for this file may be
 *  found in found in the file LICENSE.
 */

/*	Huangf emcore@263.net
 */
 
#include "emGUI.h"
#include "lcd.h"

#include <stdlib.h>

static PSD scr_open(
	PSD psd
)
{
	return psd;
}

static void scr_close(
	PSD psd
)
{
}

SCREENDEVICE scrdev = {
	scr_open,
	scr_close,
	(void *)_lcd_putpixel,
	(void *)_lcd_getpixel,
	(void *)_lcd_hline,
	(void *)_lcd_vline,
	(void *)_lcd_fillrect,
	(void *)_lcd_bitmap,
	(void *)_lcd_switchbase,
	(void *)_lcd_savescreen,
	(void *)_lcd_restorescreen,
	(void *)_lcd_calcmemgcsize
};

int ScreenOpen()
{
	if (scrdev.Open(&scrdev) == NULL){
		return FALSE;
	}

	return TRUE;
}

void ScreenClose()
{
	scrdev.Close(&scrdev);
}

void DrawPixel(
	unsigned short *base,
	int	x,
	int	y,
	unsigned char c,
	int mode
)
{
	int xorm = 0;
	
	if (mode == GR_XOR){
		xorm = 1;
	}
	scrdev.DrawPixel(
		base,
		x,
		y,
		c,
		xorm
	);
}		

int	ReadPixel(
	unsigned short *base,
	int x,
	int y
)
{
	return scrdev.ReadPixel(
		base,
		x,
		y
	);
	
}

int	DrawHorzLine(
	unsigned short *base,
	int x1,
	int y,
	int x2,
	unsigned char c,
	int mode
)
{
	int xorm = 0;
	
	if (mode == GR_XOR){
		xorm = 1;
	}

	return scrdev.DrawHorzLine(
		base,
		x1,
		y,
		x2,
		c,
		mode
	);
}

int DrawVertLine(
	unsigned short *base,
	int x,
	int y1,
	int y2,
	const char c,
	int mode
)
{
	int xorm = 0;

	if (mode == GR_XOR){
		xorm = 1;
	}

	return scrdev.DrawVertLine(
		base,
		x,
		y1,
		y2,
		c,
		mode
	);
}

int FillRect(
	unsigned short *base,
	int x1,
	int y1,
	int x2, 
	int y2,
	int c
)
{
	return scrdev.FillRect(
		base,
		x1,
		y1,
		x2,
		y2,
		c
	);
}

int DrawBitmap(
	unsigned short *base,
	int x0,
	int y0,
	int width,
	int height,
	unsigned char *pcc,
	int mode
)
{
	int xorm = 0;

	if (mode == GR_XOR)
		xorm = 1;
	return scrdev.DrawBitmap(
		base,
		x0,
		y0,
		width,
		height,
		pcc,
		mode
	);
}

void SwitchDrawArea(void *drawArea)
{
	scrdev.SwitchDrawArea(drawArea);
}

void SaveDrawArea(
	void *drawarea,
	void *memory,
	int	 l,
	int  t,
	int  r,
	int  b
)
{
	scrdev.SaveDrawArea(
		drawarea,
		memory,
		l,
		t,
		r,
		b
	);
}

void RestoreDrawArea(
	void *drawarea,
	void *memory,
	int	 l,
	int  t,
	int  r,
	int  b
)
{
	scrdev.RestoreDrawArea(
		drawarea,
		memory,
		l,
		t,
		r,
		b
	);
}

int CalcMemGCSize(
	int l,
	int t,
	int r,
	int b
)
{
	return scrdev.CalcMemGCSize(
		l,
		t,
		r,
		b
	);
}

⌨️ 快捷键说明

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