Minsky
minsky::anonymous_namespace{minskyTCL.cc}::IconBase< T > Struct Template Reference
Inheritance diagram for minsky::anonymous_namespace{minskyTCL.cc}::IconBase< T >:
Inheritance graph
Collaboration diagram for minsky::anonymous_namespace{minskyTCL.cc}::IconBase< T >:
Collaboration graph

Public Member Functions

template<class... U>
 IconBase (const char *imageName, U... x)
 
void draw ()
 

Detailed Description

template<class T>
struct minsky::anonymous_namespace{minskyTCL.cc}::IconBase< T >

Definition at line 153 of file minskyTCL.cc.

Constructor & Destructor Documentation

◆ IconBase()

template<class T >
template<class... U>
minsky::anonymous_namespace{minskyTCL.cc}::IconBase< T >::IconBase ( const char *  imageName,
U...  x 
)
inline

Definition at line 156 of file minskyTCL.cc.

156  : T(std::forward<U>(x)...)
157  {
158  Tk_PhotoHandle photo = Tk_FindPhoto(interp(), imageName);
159  if (photo)
160  cairoSurface.reset(new cairo::TkPhotoSurface(photo));
161  }

Member Function Documentation

◆ draw()

template<class T >
void minsky::anonymous_namespace{minskyTCL.cc}::IconBase< T >::draw ( )
inline

Definition at line 163 of file minskyTCL.cc.

164  {
165  initMatrix();
166  cairo_translate(cairoSurface->cairo(), 0.5*cairoSurface->width(), 0.5*cairoSurface->height());
167  cairo_select_font_face(cairoSurface->cairo(), "sans-serif",
168  CAIRO_FONT_SLANT_ITALIC,CAIRO_FONT_WEIGHT_NORMAL);
169  cairo_set_font_size(cairoSurface->cairo(),12);
170  cairo_set_line_width(cairoSurface->cairo(),1);
171  T::draw(cairoSurface->cairo());
172  cairoSurface->blit();
173  }

The documentation for this struct was generated from the following file: