#include "SkOSMenu.h" static int gOSMenuCmd = 7000; SkOSMenu::SkOSMenu(const char title[]) { fTitle = title; } SkOSMenu::~SkOSMenu() { } int SkOSMenu::countItems() const { return fItems.count(); } void SkOSMenu::appendItem(const char title[], const char eventType[], int32_t eventData) { Item* item = fItems.append(); item->fTitle = title; item->fEventType = eventType; item->fEventData = eventData; item->fOSCmd = ++gOSMenuCmd; } SkEvent* SkOSMenu::createEvent(uint32_t os_cmd) { const Item* iter = fItems.begin(); const Item* stop = fItems.end(); while (iter < stop) { if (iter->fOSCmd == os_cmd) { SkEvent* evt = new SkEvent(iter->fEventType); evt->setFast32(iter->fEventData); return evt; } iter++; } return NULL; } const char* SkOSMenu::getItem(int index, uint32_t* cmdID) const { if (cmdID) *cmdID = fItems[index].fOSCmd; return fItems[index].fTitle; }