Wt examples  4.10.4
ImagesWidget.C
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 Emweb bv, Herent, Belgium
3  *
4  * See the LICENSE file for terms of use.
5  */
6 
7 #include "ImagesWidget.h"
8 
9 #include <Wt/WImage.h>
10 #include <Wt/WAny.h>
11 
12 const int ImagesWidget::HURRAY = -1;
13 
15 {
16  for (int i = 0; i <= maxGuesses; ++i) {
17  std::string fname = "icons/hangman";
18  fname += std::to_string(i) + ".jpg";
19  auto theImage = addNew<Wt::WImage>(fname);
20  images_.push_back(theImage);
21 
22  // Although not necessary, we can avoid flicker (on konqueror)
23  // by presetting the image size.
24  theImage->resize(256, 256);
25  theImage->hide();
26  }
27 
28  auto hurray = addNew<Wt::WImage>("icons/hangmanhurray.jpg");
29  hurray->hide();
30  images_.push_back(hurray);
31 
32  image_ = 0;
33  showImage(maxGuesses);
34 }
35 
36 void ImagesWidget::showImage(int index)
37 {
38  image(image_)->hide();
39  image_ = index;
40  image(image_)->show();
41 }
42 
44 {
45  return index == HURRAY ? images_.back() : images_[index];
46 }
Wt::WImage * image(int index) const
Definition: ImagesWidget.C:43
void showImage(int index)
Definition: ImagesWidget.C:36
static const int HURRAY
Definition: ImagesWidget.h:18
std::vector< Wt::WImage * > images_
Definition: ImagesWidget.h:30
ImagesWidget(int maxGuesses)
Definition: ImagesWidget.C:14