KGameRendererClient

Search for usage in LXR

KGameRendererClient Class Referenceabstract

#include <KGameRendererClient>

Inheritance diagram for KGameRendererClient:

Public Member Functions

 KGameRendererClient (KGameRenderer *renderer, const QString &spriteKey)
 
QHash< QColor, QColorcustomColors () const
 
int frame () const
 
int frameCount () const
 
KGameRendererrenderer () const
 
QSize renderSize () const
 
void setCustomColors (const QHash< QColor, QColor > &customColors)
 
void setFrame (int frame)
 
void setRenderSize (QSize renderSize)
 
void setSpriteKey (const QString &spriteKey)
 
QString spriteKey () const
 

Protected Member Functions

virtual void receivePixmap (const QPixmap &pixmap)=0
 

Detailed Description

An object that receives pixmaps from a KGameRenderer.

This class abstracts a sprite rendered by KGameRenderer. Given a sprite key, render size and possibly a frame index, it returns the QPixmap for this sprite (frame) once it becomes available. See the KGameRenderer class documentation for details.

Subclasses have to reimplement the receivePixmap() method.

Since
4.6

Definition at line 41 of file kgamerendererclient.h.

Constructor & Destructor Documentation

◆ KGameRendererClient()

KGameRendererClient::KGameRendererClient ( KGameRenderer * renderer,
const QString & spriteKey )

Creates a new client which receives pixmaps for the sprite with the given spriteKey as provided by the given renderer.

Definition at line 22 of file kgamerendererclient.cpp.

◆ ~KGameRendererClient()

KGameRendererClient::~KGameRendererClient ( )
virtual

Definition at line 32 of file kgamerendererclient.cpp.

Member Function Documentation

◆ customColors()

QHash< QColor, QColor > KGameRendererClient::customColors ( ) const
Returns
the custom color replacements for this client

Definition at line 114 of file kgamerendererclient.cpp.

◆ frame()

int KGameRendererClient::frame ( ) const
Returns
the current frame number, or -1 for non-animated sprites

Definition at line 70 of file kgamerendererclient.cpp.

◆ frameCount()

int KGameRendererClient::frameCount ( ) const
Returns
the frame count, or 0 for non-animated sprites, or -1 if the sprite does not exist at all
See also
KGameRenderer::frameCount()

Definition at line 63 of file kgamerendererclient.cpp.

◆ receivePixmap()

virtual void KGameRendererClient::receivePixmap ( const QPixmap & pixmap)
protectedpure virtual

This method is called when the KGameRenderer has provided a new pixmap for this client (esp.

after theme changes and after calls to setFrame(), setRenderSize() and setSpriteKey()).

Implemented in KGameRenderedGraphicsObject, and KGameRenderedItem.

◆ renderer()

KGameRenderer * KGameRendererClient::renderer ( ) const
Returns
the renderer used by this client

Definition at line 39 of file kgamerendererclient.cpp.

◆ renderSize()

QSize KGameRendererClient::renderSize ( ) const
Returns
the size of the pixmap requested from KGameRenderer

Definition at line 97 of file kgamerendererclient.cpp.

◆ setCustomColors()

void KGameRendererClient::setCustomColors ( const QHash< QColor, QColor > & customColors)

Defines the custom color replacements for this client.

That is, for each entry in this has, the key color will be replaced by its value if it is encountered in the sprite.

Note
Custom colors increase the rendering time considerably, so use this feature only if you really need its flexibility.

Definition at line 121 of file kgamerendererclient.cpp.

◆ setFrame()

void KGameRendererClient::setFrame ( int frame)

For animated sprites, render another frame.

The given frame number is normalized by taking the modulo of the frame count, so the following code works fine:

class MyClient : public KGameRendererClient { ... }
MyClient client;
client.setFrame(client.frame() + 1); //cycle to next frame
client.setFrame(KRandom::random()); //choose a random frame
An object that receives pixmaps from a KGameRenderer.

Definition at line 77 of file kgamerendererclient.cpp.

◆ setRenderSize()

void KGameRendererClient::setRenderSize ( QSize renderSize)

Defines the size of the pixmap that will be requested from KGameRenderer.

For pixmaps rendered on the screen, you usually want to set this size such that the pixmap does not have to be scaled when it is rendered onto your primary view (for speed reasons).

The default render size is very small (width = height = 3 pixels), so that you notice when you forget to set this. ;-)

Definition at line 104 of file kgamerendererclient.cpp.

◆ setSpriteKey()

void KGameRendererClient::setSpriteKey ( const QString & spriteKey)

Defines the key of the sprite which is rendered by this client.

Definition at line 53 of file kgamerendererclient.cpp.

◆ spriteKey()

QString KGameRendererClient::spriteKey ( ) const
Returns
the key of the sprite currently rendered by this client

Definition at line 46 of file kgamerendererclient.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:16:50 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.