KDE Games/API cleanup: Difference between revisions
Line 6: | Line 6: | ||
libkdegames consists of multiple (possibly interdependent) components, as defined by this list. The "Dependencies" column records only dependencies to other libkdegames components. See the table below for which file belongs to which component. | libkdegames consists of multiple (possibly interdependent) components, as defined by this list. The "Dependencies" column records only dependencies to other libkdegames components. See the table below for which file belongs to which component. | ||
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;" | {| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;" | ||
Line 28: | Line 13: | ||
! Dependencies | ! Dependencies | ||
! Current maintainer | ! Current maintainer | ||
|- | |- style="background-color:#EEFFEE" | ||
| base | | style="background-color:#ABFFAB" | base | ||
| Macros and API-less behavior. | | Macros and API-less behavior. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#EEFFEE" | ||
| highscore | | style="background-color:#ABFFAB" | highscore | ||
| Highscore recording and GUI. | | Highscore recording and GUI. | ||
| - | | - | ||
Line 53: | Line 38: | ||
| kgamerenderer (integration) | | kgamerenderer (integration) | ||
| | | | ||
|- | |- style="background-color:#EEFFEE" | ||
| kgamerenderer | | style="background-color:#ABFFAB" | kgamerenderer | ||
| Rendering of theme graphics. | | Rendering of theme graphics. | ||
| theming | | theming | ||
| Stefan Majewsky | | Stefan Majewsky | ||
|- | |- style="background-color:#FFEEEE" | ||
| kggz | | style="background-color:#FFABAB" | kggz | ||
| Network-enabled multiplayer. | | Network-enabled multiplayer. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#EEFFEE" | ||
| misc/clock | | style="background-color:#ABFFAB" | misc/clock | ||
| Game clock (second accuracy). | | Game clock (second accuracy). | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#EEFFEE" | ||
| misc/difficulty | | style="background-color:#ABFFAB" | misc/difficulty | ||
| Track difficulty level. | | Track difficulty level. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#FFEEEE" | ||
| misc/grid2d | | style="background-color:#FFABAB" | misc/grid2d | ||
| Coordinate calculations on 2D grids. | | Coordinate calculations on 2D grids. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#FFEEEE" | ||
| misc/lcd | | style="background-color:#FFABAB" | misc/lcd | ||
| Enhanced QLCDNumber. | | Enhanced QLCDNumber. | ||
| - | | - | ||
Line 88: | Line 73: | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#FFEEEE" | ||
| misc/progress | | style="background-color:#FFABAB" | misc/progress | ||
| A very old progress bar. | | A very old progress bar. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#FFEEEE" | ||
| misc/randomname | | style="background-color:#FFABAB" | misc/randomname | ||
| Function to generate a random name. | | Function to generate a random name. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#EEFFEE" | ||
| misc/standardactions | | style="background-color:#ABFFAB" | misc/standardactions | ||
| Standard KActions for games. | | Standard KActions for games. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#FFEEEE" | ||
| misc/svgdigits | | style="background-color:#FFABAB" | misc/svgdigits | ||
| Digits rendered from SVG. | | Digits rendered from SVG. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#FFEEEE" | ||
| misc/svgdocument | | style="background-color:#FFABAB" | misc/svgdocument | ||
| Transform SVG elements. | | Transform SVG elements. | ||
| - | | - | ||
| | | | ||
|- | |- style="background-color:#EEFFEE" | ||
| theming | | style="background-color:#ABFFAB" | theming | ||
| Management of SVG themes. | | Management of SVG themes. | ||
| - | | - | ||
| | | | ||
|} | |||
| |||
{| border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;" | |||
|- style="white-space:nowrap;" | |||
! Color key | |||
| style="background-color:#FFABAB" | Delete | |||
| style="background-color:#FFFFA0" | Make private | |||
| style="background-color:#ABFFAB" | Keep | |||
|- | |||
! Description | |||
| style="background-color:#FFEEEE" | Code and headers are removed from the source tree. | |||
| style="background-color:#FFFFCD" | Code is moved into the tree of the only application which uses it. Headers are not exported anymore. | |||
| style="background-color:#EEFFEE" | Code stays in libkdegames. API and implementation changes may still be necessary. | |||
|} | |} | ||
Revision as of 20:11, 8 February 2012
libkdegames v5 is the new iteration of libkdegames which is intended to ship with KDE Development Platform 5 (though it may also happen earlier, e.g. 4.9). The aim for this new iteration of the library is to remove most of the API that is obsolete, unused or in a state of bad quality, in order to improve maintainability and relevance of the remaining API. Also, QtWidgets-specific parts need to be separated to prepare for QML-based games.
The fine print: The SO version for libkdegames v5 is actually 6.
List of components
libkdegames consists of multiple (possibly interdependent) components, as defined by this list. The "Dependencies" column records only dependencies to other libkdegames components. See the table below for which file belongs to which component.
Component | Short desc. | Dependencies | Current maintainer |
---|---|---|---|
base | Macros and API-less behavior. | - | |
highscore | Highscore recording and GUI. | - | |
kchat | Chat widget. | - | |
kgame | General game framework. | kchat | |
kgamecanvas | Alternative to QGraphicsView. | kgamerenderer (integration) | |
kgamerenderer | Rendering of theme graphics. | theming | Stefan Majewsky |
kggz | Network-enabled multiplayer. | - | |
misc/clock | Game clock (second accuracy). | - | |
misc/difficulty | Track difficulty level. | - | |
misc/grid2d | Coordinate calculations on 2D grids. | - | |
misc/lcd | Enhanced QLCDNumber. | - | |
misc/popupitem | Message popup for QGraphicsView. | - | |
misc/progress | A very old progress bar. | - | |
misc/randomname | Function to generate a random name. | - | |
misc/standardactions | Standard KActions for games. | - | |
misc/svgdigits | Digits rendered from SVG. | - | |
misc/svgdocument | Transform SVG elements. | - | |
theming | Management of SVG themes. | - |
Color key | Delete | Make private | Keep |
---|---|---|---|
Description | Code and headers are removed from the source tree. | Code is moved into the tree of the only application which uses it. Headers are not exported anymore. | Code stays in libkdegames. API and implementation changes may still be necessary. |
List of files
Source file | Belongs to component |
---|---|
cardcache.cpp/h/ph | carddecks |
carddeckinfo.cpp/h/ph | carddecks |
chooserastergraphicssystem.cpp | base |
colorproxy_p.cpp/h | kgamerenderer |
digits/kgamesvgdigits.cpp/h | misc/svgdigits |
highscore/kexthighscore.cpp/h | highscore |
highscore/kexthighscore_gui.cpp/h | highscore |
highscore/kexthighscore_internal.cpp/h | highscore |
highscore/kexthighscore_item.cpp/h | highscore |
highscore/kexthighscore_tab.cpp/h | highscore |
highscore/khighscore.cpp/h | highscore |
highscore/kscoredialog.cpp/h | highscore |
kcarddialog.cpp/h | carddecks |
kchatbase.cpp/h | kchat |
kchatbaseitemdelegate.cpp/h | kchat |
kchatbasemodel.cpp/h | kchat |
kchat.cpp/h | kchat |
kchatdialog.cpp/h | kchat |
kgamecanvas.cpp/h | kgamecanvas |
kgameclock.cpp/h | misc/clock |
kgame/dialogs/kgameconnectdialog.cpp/h | kgame |
kgame/dialogs/kgamedebugdialog.cpp/h | kgame |
kgame/dialogs/kgamedialogconfig.cpp/h | kgame |
kgame/dialogs/kgamedialog.cpp/h | kgame |
kgame/dialogs/kgameerrordialog.cpp/h | kgame |
kgamedifficulty.cpp/h | misc/difficulty |
kgame/kgamechat.cpp/h | kgame |
kgame/kgame.cpp/h | kgame |
kgame/kgameerror.cpp/h | kgame |
kgame/kgameio.cpp/h | kgame |
kgame/kgamemessage.cpp/h | kgame |
kgame/kgamenetwork.cpp/h | kgame |
kgame/kgameprocess.cpp/h | kgame |
kgame/kgamepropertyarray.h | kgame |
kgame/kgameproperty.cpp/h | kgame |
kgame/kgamepropertyhandler.cpp/h | kgame |
kgame/kgamesequence.cpp/h | kgame |
kgame/kgameversion.h | kgame |
kgame/kmessageclient.cpp/h | kgame |
kgame/kmessageio.cpp/h | kgame |
kgame/kmessageserver.cpp/h/ph | kgame |
kgame/kplayer.cpp/h | kgame |
kgamelcd.cpp/h | misc/lcd |
kgamemisc.cpp/h | misc/randomname |
kgamepopupitem.cpp/h | misc/popupitem |
kgameprogress.cpp/h | misc/progress |
kgamerendereditem.cpp/h | kgamerenderer |
kgamerenderedobjectitem.cpp/h | kgamerenderer |
kgamerendererclient.cpp/h | kgamerenderer |
kgamerenderer.cpp/h/ph | kgamerenderer |
kgamesvgdocument.cpp/h/ph | misc/svgdocument |
kgametheme.cpp/h | theming |
kgamethemeselector.cpp/h | theming |
kggzgames/kggzgames_export.h | kggz |
kggzgames/kggzrankingsdialog.cpp/h | kggz |
kggzgames/kggzseatsdialog.cpp/h | kggz |
kggzmod/event.cpp/h | kggz |
kggzmod/kggzmod_export.h | kggz |
kggzmod/misc_private.h | kggz |
kggzmod/module.cpp/h/ph | kggz |
kggzmod/player.cpp/h/ph | kggz |
kggzmod/request.cpp/h | kggz |
kggzmod/statistics.cpp/h/ph | kggz |
kggznet/kggznet_export.h | kggz |
kggznet/kggzpacket.cpp/h | kggz |
kggznet/kggzraw.cpp/h | kggz |
kgrid2d.h | misc/grid2d |
kstandardgameaction.cpp/h | misc/standardactions |
libkdegames_export.h | base |
tests/kgamepopupitemtest.cpp/h | misc/popupitem |
tests/kgamepropertytest.cpp/h | kgame |
tests/kgamesvgdigitstest.cpp/h | misc/svgdigits |
tests/kgamesvgdocumenttest.cpp/h | misc/svgdocument |
includes/KCardCache | carddecks |
includes/KCardDeckInfo | carddecks |
includes/KCardDialog | carddecks |
includes/KChat | kchat |
includes/KChatBase | kchat |
includes/KChatBaseItemDelegate | kchat |
includes/KChatDialog | kchat |
includes/KExtHighscore | highscore |
includes/KGameCanvas | kgamecanvas |
includes/KGameClock | misc/clock |
includes/KGameDifficulty | misc/difficulty |
includes/KGame/KGame | kgame |
includes/KGame/KGameChat | kgame |
includes/KGame/KGameConnectDialog | kgame |
includes/KGame/KGameDebugDialog | kgame |
includes/KGame/KGameDialog | kgame |
includes/KGame/KGameDialogConfig | kgame |
includes/KGame/KGameError | kgame |
includes/KGame/KGameErrorDialog | kgame |
includes/KGame/KGameIO | kgame |
includes/KGame/KGameMessage | kgame |
includes/KGame/KGameNetwork | kgame |
includes/KGame/KGameProcess | kgame |
includes/KGame/KGameProperty | kgame |
includes/KGame/KGamePropertyArray | kgame |
includes/KGame/KGamePropertyHandler | kgame |
includes/KGame/KGameSequence | kgame |
includes/KGame/KGameVersion | kgame |
includes/KGame/KMessageClient | kgame |
includes/KGame/KMessageIO | kgame |
includes/KGame/KMessageServer | kgame |
includes/KGame/KPlayer | kgame |
includes/KGameLCD | misc/lcd |
includes/KGameMisc | misc/randomname |
includes/KGamePopupItem | misc/popupitem |
includes/KGameProgress | misc/progress |
includes/KGameRenderedItem | kgamerenderer |
includes/KGameRenderedObjectItem | kgamerenderer |
includes/KGameRenderer | kgamerenderer |
includes/KGameRendererClient | kgamerenderer |
includes/KGameSvgDigits | misc/svgdigits |
includes/KGameSvgDocument | misc/svgdocument |
includes/KGameTheme | theming |
includes/KGameThemeSelector | theming |
includes/KGGZRankingsDialog | kggz |
includes/KGGZSeatsDialog | kggz |
includes/KGrid2D | misc/grid2d |
includes/KHighscore | highscore |
includes/KScoreDialog | highscore |
includes/KStandardGameAction | misc/standardactions |