KDE Games/API cleanup: Difference between revisions

From KDE Community Wiki
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
libkdegames v5 is the new iteration of libkdegames which is intended to ship with KDE Development Platform 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.


<small>The fine print: The SO version for libkdegames v5 is actually 6.</small>
<small>The fine print: The SO version for libkdegames v5 is actually 6.</small>


== List of components ==
== Components ==


libkdegames consists of multiple (possibly interdependent) components, as defined by this list. See the list 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.
 
=== Needing attention ===
 
This table lists the components which need attention.


{| 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%;"
|- style="background: #ececec; white-space:nowrap;"
|- style="background: #ececec; white-space:nowrap;"
! Component
! Component
! Description
! Short desc.
! Dependencies (on other components)
! Dependencies
! width=120 | Current maintainer
! Move target
|-
|- style="background-color:#EEFFEE"
| highscore
| style="background-color:#ABFFAB" | highscore
| Records and displays highscores.
| Highscore recording and GUI.
| -
|  
|- style="background-color:#EEEEFF"
| style="background-color:#ABABFF" | kchat
| Chat widget.
| -
| -
|
|
|-
|- style="background-color:#FFFFCD"
| kgamecanvas
| style="background-color:#FFFFA0" | kgame
| General game framework.
| kchat
| ksirk
|- style="background-color:#FFFFCD"
| style="background-color:#FFFFA0" | kgamecanvas
| Alternative to QGraphicsView.
| Alternative to QGraphicsView.
| kgamerenderer (integration)
| kgamerenderer (integration)
| libkgamecanvas_private
|- style="background-color:#FFFFCD"
| style="background-color:#FFFFA0" | misc/svgdocument
| Transform SVG elements.
| -
| ksirk
|}
&nbsp;
{| 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
| style="background-color:#ABFFFF" width="100" | New
| style="background-color:#ABABFF" | Undecided
|-
! 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.
| style="background-color:#EEFFFF" | New code and API (e.g. coming from Project Tagaro).
| style="background-color:#EEEEFF" | To be discussed on kde-games-devel mailinglist.
|}
=== Done ===
This table lists those components which have already been taken care of.
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
|- style="background: #ececec; white-space:nowrap;"
! Component
! Short desc.
! Dependencies
! Move target
|- style="background-color:#EEFFFF"
| style="background-color:#ABFFFF" | audio
| Simple sound playback.
| -
|
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | base
| Macros and API-less behavior.
| -
|
|
|-
|- style="background-color:#EEFFEE"
| kgamerenderer
| style="background-color:#ABFFAB" | carddecks
| Multithreaded rendering of (static) theme graphics.
| SVG card deck files used by KPat and LSkat.
| -
|
|- style="background-color:#FFFFCD"
| style="background-color:#FFFFA0" | cardloading
| Carddeck theme loading and selection.
| -
| lskat
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | kgamerenderer
| Rendering of theme graphics.
| theming
| theming
| Stefan Majewsky
|  
|-
|- style="background-color:#FFEEEE"
| kggz
| style="background-color:#FFABAB" | kggz
| Network-enabled multiplayer.
| Network-enabled multiplayer.
| -
| -
|
|  
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | misc/clock
| Game clock (second accuracy).
| -
|
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | misc/difficulty
| Track difficulty level.
| -
|
|- style="background-color:#FFFFCD"
| style="background-color:#FFFFA0" | misc/grid2d
| Coordinate calculations on 2D grids.
| -
| krosswordpuzzle (playground)
|- style="background-color:#FFEEEE"
| style="background-color:#FFABAB" | misc/lcd
| Enhanced QLCDNumber.
| -
|
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | misc/popupitem
| Message popup for QGraphicsView.
| -
|
|- style="background-color:#FFEEEE"
| style="background-color:#FFABAB" | misc/progress
| A very old progress bar.
| -
|
|- style="background-color:#FFEEEE"
| style="background-color:#FFABAB" | misc/randomname
| Function to generate a random name.
| -
|
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | misc/standardactions
| Standard KActions for games.
| -
|
|- style="background-color:#FFEEEE"
| style="background-color:#FFABAB" | misc/svgdigits
| Digits rendered from SVG.
| -
|
|- style="background-color:#EEFFEE"
| style="background-color:#ABFFAB" | theming
| Management of SVG themes.
| -
|
|}
 
&nbsp;
 
{| 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" | Deleted
| style="background-color:#FFFFA0" | Moved out
| style="background-color:#ABFFAB" | Kept
| style="background-color:#ABFFFF" width="100" | New
|-
! Description
| style="background-color:#FFEEEE" | Has been deleted from libkdegames.
| style="background-color:#FFFFCD" | Has been moved into the source tree of the mentioned move target.
| style="background-color:#EEFFEE" | Has been kept in libkdegames. Where appropriate, API and implementation have been updated.
| style="background-color:#EEFFFF" | Has been merged into libkdegames.
|}
|}


