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);
}
}