Russian Qt Forum

Qt => Qt Embedded => Тема начата: scad от Август 13, 2010, 12:58



Название: Графический драйвер для Qt Embedded
Отправлено: scad от Август 13, 2010, 12:58
Хочу разработать драйвер поддерживающий аппаратную графику для Cirrus Logic EP93xx. На самом деле устройство не важно. Хочу понять где я не прав. Сейчас "из коробки" работает драйвер linuxfb, но не используются возможности 2D ускорителя проца. Хотелось бы использовать ускоренные blit и fill и примитивы рисования (линии, прямоугольники). Изучив инструкцию: http://doc.qt.nokia.com/4.6.2/qt-embedded-accel.html (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.

Что я делаю не так?