#include eServiceGrid::eServiceGrid(eWidget *parent): eWidget(parent) { para=0; grid=0; elemsize=eSize(16, 16); } void eServiceGrid::createGrid(eSize gs) { gridsize=gs; if (grid) delete[] grid; if (!(gridsize.x() && gridsize.y())) return; grid=new (eService*)[gridsize.x()*gridsize.y()]; } eService **eServiceGrid::allocateGrid(eSize size) { for (int y=0; yservice_name); eSize size=temp.getExtends(); eSize gsize=eSize((size.width()+elemsize.width()-1)/elemsize.width(), (size.height()+elemsize.height()-1)/elemsize.height()); eService **sp=allocateGrid(gsize); if (!sp) return; for (int cy=0; ok && cysetCursor(x*elemsize.width(), y*elemsize.height()); para->renderString((*gp)->service_name); } *gp++; } }