Mali GPU User Interface Engine Application Development Guide
Mali GPU User Interface Engine Application Development Guide
Mali GPU User Interface Engine Application Development Guide
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Tutorial on the Lotion <strong>User</strong> <strong>Interface</strong> ClassessetPosition(MDE::vec2i(0, 0));setSize(MDE::vec2i(8000, 4800));font = getFont("fonts/orbitron-light.ttf", 24);prog = getProgram("themes/blue/shader.vert;themes/blue/shader.frag");// Backgroundprintf("Blue: Loading background\n");backgroundLayer = createLayer(prog, 1, 0, 0,Lotion::LayerModeRGBA, "blue_bg");backgroundLayer->createInstances(1, backgroundInstances);backgroundInstances[0]->createQuads(1, false, backgroundQuads);backgroundQuads[0]->set2DRectangle(vec2(0,0), getResolution(), 0);backgroundQuads[0]->setTexture(0, getBitmap("themes/blue/backdrop.png"),BitmapComponentsRGBA_PremultiplyAlpha);backgroundLayer->setFilter(GL_NEAREST, GL_NEAREST);// Logoprintf("Blue: Loading logo\n");backgroundInstances[0]->createQuads(1, true, backgroundQuads);backgroundQuads[1]->set2DRectangle(vec2(2,2), vec2(126, 46), 0);backgroundQuads[1]->setTexture(0, getBitmap("themes/blue/mali_logo.png"),BitmapComponentsRGBA_PremultiplyAlpha);// Iconsprintf("Blue: Loading icons: shader\n");Program menuProg =getProgram("themes/blue/menu.vert;themes/blue/menu.frag");iconLayer = createLayer(menuProg, 4, 0, 0, LayerModeRGBCompressed,"blue_icons");iconLayer->setFilter(GL_NEAREST, GL_NEAREST);iconLayer->createInstances(iconCount, iconInstances);printf("Blue: Loading icons: text shader\n");Program textProg =getProgram("themes/blue/text.vert;themes/blue/text.frag");printf("Blue: Loading icons: creating layer\n");textLayer = createLayer(textProg, 1, 0, 0, LayerModeRGBA, "blue_text");printf("Blue: Loading icons: creating layer instances\n");textLayer->createInstances(iconCount, iconTextInstances);textLayer->setFilter(GL_NEAREST, GL_NEAREST);for (int i = 0; i < iconCount; i++){printf("Blue: Loading icons: Icon %d\n", i);iconInstances[i]->createQuads(4, true, iconQuads);float add_refl = 0.f;float refl_dist = 30.f;// IconiconQuads[i*4+0]->set2DRectangle(vec2(i * 265.f+16, 105.f + add_refl),vec2(240.f, 136.f), 0);iconQuads[i*4+0]->setTexture(0, getBitmap("themes/blue/empty.png"),BitmapComponentsRGB);iconQuads[i*4+0]->setTexture(1, getBitmap("themes/blue/empty.png"),BitmapComponentsRGB);// Icon ReflectioniconQuads[i*4+1]->set2DRectangle(vec2(i * 265+16, 87+162*2+refl_dist+ add_refl),vec2(240, -136), 0);iconQuads[i*4+1]->setTexture(0, getBitmap("themes/blue/empty.png"),BitmapComponentsRGB);iconQuads[i*4+1]->setTexture(1, getBitmap("themes/blue/empty.png"),BitmapComponentsRGB);ARM DUI 0527A-02a Copyright © 2010 ARM. All rights reserved. 5-33ID070710Non-Confidential - Draft - Beta