Source Code (Use browser search to find items of interest.)

Class Index

ksmiletris'ScreenWidget (./kdegames/ksmiletris/screenwidget.h:31)

class ScreenWidget : public QFrame {
public:
	ScreenWidget(QPixmap *s, bool *game, bool *pause,
		     QWidget *parent=0, const char *name=0);

	void setBackgroundSprite(Sprite s) { bg_sprite = s; }
	void setScreenSprites(Sprite *s) { screen_sprites = s; }

private:
	QPixmap *sprites;
	bool *in_game, *in_pause;
	Sprite bg_sprite;
	Sprite *screen_sprites;

protected:
	void drawContents(QPainter *p);
};

ksmiletris'ScreenWidget::ScreenWidget() (./kdegames/ksmiletris/screenwidget.cpp:35)

ScreenWidget::ScreenWidget(QPixmap *s, bool *game, bool *pause,
			   QWidget *parent, const char *name)
	: QFrame(parent, name)
{
	in_game = game;
	in_pause = pause;
	sprites = s;
	setFrameStyle(QFrame::Box | QFrame::Raised);
	setLineWidth(2);
	setMidLineWidth(1);
	resize(scr_width * sprite_width + 10, scr_height * sprite_height + 10);
}


ksmiletris'ScreenWidget::drawContents() (./kdegames/ksmiletris/screenwidget.cpp:48)

void ScreenWidget::drawContents(QPainter *p)
{
	QRect r = contentsRect();

	if (!*in_game) {
		p->fillRect(r, black);
		return;
	}

	for (int y = 0; y < scr_height; ++y)
		for (int x = 0; x < scr_width; ++x)
			p->drawPixmap(r.x() + x*sprite_width,
				      r.y() + y*sprite_height,
				      sprites[screen_sprites[y*scr_width + x]]);

	if (*in_pause) {
		QPixmap pause(locate("appdata", "data/pause.bmp"));
		p->drawPixmap((width()-pause.width())/2, 
			      (height()-pause.height())/2, pause);
	}
}