== List of files ==
== List of files (as of 4.8 release) ==




Line 42: Line 179:
! Source file
! Source file
! Belongs to component
! Belongs to component
|-
| cardcache.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
|
|-
| carddeckinfo.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
|
|-
|-
| chooserastergraphicssystem.<span style="color:green">cpp</span>
| chooserastergraphicssystem.<span style="color:green">cpp</span>
|  
| base
|-
|-
| colorproxy_p.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| colorproxy_p.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgamerenderer  
| kgamerenderer  
|-
| digits/kgamesvgdigits.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
|-
| highscore/kexthighscore.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| highscore/kexthighscore.<span style="color:green">cpp</span>/<span style="color:red">h</span>
Line 78: Line 206:
| highscore/kscoredialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| highscore/kscoredialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| highscore
| highscore
|-
| kcarddialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
|-
| kchatbase.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kchatbase.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kchat
|-
|-
| kchatbaseitemdelegate.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kchatbaseitemdelegate.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kchat
|-
|-
| kchatbasemodel.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kchatbasemodel.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kchat
|-
|-
| kchat.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kchat.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kchat
|-
|-
| kchatdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kchatdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kchat
|-
|-
| kgamecanvas.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgamecanvas.<span style="color:green">cpp</span>/<span style="color:red">h</span>
Line 101: Line 226:
|-
|-
| kgameclock.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgameclock.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| misc/clock
|-
|-
| kgame/dialogs/kgameconnectdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/dialogs/kgameconnectdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/dialogs/kgamedebugdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/dialogs/kgamedebugdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/dialogs/kgamedialogconfig.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/dialogs/kgamedialogconfig.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/dialogs/kgamedialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/dialogs/kgamedialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/dialogs/kgameerrordialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/dialogs/kgameerrordialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgamedifficulty.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgamedifficulty.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| misc/difficulty
|-
|-
| kgame/kgamechat.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgamechat.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgame.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgame.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgameerror.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgameerror.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgameio.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgameio.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgamemessage.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgamemessage.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgamenetwork.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgamenetwork.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgameprocess.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgameprocess.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgamepropertyarray.<span style="color:red">h</span>
| kgame/kgamepropertyarray.<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgameproperty.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgameproperty.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgamepropertyhandler.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgamepropertyhandler.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgamesequence.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kgamesequence.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kgameversion.<span style="color:red">h</span>
| kgame/kgameversion.<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kmessageclient.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kmessageclient.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kmessageio.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kmessageio.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
|-
| kgame/kmessageserver.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kgame/kmessageserver.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
|  
| kgame
|-
|-
| kgame/kplayer.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgame/kplayer.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
| kgamelcd.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
| kgamemisc.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
|-
| kgamepopupitem.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgamepopupitem.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| misc/popupitem
|-
| kgameprogress.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
|-
| kgamerendereditem.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgamerendereditem.<span style="color:green">cpp</span>/<span style="color:red">h</span>
Line 194: Line 310:
|-
|-
| kgamesvgdocument.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kgamesvgdocument.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
|  
| misc/svgdocument
|-
|-
| kgametheme.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgametheme.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| theming
|-
|-
| kgamethemeselector.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kgamethemeselector.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| theming
|-
| kggzgames/kggzgames_export.<span style="color:red">h</span>
| kggz
|-
| kggzgames/kggzrankingsdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzgames/kggzseatsdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzmod/event.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzmod/kggzmod_export.<span style="color:red">h</span>
| kggz
|-
| kggzmod/misc_private.<span style="color:red">h</span>
| kggz
|-
| kggzmod/module.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kggz
|-
| kggzmod/player.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kggz
|-
| kggzmod/request.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzmod/statistics.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kggz
|-
| kggznet/kggznet_export.<span style="color:red">h</span>
| kggz
|-
| kggznet/kggzpacket.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggznet/kggzraw.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kgrid2d.<span style="color:red">h</span>
|
|-
|-
| kstandardgameaction.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kstandardgameaction.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| misc/standardactions
|-
|-
| libkdegames_export.<span style="color:red">h</span>
| libkdegames_export.<span style="color:red">h</span>
|  
| base
|-
|-
| tests/kgamepopupitemtest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| tests/kgamepopupitemtest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| misc/popupitem
|-
|-
| tests/kgamepropertytest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| tests/kgamepropertytest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|  
| kgame
|-
| tests/kgamesvgdigitstest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
| tests/kgamesvgdocumenttest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
|
|-
| includes/KCardCache
|
|-
| includes/KCardDeckInfo
|
|-
| includes/KCardDialog
|
|-
|-
| includes/KChat
| includes/KChat
|  
| kchat
|-
|-
| includes/KChatBase
| includes/KChatBase
|  
| kchat
|-
|-
| includes/KChatBaseItemDelegate
| includes/KChatBaseItemDelegate
|  
| kchat
|-
|-
| includes/KChatDialog
| includes/KChatDialog
|  
| kchat
|-
|-
| includes/KExtHighscore
| includes/KExtHighscore
Line 290: Line 349:
|-
|-
| includes/KGameClock
| includes/KGameClock
|  
| misc/clock
|-
|-
| includes/KGameDifficulty
| includes/KGameDifficulty
|  
| misc/difficulty
|-
|-
| includes/KGame/KGame
| includes/KGame/KGame
|  
| kgame
|-
|-
| includes/KGame/KGameChat
| includes/KGame/KGameChat
|  
| kgame
|-
|-
| includes/KGame/KGameConnectDialog
| includes/KGame/KGameConnectDialog
|  
| kgame
|-
|-
| includes/KGame/KGameDebugDialog
| includes/KGame/KGameDebugDialog
|  
| kgame
|-
|-
| includes/KGame/KGameDialog
| includes/KGame/KGameDialog
|  
| kgame
|-
|-
| includes/KGame/KGameDialogConfig
| includes/KGame/KGameDialogConfig
|  
| kgame
|-
|-
| includes/KGame/KGameError
| includes/KGame/KGameError
|  
| kgame
|-
|-
| includes/KGame/KGameErrorDialog
| includes/KGame/KGameErrorDialog
|  
| kgame
|-
|-
| includes/KGame/KGameIO
| includes/KGame/KGameIO
|  
| kgame
|-
|-
| includes/KGame/KGameMessage
| includes/KGame/KGameMessage
|  
| kgame
|-
|-
| includes/KGame/KGameNetwork
| includes/KGame/KGameNetwork
|  
| kgame
|-
|-
| includes/KGame/KGameProcess
| includes/KGame/KGameProcess
|  
| kgame
|-
|-
| includes/KGame/KGameProperty
| includes/KGame/KGameProperty
|  
| kgame
|-
|-
| includes/KGame/KGamePropertyArray
| includes/KGame/KGamePropertyArray
|  
| kgame
|-
|-
| includes/KGame/KGamePropertyHandler
| includes/KGame/KGamePropertyHandler
|  
| kgame
|-
|-
| includes/KGame/KGameSequence
| includes/KGame/KGameSequence
|  
| kgame
|-
|-
| includes/KGame/KGameVersion
| includes/KGame/KGameVersion
|  
| kgame
|-
|-
| includes/KGame/KMessageClient
| includes/KGame/KMessageClient
|  
| kgame
|-
|-
| includes/KGame/KMessageIO
| includes/KGame/KMessageIO
|  
| kgame
|-
|-
| includes/KGame/KMessageServer
| includes/KGame/KMessageServer
|  
| kgame
|-
|-
| includes/KGame/KPlayer
| includes/KGame/KPlayer
|  
| kgame
|-
| includes/KGameLCD
|
|-
| includes/KGameMisc
|
|-
|-
| includes/KGamePopupItem
| includes/KGamePopupItem
|  
| misc/popupitem
|-
| includes/KGameProgress
|
|-
|-
| includes/KGameRenderedItem
| includes/KGameRenderedItem
Line 381: Line 431:
| includes/KGameRendererClient
| includes/KGameRendererClient
| kgamerenderer
| kgamerenderer
|-
| includes/KGameSvgDigits
|
|-
|-
| includes/KGameSvgDocument
| includes/KGameSvgDocument
|  
| misc/svgdocument
|-
|-
| includes/KGameTheme
| includes/KGameTheme
|  
| theming
|-
|-
| includes/KGameThemeSelector
| includes/KGameThemeSelector
|  
| theming
|-
| includes/KHighscore
| highscore
|-
| includes/KScoreDialog
| highscore
|-
| includes/KStandardGameAction
| misc/standardactions
|}
 
