TIGRS™
TIGRS™ is a freeself-rating system for video game entertainment products. Many developers and publishers ofInternet-available games have decided by their own volition to rate their games in order to educate their audiences about potentially objectionable content in their games.
SQLite
Immediate Mode GUI
void MyButtPushed();void OnInit()
{
m_SomeButton = new GuiButton( 10, 10, «Click Me» )
m_SomeButton->SetOnClick( MyButtPushed );
m_Desktop.AddChild( m_SomeButton );
}void OnRelease()
{
m_Desktop.RemoveChild( m_SomeButton );
delete m_SomeButton;
}void MyButtPushed()
{
GuiMessageBox( «It hurts.», BUTT_OK );
}
…ну и, кроме этого,
Это всё, до определённой меры, здорово, но немного напрягает общим количеством… даже не знаю, как точнее выразиться скажем, сугубо утилитарного кода. То есть, инициализации, освобождения, привязки событий, и всего такого. В общем, того, чего в идеальном мире быть не должно. В идеальном мире всё выглядит
void TheLoop()
{
if ( button( «Push Me», 10, 10 ) )
{
GuiMessageBox( «Ouch!», BUTT_OK );
}
}
Ну, а вот здесь подборка ссылок на IMGUI подход, который пытается быть немного ближе к вышеупомянутому идеальному миру.
Понятно, что такая концепция будет накладывать некоторые ограничения на возможности GUI (да и вообще вызывает ряд нехороших вопросов, в особенности в том, что касается реализации) но почитать, я думаю, будет всё равно интересно. Так, или иначе, а подход имеет право на жизнь как минимум в rapid prototyping и RAD.