• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegames API Reference
  • KDE Home
  • Contact Us
 

kigo

  • Kigo
  • ThemeRenderer
Public Types | Signals | Public Member Functions | Static Public Member Functions | List of all members
Kigo::ThemeRenderer Class Reference

#include <themerenderer.h>

Inheritance diagram for Kigo::ThemeRenderer:
Inheritance graph
[legend]

Public Types

enum  Element {
  Background = 1, Board, HandicapMark, WhiteStone,
  WhiteStoneTransparent, WhiteTerritory, BlackStone, BlackStoneTransparent,
  BlackTerritory, PlacementMarker
}
 

Signals

void themeChanged (const QString &)
 

Public Member Functions

QSize elementSize (Element element) const
 
bool loadTheme (const QString &themeName)
 
void renderElement (Element element, QPainter *painter, const QRectF &rect) const
 
QPixmap renderElement (Element element, const QSize &size) const
 

Static Public Member Functions

static ThemeRenderer * self ()
 

Detailed Description

The class ThemeRenderer loads shapes from a SVG theme file and converts them into pixmaps which can be used by QGraphicsView classes to display the game scene.

The class is implemented as a singleton because it is needed only once per application and uses a pixamp cache to efficiently store the pixmaps.

ThemeRenderer is implemented as a singleton.

Author
Sascha Peilicke sasch.nosp@m..pe@.nosp@m.gmx.d.nosp@m.e
Since
0.1

Definition at line 47 of file themerenderer.h.

Member Enumeration Documentation

enum Kigo::ThemeRenderer::Element

Enumeration of all possible renderable scene element types.

Enumerator
Background 
Board 
HandicapMark 
WhiteStone 
WhiteStoneTransparent 
WhiteTerritory 
BlackStone 
BlackStoneTransparent 
BlackTerritory 
PlacementMarker 

Definition at line 59 of file themerenderer.h.

Member Function Documentation

QSize Kigo::ThemeRenderer::elementSize ( Element  element) const

Retrieves the default size of a given theme element from the current SVG theme.

Parameters
elementThe theme element to return the size of
Returns
The rounded size of the elements rectangle

Definition at line 182 of file themerenderer.cpp.

bool Kigo::ThemeRenderer::loadTheme ( const QString &  themeName)

Load the game theme specified by 'name'.

See the correspondig KConfigXT settings file and available themes for details.

Parameters
themeNameThe name of the theme to load

Definition at line 52 of file themerenderer.cpp.

void Kigo::ThemeRenderer::renderElement ( Element  element,
QPainter *  painter,
const QRectF &  rect 
) const

Renders a specific element of the current SVG theme.

Parameters
elementDetermines which part of the theme to render
painterThe QPainter to paint the element with
rectThe desired size of the element to render

Definition at line 86 of file themerenderer.cpp.

QPixmap Kigo::ThemeRenderer::renderElement ( Element  element,
const QSize &  size 
) const

Renders and returns a specific element of the current SVG theme.

Parameters
elementDetermines which part of the theme to render
sizeThe desired size of the element to render

Definition at line 97 of file themerenderer.cpp.

static ThemeRenderer* Kigo::ThemeRenderer::self ( )
inlinestatic

Only one ThemeRenderer is needed per application, this method returns the singleton self.

Returns
ThemeRenderer self

Definition at line 78 of file themerenderer.h.

void Kigo::ThemeRenderer::themeChanged ( const QString &  )
signal

The documentation for this class was generated from the following files:
  • themerenderer.h
  • themerenderer.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:44:15 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kigo

Skip menu "kigo"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdegames API Reference

Skip menu "kdegames API Reference"
  • granatier
  • kapman
  • kblackbox
  • kgoldrunner
  • kigo
  • kmahjongg
  • KShisen
  • ksquares
  • libkdegames
  •   highscore
  •   libkdegamesprivate
  •     kgame
  • libkmahjongg
  • palapeli
  •   libpala

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal