mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-30 17:01:08 +02:00
yaft/fb/common: remove cmap and wallpaper stuff
Origin commit data
------------------
Commit: 6dfe9411fa
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2018-01-15 (Mon, 15 Jan 2018)
This commit is contained in:
committed by
vanhofen
parent
b6ed46fb52
commit
676ab3e18e
@@ -13,11 +13,12 @@ enum fb_visual_t {
|
|||||||
YAFT_FB_VISUAL_UNKNOWN,
|
YAFT_FB_VISUAL_UNKNOWN,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct bitfield_t {
|
||||||
|
int length;
|
||||||
|
int offset;
|
||||||
|
};
|
||||||
struct fb_info_t {
|
struct fb_info_t {
|
||||||
struct bitfield_t {
|
struct bitfield_t red, green, blue;
|
||||||
int length;
|
|
||||||
int offset;
|
|
||||||
} red, green, blue;
|
|
||||||
int width, height; /* display resolution */
|
int width, height; /* display resolution */
|
||||||
long screen_size; /* screen data size (byte) */
|
long screen_size; /* screen data size (byte) */
|
||||||
int line_length; /* line length (byte) */
|
int line_length; /* line length (byte) */
|
||||||
@@ -29,7 +30,9 @@ struct fb_info_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* os dependent typedef/include */
|
/* os dependent typedef/include */
|
||||||
#if defined(__linux__)
|
#if 1
|
||||||
|
#include "neutrinofb.h"
|
||||||
|
#elif defined(__linux__)
|
||||||
#include "linux.h"
|
#include "linux.h"
|
||||||
#elif defined(__FreeBSD__)
|
#elif defined(__FreeBSD__)
|
||||||
#include "freebsd.h"
|
#include "freebsd.h"
|
||||||
@@ -43,12 +46,13 @@ struct framebuffer_t {
|
|||||||
int fd; /* file descriptor of framebuffer */
|
int fd; /* file descriptor of framebuffer */
|
||||||
uint8_t *fp; /* pointer of framebuffer */
|
uint8_t *fp; /* pointer of framebuffer */
|
||||||
uint8_t *buf; /* copy of framebuffer */
|
uint8_t *buf; /* copy of framebuffer */
|
||||||
uint8_t *wall; /* buffer for wallpaper */
|
// uint8_t *wall; /* buffer for wallpaper */
|
||||||
uint32_t real_palette[COLORS]; /* hardware specific color palette */
|
uint32_t real_palette[COLORS]; /* hardware specific color palette */
|
||||||
struct fb_info_t info;
|
struct fb_info_t info;
|
||||||
cmap_t *cmap, *cmap_orig;
|
// cmap_t *cmap, *cmap_orig;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if 0
|
||||||
/* common framebuffer functions */
|
/* common framebuffer functions */
|
||||||
uint8_t *load_wallpaper(uint8_t *fp, long screen_size)
|
uint8_t *load_wallpaper(uint8_t *fp, long screen_size)
|
||||||
{
|
{
|
||||||
@@ -152,6 +156,7 @@ bool cmap_init(int fd, struct fb_info_t *info, cmap_t *cmap, int colors, int len
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline uint32_t color2pixel(struct fb_info_t *info, uint32_t color)
|
static inline uint32_t color2pixel(struct fb_info_t *info, uint32_t color)
|
||||||
{
|
{
|
||||||
@@ -170,7 +175,7 @@ static inline uint32_t color2pixel(struct fb_info_t *info, uint32_t color)
|
|||||||
+ (b << info->blue.offset);
|
+ (b << info->blue.offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
bool init_truecolor(struct fb_info_t *info, cmap_t **cmap, cmap_t **cmap_orig)
|
bool init_truecolor(struct fb_info_t *info, cmap_t **cmap, cmap_t **cmap_orig)
|
||||||
{
|
{
|
||||||
switch(info->bits_per_pixel) {
|
switch(info->bits_per_pixel) {
|
||||||
@@ -258,6 +263,7 @@ cmap_init_err:
|
|||||||
cmap_die(*cmap_orig);
|
cmap_die(*cmap_orig);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void fb_print_info(struct fb_info_t *info)
|
void fb_print_info(struct fb_info_t *info)
|
||||||
{
|
{
|
||||||
@@ -307,8 +313,10 @@ bool fb_init(struct framebuffer_t *fb)
|
|||||||
fb->fp = (uint8_t *) emmap(0, fb->info.screen_size,
|
fb->fp = (uint8_t *) emmap(0, fb->info.screen_size,
|
||||||
PROT_WRITE | PROT_READ, MAP_SHARED, fb->fd, 0);
|
PROT_WRITE | PROT_READ, MAP_SHARED, fb->fd, 0);
|
||||||
fb->buf = (uint8_t *) ecalloc(1, fb->info.screen_size);
|
fb->buf = (uint8_t *) ecalloc(1, fb->info.screen_size);
|
||||||
|
#if 0
|
||||||
fb->wall = ((env = getenv("YAFT")) && strstr(env, "wall")) ?
|
fb->wall = ((env = getenv("YAFT")) && strstr(env, "wall")) ?
|
||||||
load_wallpaper(fb->fp, fb->info.screen_size): NULL;
|
load_wallpaper(fb->fp, fb->info.screen_size): NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* error check */
|
/* error check */
|
||||||
if (fb->fp == MAP_FAILED || !fb->buf)
|
if (fb->fp == MAP_FAILED || !fb->buf)
|
||||||
@@ -321,12 +329,14 @@ bool fb_init(struct framebuffer_t *fb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (fb->info.visual == YAFT_FB_VISUAL_TRUECOLOR) {
|
if (fb->info.visual == YAFT_FB_VISUAL_TRUECOLOR) {
|
||||||
|
#if 0
|
||||||
if (!init_truecolor(&fb->info, &fb->cmap, &fb->cmap_orig))
|
if (!init_truecolor(&fb->info, &fb->cmap, &fb->cmap_orig))
|
||||||
goto fb_init_failed;
|
goto fb_init_failed;
|
||||||
} else if (fb->info.visual == YAFT_FB_VISUAL_DIRECTCOLOR
|
} else if (fb->info.visual == YAFT_FB_VISUAL_DIRECTCOLOR
|
||||||
|| fb->info.visual == YAFT_FB_VISUAL_PSEUDOCOLOR) {
|
|| fb->info.visual == YAFT_FB_VISUAL_PSEUDOCOLOR) {
|
||||||
if (!init_indexcolor(fb->fd, &fb->info, &fb->cmap, &fb->cmap_orig))
|
if (!init_indexcolor(fb->fd, &fb->info, &fb->cmap, &fb->cmap_orig))
|
||||||
goto fb_init_failed;
|
goto fb_init_failed;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
/* TODO: support mono visual */
|
/* TODO: support mono visual */
|
||||||
logging(ERROR, "unsupport framebuffer visual\n");
|
logging(ERROR, "unsupport framebuffer visual\n");
|
||||||
@@ -342,7 +352,9 @@ bool fb_init(struct framebuffer_t *fb)
|
|||||||
fb_init_failed:
|
fb_init_failed:
|
||||||
allocate_failed:
|
allocate_failed:
|
||||||
free(fb->buf);
|
free(fb->buf);
|
||||||
|
#if 0
|
||||||
free(fb->wall);
|
free(fb->wall);
|
||||||
|
#endif
|
||||||
if (fb->fp != MAP_FAILED)
|
if (fb->fp != MAP_FAILED)
|
||||||
emunmap(fb->fp, fb->info.screen_size);
|
emunmap(fb->fp, fb->info.screen_size);
|
||||||
set_fbinfo_failed:
|
set_fbinfo_failed:
|
||||||
@@ -352,12 +364,14 @@ set_fbinfo_failed:
|
|||||||
|
|
||||||
void fb_die(struct framebuffer_t *fb)
|
void fb_die(struct framebuffer_t *fb)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
cmap_die(fb->cmap);
|
cmap_die(fb->cmap);
|
||||||
if (fb->cmap_orig) {
|
if (fb->cmap_orig) {
|
||||||
put_cmap(fb->fd, fb->cmap_orig);
|
put_cmap(fb->fd, fb->cmap_orig);
|
||||||
cmap_die(fb->cmap_orig);
|
cmap_die(fb->cmap_orig);
|
||||||
}
|
}
|
||||||
free(fb->wall);
|
free(fb->wall);
|
||||||
|
#endif
|
||||||
free(fb->buf);
|
free(fb->buf);
|
||||||
emunmap(fb->fp, fb->info.screen_size);
|
emunmap(fb->fp, fb->info.screen_size);
|
||||||
eclose(fb->fd);
|
eclose(fb->fd);
|
||||||
@@ -432,8 +446,10 @@ static inline void draw_line(struct framebuffer_t *fb, struct terminal_t *term,
|
|||||||
/* set color palette */
|
/* set color palette */
|
||||||
if (cellp->glyphp->bitmap[h] & (0x01 << (bdf_padding + w)))
|
if (cellp->glyphp->bitmap[h] & (0x01 << (bdf_padding + w)))
|
||||||
pixel = fb->real_palette[color_pair.fg];
|
pixel = fb->real_palette[color_pair.fg];
|
||||||
|
#if 0
|
||||||
else if (fb->wall && color_pair.bg == DEFAULT_BG) /* wallpaper */
|
else if (fb->wall && color_pair.bg == DEFAULT_BG) /* wallpaper */
|
||||||
memcpy(&pixel, fb->wall + pos, fb->info.bytes_per_pixel);
|
memcpy(&pixel, fb->wall + pos, fb->info.bytes_per_pixel);
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
pixel = fb->real_palette[color_pair.bg];
|
pixel = fb->real_palette[color_pair.bg];
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user