Instead of the fixed, static list of input devices, scan /dev/input/ for
proper event devices. A "good" input device is one that supports the
EVIOCGBIT ioctl and at least the EV_KEY event type.
This probably needs further fixes, e.g. in repeat rate setting code.
This converts the drawing code from byte-pointer to fb_pixel_t-pointer
arithmetic, making the calculations more obvious and probably more
efficient.
Additionally, the color tables are now generated in a way that it should
work regardless of the frame buffer color format. Allows to remove a few
hardware specific #ifdefs.
This converts the drawing code from byte-pointer to fb_pixel_t-pointer
arithmetic, making the calculations more obvious and probably more
efficient.
Additionally, the color tables are now generated in a way that it should
work regardless of the frame buffer color format. Allows to remove a few
hardware specific #ifdefs.
Use the framebuffer's getWidth4FB_HW_ACC() instead of system/helpers.
The use in cc_item_picture was guarded by a hardware #ifdef, use
needAlign4Blit() instead.
This needs testing on the affected hardware, which I do not have :-)
This helper to determine alignment for hardware blitting is now in
system/helpers.h, where it does not really belong. Put it into the
framebuffer class instead. Framebuffers that don't need it will just
get a dummy function, the cs_hd2 framebuffer gets the real thing.
Also add a bool function that indicates the need for alignment.
Use the framebuffer's getWidth4FB_HW_ACC() instead of system/helpers.
The use in cc_item_picture was guarded by a hardware #ifdef, use
needAlign4Blit() instead.
This needs testing on the affected hardware, which I do not have :-)
This helper to determine alignment for hardware blitting is now in
system/helpers.h, where it does not really belong. Put it into the
framebuffer class instead. Framebuffers that don't need it will just
get a dummy function, the cs_hd2 framebuffer gets the real thing.
Also add a bool function that indicates the need for alignment.