Search for usage in LXR

KGameCanvasAdapter Class Referenceabstract

#include <KGameCanvas>

Inheritance diagram for KGameCanvasAdapter:

Public Member Functions

 KGameCanvasAdapter ()
QPoint canvasPosition () const override
virtual void render (QPainter *p)
class KGameCanvasWidgettopLevelCanvas () override
virtual void updateParent (const QRect &rect)=0
- Public Member Functions inherited from KGameCanvasAbstract
 KGameCanvasAbstract ()
KGameCanvasItemitemAt (const QPoint &pos) const
KGameCanvasItemitemAt (int x, int y) const
const QList< KGameCanvasItem * > * items () const
QList< KGameCanvasItem * > itemsAt (const QPoint &pos) const
QList< KGameCanvasItem * > itemsAt (int x, int y) const

Additional Inherited Members

- Protected Attributes inherited from KGameCanvasAbstract
QList< KGameCanvasItem * > m_animated_items
QList< KGameCanvasItem * > m_items

Detailed Description

A generic adapter for KGameCanvas.

KGameCanvasAdapter can be used to draw content managed by KGameCanvas inside systems which do not use KGameCanvas internally for their rendering.

For example, suppose you have a widget CustomDisplay which paints itself with direct QPainter calls in its paintEvent, and you want to add a complex element to its rendering, which is best implemented via the KGameCanvas abstractions. What you can do is to create a KGameCanvasAdapter subclass, use it just like a KGameCanvasGroup, then call its render member function to have a QPainter object draw it.

A KGameCanvas adapter notifies its parent using the pure virtual function updateParent, which is called when the adapter content is invalidated.

Support animations
For new applications, use Qt's Graphics View framework or Qt Quick.

Definition at line 682 of file kgamecanvas.h.

Constructor & Destructor Documentation

◆ KGameCanvasAdapter()

KGameCanvasAdapter::KGameCanvasAdapter ( )


Definition at line 990 of file kgamecanvas.cpp.

Member Function Documentation

◆ canvasPosition()

QPoint KGameCanvasAdapter::canvasPosition ( ) const

The absolute position of the rendered content is not well defined for KGameCanvasAdapter.

We assume that the adapter will be rendered at (0,0), and leave it to the user to perform the necessary adjustments, which will depend on the chosen rendering method.

The point (0, 0).

Implements KGameCanvasAbstract.

Definition at line 719 of file kgamecanvas.h.

◆ render()

void KGameCanvasAdapter::render ( QPainter p)

Draw the items of the adapter using the specified painter.

pThe QPainter object to be used for rendering.

Definition at line 1008 of file kgamecanvas.cpp.

◆ topLevelCanvas()

class KGameCanvasWidget* KGameCanvasAdapter::topLevelCanvas ( )

An adapter is not associated to any canvas, so this function simply returns 0.

Implements KGameCanvasAbstract.

Definition at line 705 of file kgamecanvas.h.

◆ updateParent()

virtual void KGameCanvasAdapter::updateParent ( const QRect rect)
pure virtual

Notify the parent that the adapter content inside rect needs to be redrawn.

rect The bounding rectangle of the region that needs repainting.

The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Sep 27 2023 04:05:14 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.