CImageListBox

Post those lines of code you feel like sharing or find what you require for your project here; or simply use them as tutorials.
Post Reply
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

CImageListBox

Post by sudi »

Header
Source

Example screen:
Image
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
Brainsaw
Posts: 1242
Joined: Wed Jan 07, 2004 12:57 pm
Location: Bavaria

Post by Brainsaw »

This is nice. Gotta keep it in mind for future projects.
Image
Dustbin::Games on the web: https://www.dustbin-online.de/
Virion
Competition winner
Posts: 2149
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

good job this is nice. :D
My company: https://kloena.com
My profile: https://zhieng.com
My co-working space: https://deskspace.info
My game engine: https://kemena3d.com
sudi
Posts: 1686
Joined: Fri Aug 26, 2005 8:38 pm

Post by sudi »

example usage:

Code: Select all

#include "irr/CImageListBox.h"
class events : public irr::IEventReceiver
{
public:
    events(CImageListBox* box, irr::video::IVideoDriver* d)
    {
        driver = d;
        Box = box;
        Box->grab();
    }
    ~events(void)
    {
        Box->remove();
        Box->drop();
        Box = NULL;
    }

    bool OnEvent(const irr::SEvent& event)
    {
        if (event.EventType == irr::EET_MOUSE_INPUT_EVENT)
        {
            if (event.MouseInput.Event == irr::EMIE_RMOUSE_PRESSED_DOWN)
            {
                Box->addItem(driver->getTexture("../../media/001shot.jpg"));
                return true;
            }
        }
    }
    CImageListBox* Box;
    irr::video::IVideoDriver* driver;
};
int main(int argc, char* argv[])
{
    irr::IrrlichtDevice *device = irr::createDevice( irr::video::EDT_OPENGL, irr::core::dimension2d<irr::u32>(640, 480), 16,
                                  false, false, false, 0);

    irr::video::IVideoDriver* driver = device->getVideoDriver();
    irr::scene::ISceneManager* smgr = device->getSceneManager();
    irr::gui::IGUIEnvironment* gui = device->getGUIEnvironment();

    CImageListBox* Box = new CImageListBox(irr::core::rect<irr::s32>(0,0,300,driver->getScreenSize().Height), gui, gui->getRootGUIElement());
    Box->setImageSize(150);
    Box->setImageSpacing(15);

    Box->addItem(driver->getTexture("../../media/001shot.jpg"));
    Box->addItem(driver->getTexture("../../media/002shot.jpg"));
    Box->addItem(driver->getTexture("../../media/003shot.jpg"));
    Box->addItem(driver->getTexture("../../media/004shot.jpg"));
    Box->addItem(driver->getTexture("../../media/005shot.jpg"));
    Box->addItem(driver->getTexture("../../media/006shot.jpg"));
    Box->addItem(driver->getTexture("../../media/007shot.jpg"));
    Box->addItem(driver->getTexture("../../media/008shot.jpg"));
    Box->addItem(driver->getTexture("../../media/009shot.jpg"));
    Box->addItem(driver->getTexture("../../media/010shot.jpg"));
    Box->addItem(driver->getTexture("../../media/011shot.jpg"));
    Box->addItem(driver->getTexture("../../media/012shot.jpg"));
    Box->addItem(driver->getTexture("../../media/013shot.jpg"));
    Box->addItem(driver->getTexture("../../media/014shot.jpg"));
    Box->addItem(driver->getTexture("../../media/015shot.jpg"));
    Box->addItem(driver->getTexture("../../media/016shot.jpg"));
    Box->addItem(driver->getTexture("../../media/017shot.jpg"));
    Box->addItem(driver->getTexture("../../media/018shot.jpg"));
    Box->addItem(driver->getTexture("../../media/019shot.jpg"));
    Box->addItem(driver->getTexture("../../media/020shot.jpg"));
    Box->addItem(driver->getTexture("../../media/021shot.jpg"));
    Box->addItem(driver->getTexture("../../media/022shot.jpg"));
    Box->addItem(driver->getTexture("../../media/023shot.jpg"));

    events e(Box, driver);
    Box->drop();

    device->setEventReceiver(&e);

    while (device->run())
    {
        driver->beginScene(true, true, irr::video::SColor(255,100,101,140));

        smgr->drawAll();
        gui->drawAll();

        driver->endScene();

    }
    return 0;
}
We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by renovation:tinkering,improving,planting flower beds.
Post Reply