コード例 #1
0
ファイル: lcd_3.c プロジェクト: sdwuyawen/LinuxDirvers
// 清屏
void lcd_clear_screen(int color)
{
#if 0
	int i, j;
	for (i = 0; i < ROW; i++)
	{
		for (j = 0; j < COL; j++)
		{
			lcd_draw_pixel(i, j, color);
		}
	}
#endif

#if 0
	int i;
	unsigned short * pixel = (unsigned short  *)FRAME_BUFFER;

	for (i = 0; i < ROW * COL; i++)
	{
		*(pixel + i) = color;
	}
#endif

	int i;
	unsigned long * pixel = (unsigned long  *)FRAME_BUFFER;

	color = color | (color << 16);
	for (i = 0; i < ROW * COL / 2; i++)
	{
		*(pixel + i) = color;
	}
}
コード例 #2
0
ファイル: lcd.c プロジェクト: sunqi08201329/sunqi0207
void lcd_draw_hline(int row, int col1, int col2, int color)
{
	int j;
	
	for (j = col1; j <= col2; j++)
		lcd_draw_pixel(row, j, color);
}
コード例 #3
0
ファイル: lcd_3.c プロジェクト: sdwuyawen/LinuxDirvers
// 划竖线
void lcd_draw_vline(int col, int row1, int row2, int color)
{
	int i;
	// 描第i行,第col列
	for (i = row1; i <= row2; i++)
		lcd_draw_pixel(i, col, color);
}
コード例 #4
0
ファイル: lcd.c プロジェクト: 20400992/ARM-Codes
void lcd_draw_bmp(int bmp_file_addr)
{
	int i, j;
	char * p = (char *)bmp_file_addr;
	int blue, green, red;
	int color;

	// read bmp file
	// bmp file header is 54 bytes
	p += 54;
	
	for (i = 0; i < 272; i++)
		for (j = 0; j < 480; j++)
		{
			blue = *p++;
			green = *p++;
			red = *p++;
		
			color = red << 16 | green << 8 | blue << 0;
			
			lcd_draw_pixel(271-i, j, color);
		}

	return;
}		
コード例 #5
0
ファイル: lcd.c プロジェクト: HackLinux/ARM-Lessons
void lcd_clear_screen(int color)
{
	int i, j;
		
	for (i = 0; i < ROW; i++)
		for (j = 0; j < COL; j++)
			lcd_draw_pixel(i, j, color);
}
コード例 #6
0
ファイル: main.c プロジェクト: HackLinux/ARM-Lessons
int mymain(void)
{	
	char * p = (char *)BMP_ADDR;
	char red, blue, green;
	int color;
	int i, j;
	
	puts("vga init\n");
	vga_init();

	puts("lcd init\n");
	lcd_init();
	
	lcd_clear_screen(0x000000);	// black	

	puts("lcd draw line\n");
	lcd_draw_hline(100, 100, 640-100, 0xff0000);	// red
	lcd_draw_hline(200, 100, 640-100, 0x00ff00);	// green
	lcd_draw_hline(300, 100, 640-100, 0x0000ff);	// blue
	lcd_draw_hline(400, 100, 640-100, 0xffffff);	// white

	lcd_draw_vline(640/2, 50, 480-50, 0xffffff);	// white
	
	#define POS	50
	#define HALF	20
	lcd_draw_cross(POS, POS, HALF);
	lcd_draw_cross(POS, 640-POS, HALF);
	
	lcd_draw_cross(480-POS, POS, HALF);
	lcd_draw_cross(480-POS, 640-POS, HALF);
	
	//while (1);
	
	// show BMP file
		// read bmp file
	// bmp file header is 54 bytes
	p += 54;
	
	for (i = 0; i < 272; i++)
		for (j = 0; j < 480; j++)
		{
			blue = *p++;
			green = *p++;
			red = *p++;
		
			color = red << 16 | green << 8 | blue << 0;
			
			lcd_draw_pixel(272-i, j, color);
		}
	
	while (1);
	
	return 0;
}
コード例 #7
0
ファイル: lcd.c プロジェクト: 20400992/ARM-Codes
void lcd_draw_vline(int col, int row1, int row2, int color)
{
	int i;
	
	for (i = row1; i <= row2; i++)
	{
		lcd_draw_pixel(i, col, color);
	}

	return;
}
コード例 #8
0
ファイル: wb_lcd.c プロジェクト: MOBO-Platform/uboot_Webee210
void lcd_clear_screen(int color)
{
	int i, j;
		
	for (i = 0; i < (LINEVAL+1); i++)
		for (j = 0; j < (HOZVAL+1); j++)
		{
			lcd_draw_pixel(i, j, color);
		}

	return;
}
コード例 #9
0
ファイル: lcd.c プロジェクト: HackLinux/ARM-Lessons
void lcd_draw_bmp_eff2(int bmp_addr)
{
	char * p = (char *)bmp_addr;	
	int color;
	int i, j;

	// bmp file header is 54 bytes	
	p += 54;
	
	for (j = 0; j <= COL/2; j++)
		for (i = 0; i < ROW; i++)
		{
			color = get_bmpfile_color(i, j, p);
		
			lcd_draw_pixel(ROW-i, j, color);
			
			color = get_bmpfile_color(i, COL-j, p);
		
			lcd_draw_pixel(ROW-i, COL-j, color);
		}

	return;
}
コード例 #10
0
ファイル: mandel.c プロジェクト: ChuckM/libopencm3-examples
void mandel(float cx, float cy, float scale)
{
	int x, y;
	int change = 0;
	for (x = -120; x < 120; x++) {
		for (y = -160; y < 160; y++) {
			int i = iterate(cx + x*scale, cy + y*scale);
			if (i >= max_iter) {
				i = max_iter;
			} else {
				change++;
			}
			lcd_draw_pixel(x+120, y+160, lcd_colors[i]);
		}
	}
}
コード例 #11
0
ファイル: lcd.c プロジェクト: HackLinux/ARM-Lessons
void lcd_draw_bmp_eff3(int bmp_addr)
{
	char * p = (char *)bmp_addr;	
	int color;
	int i, j;
	double k = 0;
	
	// bmp file header is 54 bytes	
	p += 54;
	
	//for (k = 0; k < 1; k += 0.1)
	k = 0.5;
		for (i = ROW/2 - ROW*k/2; i < ROW/2 + ROW*k/2; i++)
			for (j = COL/2-COL*k/2; j < COL/2 + COL*k/2; j++)
			{
				color = get_bmpfile_color(i, j, p);
			
				lcd_draw_pixel(ROW-i, j, color);
			}

	return;
}
コード例 #12
0
ファイル: main.c プロジェクト: 20400992/ARM-Codes
int mymain(void)
{	
	char * p = (char *)BMP_ADDR;
	char red, blue, green;
	int color;
	int i, j;
	
	vga_init();

	lcd_init();
	
	lcd_clear_screen(0x000000);	// black	
	
	draw_xy(0, 0, 0xff0000);
	draw_xy(0, 200, 0x00ff00);
	draw_xy(300, 0, 0x0000ff);

	for (i = -320; i < 320; i++)
		for (j = -240; j < 240; j++)
		{
			double x, y;
			int color = 0xff0000;
			
			x = (double)i / (double)150;
			y = (double)j / (double)150;
			
			color = get_fratal(x, y);
			
			draw_xy(i, j, color);
			//printf("i = %d, j = %d, color = %d \n", i, j, color);
		}
		
	while(1);
	

	lcd_draw_hline(100, 100, 640-100, 0xff0000);	// red
	lcd_draw_hline(200, 100, 640-100, 0x00ff00);	// green
	lcd_draw_hline(300, 100, 640-100, 0x0000ff);	// blue
	lcd_draw_hline(400, 100, 640-100, 0xffffff);	// white

	lcd_draw_vline(640/2, 50, 480-50, 0xffffff);	// white
	
	#define POS	50
	#define HALF	20
	lcd_draw_cross(POS, POS, HALF);
	lcd_draw_cross(POS, 640-POS, HALF);
	
	lcd_draw_cross(480-POS, POS, HALF);
	lcd_draw_cross(480-POS, 640-POS, HALF);
	
	//while (1);
	
	// show BMP file
		// read bmp file
	// bmp file header is 54 bytes
	p += 54;
	
	for (i = 0; i < 272; i++)
		for (j = 0; j < 480; j++)
		{
			blue = *p++;
			green = *p++;
			red = *p++;
		
			color = red << 16 | green << 8 | blue << 0;
			
			lcd_draw_pixel(272-i, j, color);
		}
	
	while (1);
	
	return 0;
}
コード例 #13
0
ファイル: main.c プロジェクト: 20400992/ARM-Codes
void draw_xy(int x, int y, int color)
{
	lcd_draw_pixel(480-(y+240), x+320, color);
}