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

ksquares

Public Slots | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GameBoardScene Class Reference

#include <gameboardscene.h>

Inheritance diagram for GameBoardScene:
Inheritance graph
[legend]

Public Slots

void disableEvents ()
 
void drawLine (int index, const QColor &colour)
 
void drawSquare (int index, const QColor &colour)
 
void enableEvents ()
 
void highlightLine (int index)
 

Signals

void lineDrawn (int)
 

Public Member Functions

 GameBoardScene (int newWidth, int newHeight, QObject *parent=0)
 
 ~GameBoardScene ()
 
void acknowledgeMove (int x1, int y1, int x2, int y2)
 
const QSize minimumSizeHint () const
 

Protected Member Functions

void addLineToIndex (const QList< QGraphicsEllipseItem * > &pointPair)
 
QList< QGraphicsEllipseItem * > getTwoNearestPoints (const QPointF &pos) const
 
int indexFromPointPair (const QList< QGraphicsEllipseItem * > &pointPair) const
 
bool isLineAlready (const QList< QGraphicsEllipseItem * > &pointPair) const
 
QLineF lineFromIndex (int index) const
 
void mouseMoveEvent (QGraphicsSceneMouseEvent *mouseEvent)
 
void mouseReleaseEvent (QGraphicsSceneMouseEvent *mouseEvent)
 

Protected Attributes

bool acceptEvents
 
int height
 
QGraphicsLineItem * indicatorLine
 
QList< bool > lineList
 
int QGraphicsEllipseItemType
 
int spacing
 
int width
 

Detailed Description

Scene for displaying the game board.

Created anew at the beginning of each game. Contains the visual representation of the board. Is used to interperet mouse clicks from the user (if the view is unlocked) Contains QGraphicsLineItems for lines, QGraphicsEllipseItems for the dots and QGraphicsRectItem for when a square is complete.

Author
Matt Williams matt@.nosp@m.mill.nosp@m.iams..nosp@m.com

Definition at line 27 of file gameboardscene.h.

Constructor & Destructor Documentation

GameBoardScene::GameBoardScene ( int  newWidth,
int  newHeight,
QObject *  parent = 0 
)

Create a new gameboard scene with the appropriate size.

Parameters
newWidththe number of squares wide the board is
newHeightthe number of squares tall the board is
parentpassed to QGraphicsScene's constructor

Definition at line 21 of file gameboardscene.cpp.

GameBoardScene::~GameBoardScene ( )

Destructor.

Definition at line 76 of file gameboardscene.cpp.

Member Function Documentation

void GameBoardScene::acknowledgeMove ( int  x1,
int  y1,
int  x2,
int  y2 
)

Definition at line 247 of file gameboardscene.cpp.

void GameBoardScene::addLineToIndex ( const QList< QGraphicsEllipseItem * > &  pointPair)
protected

Adds the line to the index for a specified pair of points.

Parameters
pointPairQList of (hopefully 2) QGraphicsEllipseItem*s

Definition at line 185 of file gameboardscene.cpp.

void GameBoardScene::disableEvents ( )
inlineslot

enables mouse events

Definition at line 70 of file gameboardscene.h.

void GameBoardScene::drawLine ( int  index,
const QColor &  colour 
)
slot

Add the line to the scene so it shows up in the view.

Parameters
indexthe line-index of the line
colourthe colour of the line

Definition at line 82 of file gameboardscene.cpp.

void GameBoardScene::drawSquare ( int  index,
const QColor &  colour 
)
slot

Fill a box to show it is owned be a particular player.

Parameters
indexthe square-index of the square
colourthe colour fill of the square

Definition at line 100 of file gameboardscene.cpp.

void GameBoardScene::enableEvents ( )
inlineslot

disables mouse events

Definition at line 68 of file gameboardscene.h.

QList< QGraphicsEllipseItem * > GameBoardScene::getTwoNearestPoints ( const QPointF &  pos) const
protected

Given a single location in the scene, gives the two nearest QGraphicsEllipseItem.

Parameters
posthe point in question
Returns
QList of (hopefully 2) QGraphicsEllipseItem*s

Definition at line 194 of file gameboardscene.cpp.

void GameBoardScene::highlightLine ( int  index)
slot

Draw a temporary halo behind a line.

Parameters
indexthe line-index of the line

Definition at line 93 of file gameboardscene.cpp.

int GameBoardScene::indexFromPointPair ( const QList< QGraphicsEllipseItem * > &  pointPair) const
protected

Takes a pair of QGraphicsEllipseItems and finds the index that relates to the line that's between them.

Parameters
pointPairQList of (hopefully 2) QGraphicsEllipseItem*s
Returns
the line-index

Definition at line 107 of file gameboardscene.cpp.

bool GameBoardScene::isLineAlready ( const QList< QGraphicsEllipseItem * > &  pointPair) const
protected

Given a pair of points, returns whether there is already a line there.

Parameters
pointPairQList of (hopefully 2) QGraphicsEllipseItem*s
Returns
trur if there is a line there

Definition at line 176 of file gameboardscene.cpp.

void GameBoardScene::lineDrawn ( int  )
signal

Emits the index of the closet (undrawn) line when a click is detected.

QLineF GameBoardScene::lineFromIndex ( int  index) const
protected

Takes a line-index and returns a QLineF located at that position.

Parameters
indexthe line-index
Returns
line located at the correct position

Definition at line 147 of file gameboardscene.cpp.

const QSize GameBoardScene::minimumSizeHint ( ) const

The smallest the view can be when 'auto-zoom' is off.

Returns
the minimum size the view should be

Definition at line 215 of file gameboardscene.cpp.

void GameBoardScene::mouseMoveEvent ( QGraphicsSceneMouseEvent *  mouseEvent)
protected

Definition at line 254 of file gameboardscene.cpp.

void GameBoardScene::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  mouseEvent)
protected

Definition at line 226 of file gameboardscene.cpp.

Member Data Documentation

bool GameBoardScene::acceptEvents
protected

This property holds whether mouse events are enabled for this widget.

Definition at line 121 of file gameboardscene.h.

int GameBoardScene::height
protected

Height of the board.

Definition at line 117 of file gameboardscene.h.

QGraphicsLineItem* GameBoardScene::indicatorLine
protected

Moves to show where the next line will be drawn.

Definition at line 107 of file gameboardscene.h.

QList<bool> GameBoardScene::lineList
protected

A local list of lines (non-canon)

Definition at line 110 of file gameboardscene.h.

int GameBoardScene::QGraphicsEllipseItemType
protected

QGraphicsEllipseItem::type()

Definition at line 113 of file gameboardscene.h.

int GameBoardScene::spacing
protected

Pixel spacing for standard zoom.

Definition at line 119 of file gameboardscene.h.

int GameBoardScene::width
protected

Width of the board.

Definition at line 115 of file gameboardscene.h.


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

KDE's Doxygen guidelines are available online.

ksquares

Skip menu "ksquares"
  • 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