spatny priklad fbcon?
Michl Ladislav
xmichl03 na stud.fee.vutbr.cz
Středa Březen 28 18:28:49 CEST 2001
dobry vecer,
dopisuju funkci con_font_op do newport_con.c (uz chodi, ale font je zatim
spolecny pro vsechny konzole) a chtel jsem vzit jako priklad fbcon.c
(jadro 2.4.2) vsimnete si podtrzeneho a pouziti promenne h.
static inline int fbcon_copy_font(int unit, struct console_font_op *op)
{
struct display *od, *p = &fb_display[unit];
int h = op->height;
^^^^^^^^^^^^^^^^^^^
if (h < 0 || !vc_cons_allocated( h ))
return -ENOTTY;
if (h == unit)
return 0; /* nothing to do */
od = &fb_display[h];
if (od->fontdata == p->fontdata)
return 0; /* already the same font... */
op->width = fontwidth(od);
op->height = fontheight(od);
return fbcon_do_set_font(unit, op, od->fontdata, od->userfont);
}
static inline int fbcon_set_font(int unit, struct console_font_op *op)
{
int w = op->width;
int h = op->height;
^^^^^^^^^^^^^^^^^^^
int size = h;
int i, k;
u8 *new_data, *data = op->data, *p;
[snip]
if (w <= 8) {
for (i = 0; i < op->charcount; i++) {
memcpy(p, data, h);
data += 32;
p += h;
^^^^^^^ - tady se s h pracuje jako s vyskou fontu
}
}
dost dobre tomu nerozumim, op->height by mela byt vyska fontu, fb na i386
nepouzivam a nikdy jsem to nezkousel, ale ty zdrojaky vypadaji odpohledu
divne. muze mi tuhle nesrovnalost nekdo vysvetlit? (unit je cislo
virtualni konzole pro kterou se operace provadi)
diky,
ladis
Další informace o konferenci Linux