diff options
Diffstat (limited to 'navit/graphics/qt_qpainter/graphics_qt_qpainter.cpp')
-rw-r--r-- | navit/graphics/qt_qpainter/graphics_qt_qpainter.cpp | 1228 |
1 files changed, 589 insertions, 639 deletions
diff --git a/navit/graphics/qt_qpainter/graphics_qt_qpainter.cpp b/navit/graphics/qt_qpainter/graphics_qt_qpainter.cpp index 65163ea9d..423f3d5fb 100644 --- a/navit/graphics/qt_qpainter/graphics_qt_qpainter.cpp +++ b/navit/graphics/qt_qpainter/graphics_qt_qpainter.cpp @@ -21,7 +21,7 @@ //# //# File: graphics_qt_qpainter.cpp //# Description: Graphics interface for internal GUI using Qt (Trolltech.com) -//# Comment: +//# Comment: //# Authors: Martin Schaller (04/2008), Stefan Klumpp (04/2008) //# //############################################################################################################## @@ -31,84 +31,80 @@ #include "RenderArea.h" //############################################################################################################## -//# Description: RenderArea (QWidget) class for the main window (map, menu, ...) -//# Comment: +//# Description: RenderArea (QWidget) class for the main window (map, menu, ...) +//# Comment: //# Authors: Martin Schaller (04/2008), Stefan Klumpp (04/2008) //############################################################################################################## -static void -overlay_rect(struct graphics_priv *parent, struct graphics_priv *overlay, int clean, QRect *r) -{ - struct point p; - int w,h; - if (clean) { - p=overlay->pclean; - } else { - p=overlay->p;; - } - w=overlay->widget->pixmap->width(); - h=overlay->widget->pixmap->height(); - if (overlay->wraparound) { - if (p.x < 0) - p.x+=parent->widget->pixmap->width(); - if (p.y < 0) - p.y+=parent->widget->pixmap->height(); - if (w < 0) - w += parent->widget->pixmap->width(); - if (h < 0) - h += parent->widget->pixmap->height(); - } - r->setRect(p.x, p.y, w, h); -} - -void -qt_qpainter_draw(struct graphics_priv *gr, const QRect *r, int paintev) -{ - if (!paintev) { +static void overlay_rect(struct graphics_priv *parent, struct graphics_priv *overlay, int clean, QRect *r) { + struct point p; + int w,h; + if (clean) { + p=overlay->pclean; + } else { + p=overlay->p;; + } + w=overlay->widget->pixmap->width(); + h=overlay->widget->pixmap->height(); + if (overlay->wraparound) { + if (p.x < 0) + p.x+=parent->widget->pixmap->width(); + if (p.y < 0) + p.y+=parent->widget->pixmap->height(); + if (w < 0) + w += parent->widget->pixmap->width(); + if (h < 0) + h += parent->widget->pixmap->height(); + } + r->setRect(p.x, p.y, w, h); +} + +void qt_qpainter_draw(struct graphics_priv *gr, const QRect *r, int paintev) { + if (!paintev) { #ifndef QT_QPAINTER_NO_WIDGET - dbg(lvl_debug,"update %d,%d %d x %d\n", r->x(), r->y(), r->width(), r->height()); - if (r->x() <= -r->width()) - return; - if (r->y() <= -r->height()) - return; - if (r->x() > gr->widget->pixmap->width()) - return; - if (r->y() > gr->widget->pixmap->height()) - return; - dbg(lvl_debug,"update valid %d,%d %dx%d\n", r->x(), r->y(), r->width(), r->height()); - gr->widget->update(*r); + dbg(lvl_debug,"update %d,%d %d x %d", r->x(), r->y(), r->width(), r->height()); + if (r->x() <= -r->width()) + return; + if (r->y() <= -r->height()) + return; + if (r->x() > gr->widget->pixmap->width()) + return; + if (r->y() > gr->widget->pixmap->height()) + return; + dbg(lvl_debug,"update valid %d,%d %dx%d", r->x(), r->y(), r->width(), r->height()); + gr->widget->update(*r); #endif - return; - } - QPixmap pixmap(r->width(),r->height()); - QPainter painter(&pixmap); - struct graphics_priv *overlay=NULL; - if (! gr->overlay_disable) - overlay=gr->overlays; - if ((gr->p.x || gr->p.y) && gr->background_gc) { - painter.setPen(*gr->background_gc->pen); - painter.fillRect(0, 0, gr->widget->pixmap->width(), gr->widget->pixmap->height(), *gr->background_gc->brush); - } - painter.drawPixmap(QPoint(gr->p.x,gr->p.y), *gr->widget->pixmap, *r); - while (overlay) { - QRect ovr; - overlay_rect(gr, overlay, 0, &ovr); - if (!overlay->overlay_disable && r->intersects(ovr)) { - unsigned char *data; - int i,size=ovr.width()*ovr.height(); - QImage img=overlay->widget->pixmap->toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied); - data=img.bits(); - for (i = 0 ; i < size ; i++) { - if (data[0] == overlay->rgba[0] && data[1] == overlay->rgba[1] && data[2] == overlay->rgba[2]) - data[3]=overlay->rgba[3]; - data+=4; - } - painter.drawImage(QPoint(ovr.x()-r->x(),ovr.y()-r->y()), img); - } - overlay=overlay->next; - } + return; + } + QPixmap pixmap(r->width(),r->height()); + QPainter painter(&pixmap); + struct graphics_priv *overlay=NULL; + if (! gr->overlay_disable) + overlay=gr->overlays; + if ((gr->p.x || gr->p.y) && gr->background_gc) { + painter.setPen(*gr->background_gc->pen); + painter.fillRect(0, 0, gr->widget->pixmap->width(), gr->widget->pixmap->height(), *gr->background_gc->brush); + } + painter.drawPixmap(QPoint(gr->p.x,gr->p.y), *gr->widget->pixmap, *r); + while (overlay) { + QRect ovr; + overlay_rect(gr, overlay, 0, &ovr); + if (!overlay->overlay_disable && r->intersects(ovr)) { + unsigned char *data; + int i,size=ovr.width()*ovr.height(); + QImage img=overlay->widget->pixmap->toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied); + data=img.bits(); + for (i = 0 ; i < size ; i++) { + if (data[0] == overlay->rgba[0] && data[1] == overlay->rgba[1] && data[2] == overlay->rgba[2]) + data[3]=overlay->rgba[3]; + data+=4; + } + painter.drawImage(QPoint(ovr.x()-r->x(),ovr.y()-r->y()), img); + } + overlay=overlay->next; + } #ifndef QT_QPAINTER_NO_WIDGET - QPainter painterw(gr->widget); - painterw.drawPixmap(r->x(), r->y(), pixmap); + QPainter painterw(gr->widget); + painterw.drawPixmap(r->x(), r->y(), pixmap); #endif } @@ -120,614 +116,586 @@ qt_qpainter_draw(struct graphics_priv *gr, const QRect *r, int paintev) //############################################################################################################## //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## struct graphics_font_priv { - QFont *font; + QFont *font; }; //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## struct graphics_image_priv { - QPixmap *pixmap; + QPixmap *pixmap; }; //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void graphics_destroy(struct graphics_priv *gr) -{ +static void graphics_destroy(struct graphics_priv *gr) { #ifdef QT_QPAINTER_USE_FREETYPE - gr->freetype_methods.destroy(); + gr->freetype_methods.destroy(); #endif - g_free(gr->window_title); - g_free(gr); + g_free(gr->window_title); + g_free(gr); } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void font_destroy(struct graphics_font_priv *font) -{ +static void font_destroy(struct graphics_font_priv *font) { } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## static struct graphics_font_methods font_methods = { - font_destroy + font_destroy }; //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static struct graphics_font_priv *font_new(struct graphics_priv *gr, struct graphics_font_methods *meth, char *fontfamily, int size, int flags) -{ - struct graphics_font_priv *ret=g_new0(struct graphics_font_priv, 1); - ret->font=new QFont("Arial",size/20); - *meth=font_methods; - return ret; +static struct graphics_font_priv *font_new(struct graphics_priv *gr, struct graphics_font_methods *meth, char *fontfamily, int size, int flags) { + struct graphics_font_priv *ret=g_new0(struct graphics_font_priv, 1); + ret->font=new QFont("Arial",size/20); + *meth=font_methods; + return ret; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void gc_destroy(struct graphics_gc_priv *gc) -{ - delete gc->pen; - delete gc->brush; - g_free(gc); +static void gc_destroy(struct graphics_gc_priv *gc) { + delete gc->pen; + delete gc->brush; + g_free(gc); } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void gc_set_linewidth(struct graphics_gc_priv *gc, int w) -{ - gc->pen->setWidth(w); +static void gc_set_linewidth(struct graphics_gc_priv *gc, int w) { + gc->pen->setWidth(w); } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void gc_set_dashes(struct graphics_gc_priv *gc, int w, int offset, unsigned char *dash_list, int n) -{ +static void gc_set_dashes(struct graphics_gc_priv *gc, int w, int offset, unsigned char *dash_list, int n) { } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void gc_set_foreground(struct graphics_gc_priv *gc, struct color *c) -{ - QColor col(c->r >> 8, c->g >> 8, c->b >> 8 /* , c->a >> 8 */); - gc->pen->setColor(col); - gc->brush->setColor(col); - gc->c=*c; +static void gc_set_foreground(struct graphics_gc_priv *gc, struct color *c) { + QColor col(c->r >> 8, c->g >> 8, c->b >> 8 /* , c->a >> 8 */); + gc->pen->setColor(col); + gc->brush->setColor(col); + gc->c=*c; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void gc_set_background(struct graphics_gc_priv *gc, struct color *c) -{ +static void gc_set_background(struct graphics_gc_priv *gc, struct color *c) { } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## static struct graphics_gc_methods gc_methods = { - gc_destroy, - gc_set_linewidth, - gc_set_dashes, - gc_set_foreground, - gc_set_background + gc_destroy, + gc_set_linewidth, + gc_set_dashes, + gc_set_foreground, + gc_set_background }; //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static struct graphics_gc_priv *gc_new(struct graphics_priv *gr, struct graphics_gc_methods *meth) -{ - *meth=gc_methods; - struct graphics_gc_priv *ret=g_new0(struct graphics_gc_priv, 1); - ret->pen=new QPen(); - ret->brush=new QBrush(Qt::SolidPattern); - return ret; +static struct graphics_gc_priv *gc_new(struct graphics_priv *gr, struct graphics_gc_methods *meth) { + *meth=gc_methods; + struct graphics_gc_priv *ret=g_new0(struct graphics_gc_priv, 1); + ret->pen=new QPen(); + ret->brush=new QBrush(Qt::SolidPattern); + return ret; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static struct graphics_image_priv * image_new(struct graphics_priv *gr, struct graphics_image_methods *meth, char *path, int *w, int *h, struct point *hot, int rotation) -{ - struct graphics_image_priv *ret; - QPixmap *cachedPixmap; - QString key(path); +static struct graphics_image_priv * image_new(struct graphics_priv *gr, struct graphics_image_methods *meth, char *path, int *w, int *h, struct point *hot, int rotation) { + struct graphics_image_priv *ret; + QPixmap *cachedPixmap; + QString key(path); - ret=g_new0(struct graphics_image_priv, 1); + ret=g_new0(struct graphics_image_priv, 1); - cachedPixmap=QPixmapCache::find(key); - if (!cachedPixmap) { + cachedPixmap=QPixmapCache::find(key); + if (!cachedPixmap) { #ifdef HAVE_QT_SVG - if(key.endsWith(".svg", Qt::CaseInsensitive)) { - QSvgRenderer renderer(key); - if (!renderer.isValid()) { - g_free(ret); - return NULL; - } - ret->pixmap=new QPixmap(renderer.defaultSize()); - ret->pixmap->fill(Qt::transparent); - QPainter painter(ret->pixmap); - renderer.render(&painter); - - } else { - - ret->pixmap=new QPixmap(path); - - } -#else - ret->pixmap=new QPixmap(path); + if(key.endsWith(".svg", Qt::CaseInsensitive)) { + QSvgRenderer renderer(key); + if (!renderer.isValid()) { + g_free(ret); + return NULL; + } + ret->pixmap=new QPixmap(renderer.defaultSize()); + ret->pixmap->fill(Qt::transparent); + QPainter painter(ret->pixmap); + renderer.render(&painter); + + } else { + + ret->pixmap=new QPixmap(path); + + } +#else + ret->pixmap=new QPixmap(path); #endif /* QT__VERSION */ - if (ret->pixmap->isNull()) { - g_free(ret); - return NULL; - } - - QPixmapCache::insert(key,QPixmap(*ret->pixmap)); - } else { - ret->pixmap=new QPixmap(*cachedPixmap); - } + if (ret->pixmap->isNull()) { + g_free(ret); + return NULL; + } + + QPixmapCache::insert(key,QPixmap(*ret->pixmap)); + } else { + ret->pixmap=new QPixmap(*cachedPixmap); + } - *w=ret->pixmap->width(); - *h=ret->pixmap->height(); - if (hot) { - hot->x=*w/2; - hot->y=*h/2; - } + *w=ret->pixmap->width(); + *h=ret->pixmap->height(); + if (hot) { + hot->x=*w/2; + hot->y=*h/2; + } - return ret; + return ret; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_lines(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int count) -{ - int i; - QPolygon polygon; +static void draw_lines(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int count) { + int i; + QPolygon polygon; - for (i = 0 ; i < count ; i++) - polygon.putPoints(i, 1, p[i].x, p[i].y); - gr->painter->setPen(*gc->pen); - gr->painter->drawPolyline(polygon); + for (i = 0 ; i < count ; i++) + polygon.putPoints(i, 1, p[i].x, p[i].y); + gr->painter->setPen(*gc->pen); + gr->painter->drawPolyline(polygon); } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_polygon(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int count) -{ - int i; - QPolygon polygon; +static void draw_polygon(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int count) { + int i; + QPolygon polygon; - for (i = 0 ; i < count ; i++) - polygon.putPoints(i, 1, p[i].x, p[i].y); - gr->painter->setPen(*gc->pen); - gr->painter->setBrush(*gc->brush); - gr->painter->drawPolygon(polygon); + for (i = 0 ; i < count ; i++) + polygon.putPoints(i, 1, p[i].x, p[i].y); + gr->painter->setPen(*gc->pen); + gr->painter->setBrush(*gc->brush); + gr->painter->drawPolygon(polygon); } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_rectangle(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int w, int h) -{ - dbg(lvl_debug,"gr=%p gc=%p %d,%d,%d,%d\n", gr, gc, p->x, p->y, w, h); - gr->painter->fillRect(p->x,p->y, w, h, *gc->brush); +static void draw_rectangle(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int w, int h) { + dbg(lvl_debug,"gr=%p gc=%p %d,%d,%d,%d", gr, gc, p->x, p->y, w, h); + gr->painter->fillRect(p->x,p->y, w, h, *gc->brush); } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_circle(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int r) -{ - gr->painter->setPen(*gc->pen); - gr->painter->drawArc(p->x-r/2, p->y-r/2, r, r, 0, 360*16); - +static void draw_circle(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int r) { + gr->painter->setPen(*gc->pen); + gr->painter->drawArc(p->x-r/2, p->y-r/2, r, r, 0, 360*16); + } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_text(struct graphics_priv *gr, struct graphics_gc_priv *fg, struct graphics_gc_priv *bg, struct graphics_font_priv *font, char *text, struct point *p, int dx, int dy) -{ - QPainter *painter=gr->painter; +static void draw_text(struct graphics_priv *gr, struct graphics_gc_priv *fg, struct graphics_gc_priv *bg, struct graphics_font_priv *font, char *text, struct point *p, int dx, int dy) { + QPainter *painter=gr->painter; #ifndef QT_QPAINTER_USE_FREETYPE - QString tmp=QString::fromUtf8(text); + QString tmp=QString::fromUtf8(text); #ifndef QT_NO_TRANSFORMATIONS - QMatrix sav=gr->painter->worldMatrix(); - QMatrix m(dx/65535.0,dy/65535.0,-dy/65535.0,dx/65535.0,p->x,p->y); - painter->setWorldMatrix(m,TRUE); - painter->setPen(*fg->pen); - painter->setFont(*font->font); - painter->drawText(0, 0, tmp); - painter->setWorldMatrix(sav); + QMatrix sav=gr->painter->worldMatrix(); + QMatrix m(dx/65535.0,dy/65535.0,-dy/65535.0,dx/65535.0,p->x,p->y); + painter->setWorldMatrix(m,TRUE); + painter->setPen(*fg->pen); + painter->setFont(*font->font); + painter->drawText(0, 0, tmp); + painter->setWorldMatrix(sav); #else - painter->setPen(*fg->pen); - painter->setFont(*font->font); - painter->drawText(p->x, p->y, tmp); + painter->setPen(*fg->pen); + painter->setFont(*font->font); + painter->drawText(p->x, p->y, tmp); #endif #else - struct font_freetype_text *t; - struct font_freetype_glyph *g, **gp; - struct color transparent = {0x0000, 0x0000, 0x0000, 0x0000}; - struct color *fgc=&fg->c, *bgc=&bg->c; - - int i,x,y; - - if (! font) - return; - t=gr->freetype_methods.text_new(text, (struct font_freetype_font *)font, dx, dy); - x=p->x << 6; - y=p->y << 6; - gp=t->glyph; - i=t->glyph_count; - if (bg) { - while (i-- > 0) { - g=*gp++; - if (g->w && g->h) { - unsigned char *data; - QImage img(g->w+2, g->h+2, QImage::Format_ARGB32_Premultiplied); - data=img.bits(); - gr->freetype_methods.get_shadow(g,(unsigned char *)data,img.bytesPerLine(),bgc,&transparent); - - painter->drawImage(((x+g->x)>>6)-1, ((y+g->y)>>6)-1, img); - } - x+=g->dx; - y+=g->dy; - } - } else - bgc=&transparent; - x=p->x << 6; - y=p->y << 6; - gp=t->glyph; - i=t->glyph_count; - while (i-- > 0) { - g=*gp++; - if (g->w && g->h) { - unsigned char *data; - QImage img(g->w, g->h, QImage::Format_ARGB32_Premultiplied); - data=img.bits(); - gr->freetype_methods.get_glyph(g,(unsigned char *)data,img.bytesPerLine(),fgc,bgc,&transparent); - painter->drawImage((x+g->x)>>6, (y+g->y)>>6, img); - } - x+=g->dx; - y+=g->dy; - } - gr->freetype_methods.text_destroy(t); + struct font_freetype_text *t; + struct font_freetype_glyph *g, **gp; + struct color transparent = {0x0000, 0x0000, 0x0000, 0x0000}; + struct color *fgc=&fg->c, *bgc=&bg->c; + + int i,x,y; + + if (! font) + return; + t=gr->freetype_methods.text_new(text, (struct font_freetype_font *)font, dx, dy); + x=p->x << 6; + y=p->y << 6; + gp=t->glyph; + i=t->glyph_count; + if (bg) { + while (i-- > 0) { + g=*gp++; + if (g->w && g->h) { + unsigned char *data; + QImage img(g->w+2, g->h+2, QImage::Format_ARGB32_Premultiplied); + data=img.bits(); + gr->freetype_methods.get_shadow(g,(unsigned char *)data,img.bytesPerLine(),bgc,&transparent); + + painter->drawImage(((x+g->x)>>6)-1, ((y+g->y)>>6)-1, img); + } + x+=g->dx; + y+=g->dy; + } + } else + bgc=&transparent; + x=p->x << 6; + y=p->y << 6; + gp=t->glyph; + i=t->glyph_count; + while (i-- > 0) { + g=*gp++; + if (g->w && g->h) { + unsigned char *data; + QImage img(g->w, g->h, QImage::Format_ARGB32_Premultiplied); + data=img.bits(); + gr->freetype_methods.get_glyph(g,(unsigned char *)data,img.bytesPerLine(),fgc,bgc,&transparent); + painter->drawImage((x+g->x)>>6, (y+g->y)>>6, img); + } + x+=g->dx; + y+=g->dy; + } + gr->freetype_methods.text_destroy(t); #endif } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_image(struct graphics_priv *gr, struct graphics_gc_priv *fg, struct point *p, struct graphics_image_priv *img) -{ - gr->painter->drawPixmap(p->x, p->y, *img->pixmap); +static void draw_image(struct graphics_priv *gr, struct graphics_gc_priv *fg, struct point *p, struct graphics_image_priv *img) { + gr->painter->drawPixmap(p->x, p->y, *img->pixmap); } -static void -draw_drag(struct graphics_priv *gr, struct point *p) -{ - if (!gr->cleanup) { - gr->pclean=gr->p; - gr->cleanup=1; - } - if (p) - gr->p=*p; - else { - gr->p.x=0; - gr->p.y=0; - } +static void draw_drag(struct graphics_priv *gr, struct point *p) { + if (!gr->cleanup) { + gr->pclean=gr->p; + gr->cleanup=1; + } + if (p) + gr->p=*p; + else { + gr->p.x=0; + gr->p.y=0; + } } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void background_gc(struct graphics_priv *gr, struct graphics_gc_priv *gc) -{ - gr->background_gc=gc; - gr->rgba[2]=gc->c.r >> 8; - gr->rgba[1]=gc->c.g >> 8; - gr->rgba[0]=gc->c.b >> 8; - gr->rgba[3]=gc->c.a >> 8; +static void background_gc(struct graphics_priv *gr, struct graphics_gc_priv *gc) { + gr->background_gc=gc; + gr->rgba[2]=gc->c.r >> 8; + gr->rgba[1]=gc->c.g >> 8; + gr->rgba[0]=gc->c.b >> 8; + gr->rgba[3]=gc->c.a >> 8; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void draw_mode(struct graphics_priv *gr, enum draw_mode_num mode) -{ - dbg(lvl_debug,"mode for %p %d\n", gr, mode); - QRect r; - if (mode == draw_mode_begin) { - if (gr->widget->pixmap->paintingActive()) { - gr->widget->pixmap->paintEngine()->painter()->end(); - } - gr->painter->begin(gr->widget->pixmap); - } - if (mode == draw_mode_end) { - gr->painter->end(); - if (gr->parent) { - if (gr->cleanup) { - overlay_rect(gr->parent, gr, 1, &r); - qt_qpainter_draw(gr->parent, &r, 0); - gr->cleanup=0; - } - overlay_rect(gr->parent, gr, 0, &r); - qt_qpainter_draw(gr->parent, &r, 0); - } else { - r.setRect(0, 0, gr->widget->pixmap->width(), gr->widget->pixmap->height()); - qt_qpainter_draw(gr, &r, 0); - } - if (!gr->parent) - QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents|QEventLoop::ExcludeSocketNotifiers|QEventLoop::DeferredDeletion|QEventLoop::X11ExcludeTimers); - } - gr->mode=mode; -} - -//############################################################################################################## -//# Description: -//# Comment: +static void draw_mode(struct graphics_priv *gr, enum draw_mode_num mode) { + dbg(lvl_debug,"mode for %p %d", gr, mode); + QRect r; + if (mode == draw_mode_begin) { + if (gr->widget->pixmap->paintingActive()) { + gr->widget->pixmap->paintEngine()->painter()->end(); + } + gr->painter->begin(gr->widget->pixmap); + } + if (mode == draw_mode_end) { + gr->painter->end(); + if (gr->parent) { + if (gr->cleanup) { + overlay_rect(gr->parent, gr, 1, &r); + qt_qpainter_draw(gr->parent, &r, 0); + gr->cleanup=0; + } + overlay_rect(gr->parent, gr, 0, &r); + qt_qpainter_draw(gr->parent, &r, 0); + } else { + r.setRect(0, 0, gr->widget->pixmap->width(), gr->widget->pixmap->height()); + qt_qpainter_draw(gr, &r, 0); + } + if (!gr->parent) + QCoreApplication::processEvents( + QEventLoop::ExcludeUserInputEvents|QEventLoop::ExcludeSocketNotifiers|QEventLoop::DeferredDeletion|QEventLoop::X11ExcludeTimers); + } + gr->mode=mode; +} + +//############################################################################################################## +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static struct graphics_priv * overlay_new(struct graphics_priv *gr, struct graphics_methods *meth, struct point *p, int w, int h,int wraparound); +static struct graphics_priv * overlay_new(struct graphics_priv *gr, struct graphics_methods *meth, struct point *p, + int w, int h,int wraparound); static int argc=1; -static char *argv[]={NULL,NULL,NULL}; +static char *argv[]= {NULL,NULL,NULL}; -static int -fullscreen(struct window *win, int on) -{ +static int fullscreen(struct window *win, int on) { #ifndef QT_QPAINTER_NO_WIDGET - struct graphics_priv *this_=(struct graphics_priv *)win->priv; - QWidget* _outerWidget; + struct graphics_priv *this_=(struct graphics_priv *)win->priv; + QWidget* _outerWidget; #ifdef QT_QPAINTER_USE_EMBEDDING - _outerWidget=(QWidget*)this_->widget->parent(); + _outerWidget=(QWidget*)this_->widget->parent(); #else - _outerWidget=this_->widget; + _outerWidget=this_->widget; #endif /* QT_QPAINTER_USE_EMBEDDING */ - if (on) - _outerWidget->showFullScreen(); - else - _outerWidget->showMaximized(); + if (on) + _outerWidget->showFullScreen(); + else + _outerWidget->showMaximized(); #endif - return 1; + return 1; } -static void -disable_suspend(struct window *win) -{ +static void disable_suspend(struct window *win) { #ifdef HAVE_QPE - struct graphics_priv *this_=(struct graphics_priv *)win->priv; - this_->app->setTempScreenSaverMode(QPEApplication::DisableLightOff); + struct graphics_priv *this_=(struct graphics_priv *)win->priv; + this_->app->setTempScreenSaverMode(QPEApplication::DisableLightOff); #endif } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void * get_data(struct graphics_priv *this_, const char *type) -{ - struct window *win; - QString xid; - bool ok; - - if (!strcmp(type, "resize")) { - dbg(lvl_debug,"resize %d %d\n",this_->w,this_->h); - QSize size(this_->w,this_->h); - this_->widget->do_resize(size); - } - if (!strcmp(type, "qt_widget")) - return this_->widget; - if (!strcmp(type, "qt_pixmap")) - return this_->widget->pixmap; - if (!strcmp(type, "window")) { - win=g_new(struct window, 1); +static void * get_data(struct graphics_priv *this_, const char *type) { + struct window *win; + QString xid; + bool ok; + + if (!strcmp(type, "resize")) { + dbg(lvl_debug,"resize %d %d",this_->w,this_->h); + QSize size(this_->w,this_->h); + this_->widget->do_resize(size); + } + if (!strcmp(type, "qt_widget")) + return this_->widget; + if (!strcmp(type, "qt_pixmap")) + return this_->widget->pixmap; + if (!strcmp(type, "window")) { + win=g_new(struct window, 1); #ifndef QT_QPAINTER_NO_WIDGET #ifdef QT_QPAINTER_USE_EMBEDDING - EmbeddedWidget* _outerWidget=new EmbeddedWidget(this_,this_->widget,NULL); - xid=getenv("NAVIT_XID"); - if (xid.length()>0) { - _outerWidget->embedInto(xid.toULong(&ok,0)); - } - _outerWidget->show(); + EmbeddedWidget* _outerWidget=new EmbeddedWidget(this_,this_->widget,NULL); + xid=getenv("NAVIT_XID"); + if (xid.length()>0) { + _outerWidget->embedInto(xid.toULong(&ok,0)); + } + _outerWidget->show(); #endif /* QT_QPAINTER_USE_EMBEDDING */ - if (this_->w && this_->h) - this_->widget->show(); - else - this_->widget->showMaximized(); + if (this_->w && this_->h) + this_->widget->show(); + else + this_->widget->showMaximized(); #endif /* QT_QPAINTER_NO_WIDGET */ - win->priv=this_; - win->fullscreen=fullscreen; - win->disable_suspend=disable_suspend; - return win; - } - return NULL; -} - -static void -image_free(struct graphics_priv *gr, struct graphics_image_priv *priv) -{ - delete priv->pixmap; - g_free(priv); -} - -static void -get_text_bbox(struct graphics_priv *gr, struct graphics_font_priv *font, char *text, int dx, int dy, struct point *ret, int estimate) -{ - QPainter *painter=gr->painter; - QString tmp=QString::fromUtf8(text); - painter->setFont(*font->font); - QRect r=painter->boundingRect(0,0,gr->w,gr->h,0,tmp); - ret[0].x=0; - ret[0].y=-r.height(); - ret[1].x=0; - ret[1].y=0; - ret[2].x=r.width(); - ret[2].y=0; - ret[3].x=r.width(); - ret[3].y=-r.height(); -} - - -//############################################################################################################## -//# Description: -//# Comment: + win->priv=this_; + win->fullscreen=fullscreen; + win->disable_suspend=disable_suspend; + return win; + } + return NULL; +} + +static void image_free(struct graphics_priv *gr, struct graphics_image_priv *priv) { + delete priv->pixmap; + g_free(priv); +} + +static void get_text_bbox(struct graphics_priv *gr, struct graphics_font_priv *font, char *text, int dx, int dy, struct point *ret, int estimate) { + QPainter *painter=gr->painter; + QString tmp=QString::fromUtf8(text); + painter->setFont(*font->font); + QRect r=painter->boundingRect(0,0,gr->w,gr->h,0,tmp); + ret[0].x=0; + ret[0].y=-r.height(); + ret[1].x=0; + ret[1].y=0; + ret[2].x=r.width(); + ret[2].y=0; + ret[3].x=r.width(); + ret[3].y=-r.height(); +} + + +//############################################################################################################## +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static void overlay_disable(struct graphics_priv *gr, int disable) -{ - gr->overlay_disable=disable; +static void overlay_disable(struct graphics_priv *gr, int disable) { + gr->overlay_disable=disable; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static int set_attr(struct graphics_priv *gr, struct attr *attr) -{ - switch (attr->type) { - case attr_w: - gr->w=attr->u.num; - if (gr->w != 0 && gr->h != 0) { - QSize size(gr->w,gr->h); - gr->widget->do_resize(size); - } - break; - case attr_h: - gr->h=attr->u.num; - if (gr->w != 0 && gr->h != 0) { - QSize size(gr->w,gr->h); - gr->widget->do_resize(size); - } - break; - default: - return 0; - } - return 1; -} - -//############################################################################################################## -//# Description: -//# Comment: +static int set_attr(struct graphics_priv *gr, struct attr *attr) { + switch (attr->type) { + case attr_w: + gr->w=attr->u.num; + if (gr->w != 0 && gr->h != 0) { + QSize size(gr->w,gr->h); + gr->widget->do_resize(size); + } + break; + case attr_h: + gr->h=attr->u.num; + if (gr->w != 0 && gr->h != 0) { + QSize size(gr->w,gr->h); + gr->widget->do_resize(size); + } + break; + default: + return 0; + } + return 1; +} + +//############################################################################################################## +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## static struct graphics_methods graphics_methods = { - graphics_destroy, - draw_mode, - draw_lines, - draw_polygon, - draw_rectangle, - draw_circle, - draw_text, - draw_image, - NULL, - draw_drag, - font_new, - gc_new, - background_gc, - overlay_new, - image_new, - get_data, - image_free, - get_text_bbox, - overlay_disable, - NULL, - set_attr, - NULL, /* show_native_keyboard */ - NULL, /* hide_native_keyboard */ + graphics_destroy, + draw_mode, + draw_lines, + draw_polygon, + draw_rectangle, + draw_circle, + draw_text, + draw_image, + NULL, + draw_drag, + font_new, + gc_new, + background_gc, + overlay_new, + image_new, + get_data, + image_free, + get_text_bbox, + overlay_disable, + NULL, + set_attr, + NULL, /* show_native_keyboard */ + NULL, /* hide_native_keyboard */ }; //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static struct graphics_priv * overlay_new(struct graphics_priv *gr, struct graphics_methods *meth, struct point *p, int w, int h,int wraparound) -{ - *meth=graphics_methods; - struct graphics_priv *ret=g_new0(struct graphics_priv, 1); +static struct graphics_priv * overlay_new(struct graphics_priv *gr, struct graphics_methods *meth, struct point *p, int w, int h,int wraparound) { + *meth=graphics_methods; + struct graphics_priv *ret=g_new0(struct graphics_priv, 1); #ifdef QT_QPAINTER_USE_FREETYPE - if (gr->font_freetype_new) { - ret->font_freetype_new=gr->font_freetype_new; - gr->font_freetype_new(&ret->freetype_methods); - meth->font_new=(struct graphics_font_priv *(*)(struct graphics_priv *, struct graphics_font_methods *, char *, int, int))ret->freetype_methods.font_new; - meth->get_text_bbox=(void (*)(struct graphics_priv*, struct graphics_font_priv*, char*, int, int, struct point*, int))ret->freetype_methods.get_text_bbox; - } + if (gr->font_freetype_new) { + ret->font_freetype_new=gr->font_freetype_new; + gr->font_freetype_new(&ret->freetype_methods); + meth->font_new=(struct graphics_font_priv *(*)(struct graphics_priv *, struct graphics_font_methods *, char *, int, + int))ret->freetype_methods.font_new; + meth->get_text_bbox=(void (*)(struct graphics_priv*, struct graphics_font_priv*, char*, int, int, struct point*, + int))ret->freetype_methods.get_text_bbox; + } #endif - ret->widget= new RenderArea(ret,gr->widget,w,h,1); - ret->wraparound=wraparound; - ret->painter=new QPainter; - ret->p=*p; - ret->parent=gr; - ret->next=gr->overlays; - gr->overlays=ret; + ret->widget= new RenderArea(ret,gr->widget,w,h,1); + ret->wraparound=wraparound; + ret->painter=new QPainter; + ret->p=*p; + ret->parent=gr; + ret->next=gr->overlays; + gr->overlays=ret; #ifndef QT_QPAINTER_NO_WIDGET - ret->widget->hide(); + ret->widget->hide(); #endif - return ret; + return ret; } #ifdef QT_QPAINTER_USE_EVENT_QT @@ -735,199 +703,181 @@ static struct graphics_priv * overlay_new(struct graphics_priv *gr, struct graph static struct graphics_priv *event_gr; -static void -event_qt_main_loop_run(void) -{ - event_gr->app->exec(); +static void event_qt_main_loop_run(void) { + event_gr->app->exec(); } -static void event_qt_main_loop_quit(void) -{ - dbg(lvl_debug,"enter\n"); - exit(0); +static void event_qt_main_loop_quit(void) { + dbg(lvl_debug,"enter"); + exit(0); } -static struct event_watch * -event_qt_add_watch(int fd, enum event_watch_cond cond, struct callback *cb) -{ - dbg(lvl_debug,"enter fd=%d\n",(int)(long)fd); - struct event_watch *ret=g_new0(struct event_watch, 1); - ret->fd=fd; - ret->cb=cb; - g_hash_table_insert(event_gr->widget->watches, GINT_TO_POINTER(fd), ret); - ret->sn=new QSocketNotifier(fd, QSocketNotifier::Read, event_gr->widget); - QObject::connect(ret->sn, SIGNAL(activated(int)), event_gr->widget, SLOT(watchEvent(int))); - return ret; +static struct event_watch *event_qt_add_watch(int fd, enum event_watch_cond cond, struct callback *cb) { + dbg(lvl_debug,"enter fd=%d",(int)(long)fd); + struct event_watch *ret=g_new0(struct event_watch, 1); + ret->fd=fd; + ret->cb=cb; + g_hash_table_insert(event_gr->widget->watches, GINT_TO_POINTER(fd), ret); + ret->sn=new QSocketNotifier(fd, QSocketNotifier::Read, event_gr->widget); + QObject::connect(ret->sn, SIGNAL(activated(int)), event_gr->widget, SLOT(watchEvent(int))); + return ret; } -static void -event_qt_remove_watch(struct event_watch *ev) -{ - g_hash_table_remove(event_gr->widget->watches, GINT_TO_POINTER(ev->fd)); - delete(ev->sn); - g_free(ev); +static void event_qt_remove_watch(struct event_watch *ev) { + g_hash_table_remove(event_gr->widget->watches, GINT_TO_POINTER(ev->fd)); + delete(ev->sn); + g_free(ev); } -static struct event_timeout * -event_qt_add_timeout(int timeout, int multi, struct callback *cb) -{ - int id; - id=event_gr->widget->startTimer(timeout); - g_hash_table_insert(event_gr->widget->timer_callback, (void *)id, cb); - g_hash_table_insert(event_gr->widget->timer_type, (void *)id, (void *)!!multi); - return (struct event_timeout *)id; +static struct event_timeout *event_qt_add_timeout(int timeout, int multi, struct callback *cb) { + int id; + id=event_gr->widget->startTimer(timeout); + g_hash_table_insert(event_gr->widget->timer_callback, (void *)id, cb); + g_hash_table_insert(event_gr->widget->timer_type, (void *)id, (void *)!!multi); + return (struct event_timeout *)id; } -void -event_qt_remove_timeout(struct event_timeout *ev) -{ - event_gr->widget->killTimer((int)(long)ev); - g_hash_table_remove(event_gr->widget->timer_callback, ev); - g_hash_table_remove(event_gr->widget->timer_type, ev); +void event_qt_remove_timeout(struct event_timeout *ev) { + event_gr->widget->killTimer((int)(long)ev); + g_hash_table_remove(event_gr->widget->timer_callback, ev); + g_hash_table_remove(event_gr->widget->timer_type, ev); } -static struct event_idle * -event_qt_add_idle(int priority, struct callback *cb) -{ - dbg(lvl_debug,"enter\n"); - return (struct event_idle *)event_qt_add_timeout(0, 1, cb); +static struct event_idle *event_qt_add_idle(int priority, struct callback *cb) { + dbg(lvl_debug,"enter"); + return (struct event_idle *)event_qt_add_timeout(0, 1, cb); } -static void -event_qt_remove_idle(struct event_idle *ev) -{ - dbg(lvl_debug,"enter\n"); - event_qt_remove_timeout((struct event_timeout *) ev); +static void event_qt_remove_idle(struct event_idle *ev) { + dbg(lvl_debug,"enter"); + event_qt_remove_timeout((struct event_timeout *) ev); } -static void -event_qt_call_callback(struct callback_list *cb) -{ - dbg(lvl_debug,"enter\n"); +static void event_qt_call_callback(struct callback_list *cb) { + dbg(lvl_debug,"enter"); } static struct event_methods event_qt_methods = { - event_qt_main_loop_run, - event_qt_main_loop_quit, - event_qt_add_watch, - event_qt_remove_watch, - event_qt_add_timeout, - event_qt_remove_timeout, - event_qt_add_idle, - event_qt_remove_idle, - event_qt_call_callback, + event_qt_main_loop_run, + event_qt_main_loop_quit, + event_qt_add_watch, + event_qt_remove_watch, + event_qt_add_timeout, + event_qt_remove_timeout, + event_qt_add_idle, + event_qt_remove_idle, + event_qt_call_callback, }; struct event_priv { }; struct event_priv * -event_qt_new(struct event_methods *meth) -{ - dbg(lvl_debug,"enter\n"); - *meth=event_qt_methods; - return NULL; +event_qt_new(struct event_methods *meth) { + dbg(lvl_debug,"enter"); + *meth=event_qt_methods; + return NULL; } #endif //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -static struct graphics_priv * graphics_qt_qpainter_new(struct navit *nav, struct graphics_methods *meth, struct attr **attrs, struct callback_list *cbl) -{ - struct graphics_priv *ret; - struct font_priv * (*font_freetype_new)(void *meth); - struct attr *attr; +static struct graphics_priv * graphics_qt_qpainter_new(struct navit *nav, struct graphics_methods *meth, struct attr **attrs, struct callback_list *cbl) { + struct graphics_priv *ret; + struct font_priv * (*font_freetype_new)(void *meth); + struct attr *attr; - dbg(lvl_debug,"enter\n"); + dbg(lvl_debug,"enter"); #ifdef QT_QPAINTER_USE_EVENT_QT - if (event_gr) - return NULL; - if (! event_request_system("qt","graphics_qt_qpainter_new")) - return NULL; + if (event_gr) + return NULL; + if (! event_request_system("qt","graphics_qt_qpainter_new")) + return NULL; #endif #ifdef QT_QPAINTER_USE_EVENT_GLIB - if (! event_request_system("glib","graphics_qt_qpainter_new")) - return NULL; + if (! event_request_system("glib","graphics_qt_qpainter_new")) + return NULL; #endif #ifdef QT_QPAINTER_USE_FREETYPE - font_freetype_new=(struct font_priv *(*)(void *))plugin_get_category_font("freetype"); - if (!font_freetype_new) { - dbg(lvl_error,"no freetype\n"); - return NULL; - } + font_freetype_new=(struct font_priv *(*)(void *))plugin_get_category_font("freetype"); + if (!font_freetype_new) { + dbg(lvl_error,"no freetype"); + return NULL; + } #endif - ret=g_new0(struct graphics_priv, 1); - *meth=graphics_methods; - ret->nav=nav; + ret=g_new0(struct graphics_priv, 1); + *meth=graphics_methods; + ret->nav=nav; #ifdef QT_QPAINTER_USE_FREETYPE - ret->font_freetype_new=font_freetype_new; - font_freetype_new(&ret->freetype_methods); - meth->font_new=(struct graphics_font_priv *(*)(struct graphics_priv *, struct graphics_font_methods *, char *, int, int))ret->freetype_methods.font_new; - meth->get_text_bbox=(void (*)(struct graphics_priv*, struct graphics_font_priv*, char*, int, int, struct point*, int))ret->freetype_methods.get_text_bbox; + ret->font_freetype_new=font_freetype_new; + font_freetype_new(&ret->freetype_methods); + meth->font_new=(struct graphics_font_priv *(*)(struct graphics_priv *, struct graphics_font_methods *, char *, int, + int))ret->freetype_methods.font_new; + meth->get_text_bbox=(void (*)(struct graphics_priv*, struct graphics_font_priv*, char*, int, int, struct point*, + int))ret->freetype_methods.get_text_bbox; #endif #if defined QT_QPAINTER_USE_EMBEDDING && QT_VERSION >= 0x040500 - if ((attr=attr_search(attrs, NULL, attr_gc_type))) - QApplication::setGraphicsSystem(attr->u.str); - else - QApplication::setGraphicsSystem("raster"); + if ((attr=attr_search(attrs, NULL, attr_gc_type))) + QApplication::setGraphicsSystem(attr->u.str); + else + QApplication::setGraphicsSystem("raster"); #endif - argv[0]=(char*)malloc(255); - strcpy(argv[0], "navit"); - if ((attr=attr_search(attrs, NULL, attr_flags))) - ret->flags=attr->u.num; - if (ret->flags & 1) { - argv[1]=(char*)malloc(255); - strcpy(argv[1], "-qws"); - argc++; - } + argv[0]=(char*)malloc(255); + strcpy(argv[0], "navit"); + if ((attr=attr_search(attrs, NULL, attr_flags))) + ret->flags=attr->u.num; + if (ret->flags & 1) { + argv[1]=(char*)malloc(255); + strcpy(argv[1], "-qws"); + argc++; + } #ifndef QT_QPAINTER_NO_APP #ifdef HAVE_QPE - ret->app = new QPEApplication(argc, argv); + ret->app = new QPEApplication(argc, argv); #else - ret->app = new QApplication(argc, argv); + ret->app = new QApplication(argc, argv); #endif #endif - ret->widget= new RenderArea(ret); - ret->widget->cbl=cbl; - ret->painter = new QPainter; + ret->widget= new RenderArea(ret); + ret->widget->cbl=cbl; + ret->painter = new QPainter; #ifdef QT_QPAINTER_USE_EVENT_QT - event_gr=ret; + event_gr=ret; #endif - ret->w=800; - ret->h=600; - if ((attr=attr_search(attrs, NULL, attr_w))) - ret->w=attr->u.num; - if ((attr=attr_search(attrs, NULL, attr_h))) - ret->h=attr->u.num; - if ((attr=attr_search(attrs, NULL, attr_window_title))) - ret->window_title=g_strdup(attr->u.str); - else - ret->window_title=g_strdup("Navit"); + ret->w=800; + ret->h=600; + if ((attr=attr_search(attrs, NULL, attr_w))) + ret->w=attr->u.num; + if ((attr=attr_search(attrs, NULL, attr_h))) + ret->h=attr->u.num; + if ((attr=attr_search(attrs, NULL, attr_window_title))) + ret->window_title=g_strdup(attr->u.str); + else + ret->window_title=g_strdup("Navit"); - dbg(lvl_debug,"return\n"); - return ret; + dbg(lvl_debug,"return"); + return ret; } //############################################################################################################## -//# Description: -//# Comment: +//# Description: +//# Comment: //# Authors: Martin Schaller (04/2008) //############################################################################################################## -void plugin_init(void) -{ - plugin_register_category_graphics("qt_qpainter", graphics_qt_qpainter_new); +void plugin_init(void) { + plugin_register_category_graphics("qt_qpainter", graphics_qt_qpainter_new); #ifdef QT_QPAINTER_USE_EVENT_QT - plugin_register_category_event("qt", event_qt_new); + plugin_register_category_event("qt", event_qt_new); #endif } -// *** EOF *** +// *** EOF *** |