=== Removed files ===
 
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width:100%;"
|- style="background: #ececec; white-space:nowrap;"
! Source file
! Belongs to component
|-
| cardcache.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| cardloading
|-
| carddeckinfo.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| cardloading
|-
| digits/kgamesvgdigits.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| misc/svgdigits
|-
| kcarddialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| cardloading
|-
| kgamelcd.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| misc/lcd
|-
| kgamemisc.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| misc/randomname
|-
| kgameprogress.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| misc/progress
|-
| kggzgames/kggzgames_export.<span style="color:red">h</span>
| kggz
|-
| kggzgames/kggzrankingsdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzgames/kggzseatsdialog.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzmod/event.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzmod/kggzmod_export.<span style="color:red">h</span>
| kggz
|-
| kggzmod/misc_private.<span style="color:red">h</span>
| kggz
|-
| kggzmod/module.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kggz
|-
| kggzmod/player.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kggz
|-
| kggzmod/request.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggzmod/statistics.<span style="color:green">cpp</span>/<span style="color:red">h</span>/<span style="color:blue">ph</span>
| kggz
|-
| kggznet/kggznet_export.<span style="color:red">h</span>
| kggz
|-
| kggznet/kggzpacket.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kggznet/kggzraw.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| kggz
|-
| kgrid2d.<span style="color:red">h</span>
| misc/grid2d
|-
| tests/kgamesvgdigitstest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| misc/svgdigits
|-
| tests/kgamesvgdocumenttest.<span style="color:green">cpp</span>/<span style="color:red">h</span>
| misc/svgdocument
|-
| includes/KCardCache
| cardloading
|-
| includes/KCardDeckInfo
| cardloading
|-
| includes/KCardDialog
| cardloading
|-
| includes/KGameLCD
| misc/lcd
|-
| includes/KGameMisc
| misc/randomname
|-
| includes/KGameProgress
| misc/progress
|-
| includes/KGameSvgDigits
| misc/svgdigits
|-
|-
| includes/KGGZRankingsDialog
| includes/KGGZRankingsDialog
Line 401: Line 555:
|-
|-
| includes/KGrid2D
| includes/KGrid2D
|  
| misc/grid2d
|-
| includes/KHighscore
| highscore
|-
| includes/KScoreDialog
| highscore
|-
| includes/KStandardGameAction
|
|}
|}

