static int GLToggle(lua_State *L) { Ihandle *ih = IupGLToggle((char *)luaL_optstring(L, 1, NULL)); iuplua_plugstate(L, ih); iuplua_pushihandle_raw(L, ih); return 1; }
void GLCanvasCubeTest(void) { Ihandle *dlg, *canvas, *box, *gtoggle, *gtoggle1, *gtoggle2, *hbox, *vbox, *glabel, *gsep1, *gsep2, *gbutton1, *gbutton2, *pbar1, *pbar2, *glink, *gval1, *gval2, *gframe1, *gframe2, *gexp1, *gexp2, *image_open, *image_close, *image_high, *gframe3, *vbox2, *gtoggle3, *gtoggle4, *gtoggle5, *gsbox, *text, *vbox3, *matrix, *image_val; IupGLCanvasOpen(); IupGLControlsOpen(); IupControlsOpen(); glabel = IupGLLabel("Label"); // IupSetAttribute(glabel, "FGCOLOR", "255 255 255"); IupSetAttribute(glabel, "FONT", "Helvetica, 24"); IupSetAttributeHandle(glabel, "IMAGE", load_image_Tecgraf()); gbutton1 = IupGLButton("Button"); IupSetAttribute(gbutton1, "PADDING", "5x5"); //IupSetAttribute(gbutton1, "BGCOLOR", "245 0 245 92"); IupSetCallback(gbutton1, "ACTION", button_action_cb); IupSetAttribute(gbutton1, "NAME", "button1"); IupSetAttribute(gbutton1, "TIP", "Button Tip"); // IupSetAttribute(gbutton1, "RASTERSIZE", "x100"); if (0) { Ihandle* pressed_back = IupLoadImage("../test/pressed_back.png"); Ihandle* enabled_back = IupLoadImage("../test/enabled_back.png"); Ihandle* highlighted_back = IupLoadImage("../test/highlighted_back.png"); IupSetAttributeHandle(gbutton1, "BACKIMAGE", enabled_back); IupSetAttributeHandle(gbutton1, "BACKIMAGEPRESS", pressed_back); IupSetAttributeHandle(gbutton1, "BACKIMAGEHIGHLIGHT", highlighted_back); IupSetAttribute(gbutton1, "BORDERCOLOR", "0 0 0 0"); } gbutton2 = IupGLButton(NULL); IupSetAttribute(gbutton2, "PADDING", "5x5"); IupSetAttributeHandle(gbutton2, "IMAGE", load_image_FileSave()); IupSetCallback(gbutton2, "ACTION", button_action_cb); IupSetAttribute(gbutton2, "NAME", "button2"); gtoggle = IupGLToggle("Toggle"); IupSetAttribute(gtoggle, "PADDING", "5x5"); IupSetCallback(gtoggle, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle, "NAME", "toggle"); gtoggle1 = IupGLToggle(NULL); IupSetAttribute(gtoggle1, "PADDING", "5x5"); IupSetAttributeHandle(gtoggle1, "IMAGE", load_image_Test()); IupSetCallback(gtoggle1, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle1, "NAME", "toggle1"); gtoggle2 = IupGLToggle(NULL); IupSetAttribute(gtoggle2, "PADDING", "5x5"); IupSetAttributeHandle(gtoggle2, "IMAGE", load_image_Test()); IupSetCallback(gtoggle2, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle2, "NAME", "toggle2"); gsep1 = IupGLSeparator(); glink = IupGLLink("http://www.tecgraf.puc-rio.br/iup", "IUP Toolkit"); IupSetCallback(glink, "ACTION", (Icallback)link_action_cb); pbar1 = IupGLProgressBar(); IupSetAttribute(pbar1, "VALUE", "0.3"); IupSetAttribute(pbar1, "SHOWTEXT", "Yes"); //image_val = IupLoadImage("../test/slider_handler.png"); gval1 = IupGLVal(); IupSetAttribute(gval1, "VALUE", "0.3"); IupSetCallback(gval1, "VALUECHANGED_CB", val_action_cb); IupSetAttribute(gval1, "PROGRESSBAR", (char*)pbar1); IupSetAttribute(gval1, "NAME", "val1"); IupSetAttribute(gval1, "TIP", "Val Tip"); //IupSetAttributeHandle(gval1, "IMAGE", image_val); hbox = IupHbox(glabel, gsep1, gbutton1, gtoggle, glink, pbar1, gval1, NULL); IupSetAttribute(hbox, "ALIGNMENT", "ACENTER"); IupSetAttribute(hbox, "MARGIN", "5x5"); IupSetAttribute(hbox, "GAP", "5"); pbar2 = IupGLProgressBar(); IupSetAttribute(pbar2, "VALUE", "0.3"); IupSetAttribute(pbar2, "ORIENTATION", "VERTICAL"); gval2 = IupGLVal(); IupSetAttribute(gval2, "VALUE", "0.3"); IupSetAttribute(gval2, "ORIENTATION", "VERTICAL"); IupSetCallback(gval2, "VALUECHANGED_CB", val_action_cb); IupSetAttribute(gval2, "PROGRESSBAR", (char*)pbar2); IupSetAttribute(gval2, "NAME", "val2"); gsep2 = IupGLSeparator(); IupSetAttribute(gsep2, "ORIENTATION", "HORIZONTAL"); vbox = IupVbox(gbutton2, gsep2, IupRadio(IupSetAttributes(IupVbox(gtoggle1, gtoggle2, NULL), "MARGIN=0x0")), pbar2, gval2, NULL); IupSetAttribute(vbox, "ALIGNMENT", "ACENTER"); IupSetAttribute(vbox, "MARGIN", "5x5"); IupSetAttribute(vbox, "GAP", "5"); gtoggle5 = IupGLToggle("Toggle"); IupSetAttribute(gtoggle5, "PADDING", "5x5"); IupSetCallback(gtoggle5, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle5, "NAME", "toggle5"); IupSetAttribute(gtoggle5, "CHECKMARK", "Yes"); // IupSetAttribute(gtoggle5, "RIGHTBUTTON", "Yes"); gtoggle3 = IupGLToggle("Radio Toggle"); IupSetAttribute(gtoggle3, "PADDING", "5x5"); IupSetCallback(gtoggle3, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle3, "NAME", "toggle3"); IupSetAttribute(gtoggle3, "CHECKMARK", "Yes"); gtoggle4 = IupGLToggle("Radio Toggle"); IupSetAttribute(gtoggle4, "PADDING", "5x5"); IupSetAttributeHandle(gtoggle4, "IMAGE", load_image_Test()); IupSetCallback(gtoggle4, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle4, "NAME", "toggle4"); IupSetAttribute(gtoggle4, "CHECKMARK", "Yes"); // IupSetAttribute(gtoggle4, "RIGHTBUTTON", "Yes"); vbox2 = IupVbox( IupRadio(IupSetAttributes(IupVbox(gtoggle3, gtoggle4, NULL), "MARGIN=0x0")), gtoggle5, NULL); gsbox = IupSetAttributes(IupGLScrollBox(vbox2), "RASTERSIZE=90x90"); gsbox = IupGLSizeBox(gsbox); gframe1 = IupSetAttributes(IupGLFrame(hbox), "TITLE=Frame1"); gframe2 = IupSetAttributes(IupGLFrame(vbox), "BACKCOLOR=\"250 250 160 128\", FRAMECOLOR=\"250 250 160\""); gframe3 = IupSetAttributes(IupGLFrame(gsbox), "TITLE=Frame3, TITLEBOX=Yes"); // IupSetAttributeHandle(gframe3, "TITLEBACKIMAGE", load_image_Tecgraf()); gexp1 = IupSetAttributes(IupGLExpander(gframe1), "TITLE=Expander"); gexp2 = IupSetAttributes(IupGLExpander(gframe2), "BARPOSITION=LEFT"); text = IupText(NULL); IupSetAttribute(text, "VALUE", "Text"); matrix = IupMatrix(NULL); IupSetAttribute(matrix, "NUMLIN", "3"); IupSetAttribute(matrix, "NUMCOL", "2"); IupSetAttribute(matrix, "NUMLIN_VISIBLE", "3"); IupSetAttribute(matrix, "NUMCOL_VISIBLE", "2"); IupSetAttribute(matrix, "0:0", "Inflation"); IupSetAttribute(matrix, "1:0", "Medicine"); IupSetAttribute(matrix, "2:0", "Food"); IupSetAttribute(matrix, "3:0", "Energy"); IupSetAttribute(matrix, "0:1", "January 2000"); IupSetAttribute(matrix, "0:2", "February 2000"); IupSetAttribute(matrix, "1:1", "5.6"); IupSetAttribute(matrix, "2:1", "2.2"); IupSetAttribute(matrix, "3:1", "4.1"); IupSetAttribute(matrix, "1:2", "10"); IupSetAttribute(matrix, "2:2", "1"); IupSetAttribute(matrix, "3:2", "0.5"); // IupSetAttribute(matrix, "EXPAND", "No"); IupSetAttribute(matrix, "SCROLLBAR", "No"); vbox3 = IupVbox( text, matrix, NULL); vbox3 = IupSetAttributes(IupGLFrame(vbox3), "TITLE=Frame4"); canvas = IupGLCanvasBox( IupSetAttributes(gexp1, "HORIZONTALALIGN=ACENTER, VERTICALALIGN=ATOP, MOVEABLE=Yes, MOVETOTOP=Yes"), IupSetAttributes(gexp2, "HORIZONTALALIGN=ALEFT, VERTICALALIGN=ACENTER"), IupSetAttributes(gframe3, "MOVEABLE=Yes, POSITION=\"550,200\", MOVETOTOP=Yes"), IupSetAttributes(vbox3, "MOVEABLE=Yes, POSITION=\"250,350\""), NULL); IupSetAttribute(canvas, "DEPTH_SIZE", "16"); image_open = IupImage(16, 16, img_open); image_close = IupImage(16, 16, img_close); image_high = IupImage(16, 16, img_close); IupSetAttribute(image_open, "0", "BGCOLOR"); IupSetAttribute(image_open, "1", "192 192 192"); IupSetAttribute(image_close, "0", "BGCOLOR"); IupSetAttribute(image_close, "1", "192 192 192"); IupSetAttribute(image_high, "1", "192 192 192"); // IupSetAttribute(gexp1, "BARSIZE", "50"); // IupSetAttributeHandle(gexp1, "IMAGE", image_close); // IupSetAttributeHandle(gexp1, "IMOPEN", image_open); // IupSetAttribute(gexp1, "IMAGE", "img1"); IupSetCallback(gexp1, "ACTION", (Icallback)expand_cb); IupSetAttribute(gexp1, "EXTRABUTTONS", "3"); IupSetCallback(gexp1, "EXTRABUTTON_CB", (Icallback)extrabutton_cb); IupSetAttributeHandle(gexp1, "IMAGEEXTRA1", image_close); IupSetAttributeHandle(gexp1, "IMAGEEXTRAPRESS1", image_open); IupSetAttributeHandle(gexp1, "IMAGEEXTRAHIGHLIGHT1", image_high); IupSetAttributeHandle(gexp1, "IMAGEEXTRA2", image_close); IupSetAttributeHandle(gexp1, "IMAGEEXTRAPRESS2", image_open); IupSetAttributeHandle(gexp1, "IMAGEEXTRAHIGHLIGHT2", image_high); IupSetAttributeHandle(gexp1, "IMAGEEXTRA3", image_close); IupSetAttributeHandle(gexp1, "IMAGEEXTRAPRESS3", image_open); IupSetAttributeHandle(gexp1, "IMAGEEXTRAHIGHLIGHT3", image_high); //IupSetAttribute(gexp1, "REDRAWALL", "No"); IupSetCallback(canvas, "ACTION", action); IupSetCallback(canvas, "BUTTON_CB", (Icallback)button_cb); IupSetCallback(canvas, "MOTION_CB", (Icallback)motion_cb); IupSetAttribute(canvas, "BUFFER", "DOUBLE"); IupSetAttribute(canvas, "MARGIN", "10x10"); box = IupVbox(canvas, NULL); IupSetAttribute(box, "MARGIN", "25x25"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupGLCanvas Test"); IupSetAttribute(dlg, "RASTERSIZE", "800x600"); IupMap(dlg); IupGLMakeCurrent(canvas); printf("Vendor: %s\n", glGetString(GL_VENDOR)); printf("Renderer: %s\n", glGetString(GL_RENDERER)); printf("Version: %s\n", glGetString(GL_VERSION)); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetAttribute(dlg, "RASTERSIZE", NULL); }