Ejemplo n.º 1
0
fresult xScatteredMenu::CreateTextMenu( Position* positions, char** texts, ubyte_t count, Size itemSize, TextFormat* format, TextFormat* selFormat, ScatteredMenu** oMnu )
{
	IMenuItem** items = new IMenuItem*[count];
	(*oMnu) = new ScatteredMenu();
	fresult fres;

	for (ubyte_t i =0; i< count; i++)
	{
		MenuItem* item = new MenuItem();
		items[i] = item;

		TextField* tx;
		
		sword_t len = Length(texts[i]);
		Size buffSizeTx;
		buffSizeTx.Height =1;
		buffSizeTx.Width = (ubyte_t)len;

		fres = CreateTextField(texts[i], itemSize, positions[i], format, &tx, buffSizeTx);
		if (fres!=SUCCESS)
		{
			return fres;
		}

		fres = item->Init(tx,selFormat, NULL, tx, NULL, 0);
		if (fres!=SUCCESS)
		{
			return fres;
		}
	}

	//init menu
	fres = (*oMnu)->Init(items,count);
	if (fres != SUCCESS)
	{
		return fres;
	}
	return SUCCESS;
}