KDE Games/Porting
Targets of porting
- Rendering method: Current solutions commonly include usage of a QSvgRenderer, combined either with QGraphicsSvgItems or with (Q/K)PixmapCache. It is suggested to migrate to KGameRenderer instead. Integration with QGraphicsView is available through the KGameRenderedItem and KGameRenderedObjectItem classes. Integration with KGameCanvas is available through the KGameCanvasRenderedPixmap.
- (more to come)
Porting status
The second column shows which graphics stack (e. g. QGraphicsView, KGameCanvas) is used by the application. The third column shows the rendering method.
If you want to take part in porting, pick an app, contact the author or the kde-games-devel mailing list to coordinate your effort, read into the KGameRenderer APIDOX and start hacking! Please note that this porting effort is mainly about porting rendering code to KGameRenderer. Usage of outdated graphics stacks should not be changed because this might cause severe and non-trivial bugs.
Warning: It is advised not to use the primaryView property of KGameRenderedObjectItem class in new ports. The existing ports using it (KDiamond and Klickety/KSame) made it clear that the primaryView property has design flaws (concerning performance), so it will probably be removed again.
Application | Graphics stack | Rendering method | Who does/did the port? (if applicable) |
---|---|---|---|
bomber | KGameCanvas | KGameRenderer | Stefan Majewsky |
bovo | QGraphicsView | QGraphicsSvgItem | |
granatier | QGraphicsView | KGameRenderer | Mathias Kraus |
kajongg | QGraphicsView | libkmahjongg | |
kapman | QGraphicsView | QGraphicsSvgItem | |
katomic | QGraphicsView | KGameRenderer | Brian Croom |
kbattleship | QGraphicsView | PixmapCache | |
kblackbox | QGraphicsView | QGraphicsSvgItem | |
kblocks | QGraphicsView | QGraphicsSvgItem | Brian Croom |
kbounce | KGameCanvas | KPixmapCache | |
kbreakout | KGameCanvas | KGameRenderer | Brian Croom |
kdiamond | QGraphicsView | KGameRenderer | Stefan Majewsky |
kfourinline | QGraphicsView | PixmapCache (and classes similar to KGameRendererClient) | |
kgoldrunner | KGameCanvas | KPixmapCache | |
kigo | QGraphicsView | KPixmapCache | |
killbots | QGraphicsView | KGameRenderer | Parker Coates |
kiriki | QWidget with pre-rendered PNG | N/A | |
kjumpingcube | QWidget | simple QSvgRenderer::render() | |
klickety/ksame | QGraphicsView | KGameRenderer | (native QGV/KGR app) |
klines | QGraphicsView | KPixmapCache | Lindsay Mathieson (Blackpaw) |
kmahjongg | KGameCanvas | libkmahjongg | Christian Krippendorf |
kmines | QGraphicsView | KGameRenderer | Brian Croom |
knetwalk | QGraphicsView | KGameRenderer | Brian Croom |
kolf | QGraphicsView | KGameRenderer | Stefan Majewsky |
kollision | QGraphicsView | KGameRenderer | Brian Croom |
konquest | QGraphicsView | KPixmapCache | |
kpat | QGraphicsView | KGameRenderer | Parker Coates |
kreversi | QGraphicsView | KGameRenderer | Brian Croom |
kshisen | QWidget | libkmahjongg | |
ksirk | QGraphicsView | QGraphicsSvgItem and KPixmapCache | |
kspaceduel | QGraphicsView | QGraphicsSvgItem | |
ksquares | QGraphicsView | N/A | N/A |
ksudoku | QGraphicsView | KPixmapCache | |
ktron | QWidget | KPixmapCache | |
ktuberling | QGraphicsView | QGraphicsSvgItem | |
kubrick | QGLWidget | N/A | N/A |
libkmahjongg | N/A | QPixmapCache | Stefan Majewsky (the special needs of libkmahjongg will be addressed by Project Tagaro) |
lskat | QGraphicsView | PixmapCache (and classes similar to KGameRendererClient) | |
palapeli | QGraphicsView | N/A | N/A |