Latest revision as of 00:43, 15 April 2012

libkdegames v5 is the new iteration of libkdegames which is intended to ship with KDE Development Platform 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.

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.

Needing attention

This table lists the components which need attention.

Component Short desc. Dependencies Move target
highscore Highscore recording and GUI. -
kchat Chat widget. -
kgame General game framework. kchat ksirk
kgamecanvas Alternative to QGraphicsView. kgamerenderer (integration) libkgamecanvas_private
misc/svgdocument Transform SVG elements. - ksirk

 

Color key Delete Make private Keep New Undecided
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. New code and API (e.g. coming from Project Tagaro). To be discussed on kde-games-devel mailinglist.

Done

This table lists those components which have already been taken care of.

Component Short desc. Dependencies Move target
audio Simple sound playback. -
base Macros and API-less behavior. -
carddecks SVG card deck files used by KPat and LSkat. -
cardloading Carddeck theme loading and selection. - lskat
kgamerenderer Rendering of theme graphics. theming
kggz Network-enabled multiplayer. -
misc/clock Game clock (second accuracy). -
misc/difficulty Track difficulty level. -
misc/grid2d Coordinate calculations on 2D grids. - krosswordpuzzle (playground)
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. -
theming Management of SVG themes. -

 

Color key Deleted Moved out Kept New
Description Has been deleted from libkdegames. Has been moved into the source tree of the mentioned move target. Has been kept in libkdegames. Where appropriate, API and implementation have been updated. Has been merged into libkdegames.

List of files (as of 4.8 release)

Source file Belongs to component
chooserastergraphicssystem.cpp base
colorproxy_p.cpp/h kgamerenderer
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
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
kgamepopupitem.cpp/h misc/popupitem
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
kstandardgameaction.cpp/h misc/standardactions
libkdegames_export.h base
tests/kgamepopupitemtest.cpp/h misc/popupitem
tests/kgamepropertytest.cpp/h kgame
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/KGamePopupItem misc/popupitem
includes/KGameRenderedItem kgamerenderer
includes/KGameRenderedObjectItem kgamerenderer
includes/KGameRenderer kgamerenderer
includes/KGameRendererClient kgamerenderer
includes/KGameSvgDocument misc/svgdocument
includes/KGameTheme theming
includes/KGameThemeSelector theming
includes/KHighscore highscore
includes/KScoreDialog highscore
includes/KStandardGameAction misc/standardactions

Removed files

Source file Belongs to component
cardcache.cpp/h/ph cardloading
carddeckinfo.cpp/h/ph cardloading
digits/kgamesvgdigits.cpp/h misc/svgdigits
kcarddialog.cpp/h cardloading
kgamelcd.cpp/h misc/lcd
kgamemisc.cpp/h misc/randomname
kgameprogress.cpp/h misc/progress
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
tests/kgamesvgdigitstest.cpp/h misc/svgdigits
tests/kgamesvgdocumenttest.cpp/h misc/svgdocument
includes/KCardCache cardloading
includes/KCardDeckInfo cardloading
includes/KCardDialog cardloading
includes/KGameLCD misc/lcd
includes/KGameMisc misc/randomname
includes/KGameProgress misc/progress
includes/KGameSvgDigits misc/svgdigits
includes/KGGZRankingsDialog kggz
includes/KGGZSeatsDialog kggz
includes/KGrid2D misc/grid2d