Хочу разработать драйвер поддерживающий аппаратную графику для Cirrus Logic EP93xx. На самом деле устройство не важно. Хочу понять где я не прав. Сейчас "из коробки" работает драйвер linuxfb, но не используются возможности 2D ускорителя проца. Хотелось бы использовать ускоренные blit и fill и примитивы рисования (линии, прямоугольники). Изучив инструкцию:
http://doc.qt.nokia.com/4.6.2/qt-embedded-accel.html. Делаю все по ней:
QMyScreen - наследник QScreen - один в один содрал с QLinuxFbScreen, кроме функции createSurface
QWSWindowSurface* QMyScreen::createSurface(const QString &key) const
{
if (key == QLatin1String(“myscreen”))
{
qWarning(“create new surface for key\n”);
return new QMySurface();
}
return QScreen::createSurface(key);
}
Наследую QMySurface от QWSWindowSurface.
Далее наследую QCustomRasterPaintDevice и QRasterPaintEngine.
В итоге: QRasterPaintEngine рисует окна без заголовков окна и рамок (без window frames) почему???
И еще: при отрисовке окон функция QScreen::blit не вызывается - приходится шаманить с exposeRegion.
Что я делаю не так?