// main rect is ALWAYS at 0,0
// first gadget MUST be the main rect
#ifndef LOAD_GUI
SIZE size;
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->rect.type=GUI_RECT;
p_gui->rect.id=1;
#if USE_GDI
p_gui->rect.dark_color=RGB(0,0, 50);
p_gui->rect.medium_color=RGB(0,0, 100);
p_gui->rect.light_color=RGB(0, 0, 255);
#else
p_gui->rect.dark_color=dx.ConvertRGB(RGB(0,0, 50));
p_gui->rect.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->rect.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
p_gui->rect.width=550;
p_gui->rect.height=400;
p_gui->rect.x=0;
p_gui->rect.y=0;
p_gui->rect.draw_flags=0;
p_gui->rect.status_flags=GUI_UP;
p_gui->rect.gui_flags=0;
gui.gui_set_gadget(0, p_gui);
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->button.type=GUI_BUTTON;
p_gui->button.id=2;
p_gui->button.f_height=24;
p_gui->button.weight=FW_MEDIUM;
p_gui->button.proportional=1;
p_gui->button.serif=0;
p_gui->button.font=dx.CreateFont(p_gui->button.f_height, p_gui->button.weight, p_gui->button.proportional, p_gui->button.serif);
dx.GetTextSize(p_gui->button.font, "Y", &size);
p_gui->button.font_screen_height=size.cy;
p_gui->button.draw_flags=GUI_HAS_TEXT;
p_gui->button.status_flags=GUI_UP;
p_gui->button.gui_flags=GUI_SELECTABLE | GUI_NORMAL;
#if USE_GDI
p_gui->button.dark_color=RGB(0,0, 50);
p_gui->button.medium_color=RGB(0,0, 100);
p_gui->button.light_color=RGB(0, 0, 255);
#else
p_gui->button.dark_color=dx.ConvertRGB(RGB(0,0, 50));
p_gui->button.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->button.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
p_gui->button.height=50;
p_gui->button.width=200;
p_gui->button.x=10;
p_gui->button.y=20;
strcpy(p_gui->button.data.text.text, "^Hi world 12345");
p_gui->button.hot_key='H';
p_gui->button.data.text.x=5;
p_gui->button.data.text.y=20;
p_gui->button.data.text.text_color=RGB(0, 255, 0);
p_gui->button.data.text.hot_color=RGB(255, 0,0);
gui.gui_set_gadget(1, p_gui);
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->radio.type=GUI_RADIO;
p_gui->radio.id=3;
p_gui->radio.x=10;
p_gui->radio.y=100;
p_gui->radio.width=30;
p_gui->radio.height=50;
p_gui->radio.num_buttons=4;
p_gui->radio.active_button=0;
p_gui->radio.draw_flags=GUI_VERT;
p_gui->radio.gui_flags=GUI_SELECTABLE;
p_gui->radio.status_flags=0;
#if USE_GDI
p_gui->radio.active_color=RGB(255, 255, 10);
p_gui->radio.inactive_color=RGB(10, 10, 10);
p_gui->radio.dark_color=RGB(0,0, 50);
p_gui->radio.medium_color=RGB(0,0, 100);
p_gui->radio.light_color=RGB(0, 0, 255);
#else
p_gui->radio.active_color=dx.ConvertRGB(RGB(255, 255, 10));
p_gui->radio.inactive_color=dx.ConvertRGB(RGB(10, 10, 10));
p_gui->radio.dark_color=dx.ConvertRGB(RGB(0,0, 50));
p_gui->radio.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->radio.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
gui.gui_set_gadget(2, p_gui);
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->input.type=GUI_STRING_INPUT;
p_gui->input.id=4;
strcpy(p_gui->input.text, "test string");
p_gui->input.curr_len=strlen(p_gui->input.text);
p_gui->input.max_len=GUI_MAX_TEXT;
p_gui->input.draw_flags=0;
p_gui->input.gui_flags=GUI_SELECTABLE;
p_gui->input.status_flags=0;
#if USE_GDI
p_gui->input.dark_color=RGB(0,0, 50);
p_gui->input.medium_color=RGB(0,0, 100);
p_gui->input.light_color=RGB(0, 0, 255);
#else
p_gui->input.dark_color=dx.ConvertRGB(RGB(0,0, 50));
p_gui->input.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->input.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
p_gui->input.f_height=24;
p_gui->input.weight=FW_MEDIUM;
p_gui->input.proportional=1;
p_gui->input.serif=0;
p_gui->input.font=dx.CreateFont(p_gui->input.f_height, p_gui->input.weight, p_gui->input.proportional, p_gui->input.serif);
dx.GetTextSize(p_gui->input.font, "Y", &size);
p_gui->input.font_screen_height=size.cy;
p_gui->input.cursor_x=3;
p_gui->input.off_x0=0;
p_gui->input.off_x1=strlen(p_gui->input.text);
p_gui->input.text_color=RGB(200,200, 0);
p_gui->input.txt_x=10;
p_gui->input.txt_y=3;
p_gui->input.width=200;
p_gui->input.height=35;
p_gui->input.x=30;
p_gui->input.y=160;
gui.gui_set_gadget(3, p_gui);
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->slider.type=GUI_SLIDER;
p_gui->slider.id=5;
p_gui->slider.draw_flags=GUI_VERT;
p_gui->slider.gui_flags=GUI_SELECTABLE;
p_gui->slider.status_flags=0;
#if USE_GDI
p_gui->slider.dark_color=RGB(0,0, 50);
p_gui->slider.medium_color=RGB(0,0, 100);
p_gui->slider.light_color=RGB(0, 0, 255);
#else
p_gui->slider.dark_color=dx.ConvertRGB(RGB(0,0, 50));
p_gui->slider.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->slider.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
p_gui->slider.plist_id=0;
p_gui->slider.width=30;
p_gui->slider.height=200;
p_gui->slider.x=250;
p_gui->slider.y=30;
p_gui->slider.th_size=30;
p_gui->slider.th_top=10;
gui.gui_set_gadget(4, p_gui);
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->text.type=GUI_TEXT;
p_gui->text.id=6;
p_gui->text.draw_flags=0;
p_gui->text.gui_flags=0;
p_gui->text.status_flags=GUI_UP;
#if USE_GDI
p_gui->text.dark_color=RGB(0, 0, 50);
p_gui->text.medium_color=RGB(0,0, 100);
p_gui->text.light_color=RGB(0, 0, 255);
#else
p_gui->text.dark_color=dx.ConvertRGB(RGB(0, 0, 50));
p_gui->text.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->text.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
strcpy(p_gui->text.text, "This is text");
p_gui->text.f_height=24;
p_gui->text.weight=FW_MEDIUM;
p_gui->text.proportional=1;
p_gui->text.serif=0;
p_gui->text.font=dx.CreateFont(p_gui->text.f_height, p_gui->text.weight, p_gui->text.proportional, p_gui->text.serif);
dx.GetTextSize(p_gui->text.font, "Y", &size);
p_gui->text.font_screen_height=size.cy;
p_gui->text.text_color=RGB(0,255,0);
p_gui->text.txt_x=10;
p_gui->text.txt_y=5;
p_gui->text.x=90;
p_gui->text.y=100;
p_gui->text.width=100;
p_gui->text.height=40;
gui.gui_set_gadget(5, p_gui);
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->plist.type=GUI_PLIST;
p_gui->plist.id=7;
p_gui->plist.x=300;
p_gui->plist.y=10;
p_gui->plist.height=300;
p_gui->plist.width=100;
p_gui->plist.draw_flags=0;
p_gui->plist.gui_flags=GUI_SELECTABLE;
p_gui->plist.status_flags=GUI_UP;
#if USE_GDI
p_gui->plist.dark_color=RGB(0, 0, 50);
p_gui->plist.medium_color=RGB(0,0, 100);
p_gui->plist.light_color=RGB(0, 0, 255);
#else
p_gui->plist.dark_color=dx.ConvertRGB(RGB(0, 0, 50));
p_gui->plist.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->plist.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
//strcpy(p_gui->text.text, "This is text");
p_gui->plist.f_height=24;
p_gui->plist.weight=FW_MEDIUM;
p_gui->plist.proportional=1;
p_gui->plist.serif=0;
p_gui->plist.font=dx.CreateFont(p_gui->plist.f_height, p_gui->plist.weight, p_gui->plist.proportional, p_gui->plist.serif);
dx.GetTextSize(p_gui->plist.font, "Y", &size);
p_gui->plist.font_screen_height=size.cy;
p_gui->plist.slider_id=8; // zero if no sider associated
p_gui->plist.back_col=RGB(0,0, 100);
p_gui->plist.fore_col=RGB(0, 0, 255);
p_gui->plist.curs_back=RGB(0, 0, 255);
p_gui->plist.curs_fore=RGB(0, 0, 50);
p_gui->plist.sel_back=RGB(100, 100, 100);
p_gui->plist.sel_fore=RGB(200,200,200);
p_gui->plist.both_back=RGB(0, 255, 0);
p_gui->plist.both_fore=RGB(0, 25, 0);
p_gui->plist.num_items=50;
p_gui->plist.cursor_item=2;
p_gui->plist.page_items=10;
p_gui->plist.top_item=0;
p_gui->plist.curr_items=(BYTE *)malloc(sizeof(char)*p_gui->plist.num_items+1);
ZeroMemory(p_gui->plist.curr_items, sizeof(char)*p_gui->plist.num_items);
*(p_gui->plist.curr_items + p_gui->plist.cursor_item)=1;
p_gui->plist.items=(char **)malloc((p_gui->plist.num_items+1)*sizeof(char *));
for ( i=0; i < p_gui->plist.num_items; i++ )
{
p_gui->plist.items[i]=(char *)malloc(128);
sprintf(p_gui->plist.items[i], "String %d", i);
}
gui.gui_set_gadget(6, p_gui);
// slider attached to the plist
p_gui=(gui_all_u *)malloc(sizeof(gui_all_u));
p_gui->slider.type=GUI_SLIDER;
p_gui->slider.id=8;
p_gui->slider.draw_flags=GUI_VERT;
p_gui->slider.gui_flags=GUI_SELECTABLE;
p_gui->slider.status_flags=0;
#if USE_GDI
p_gui->slider.dark_color=RGB(0,0, 50);
p_gui->slider.medium_color=RGB(0,0, 100);
p_gui->slider.light_color=RGB(0, 0, 255);
#else
p_gui->slider.dark_color=dx.ConvertRGB(RGB(0,0, 50));
p_gui->slider.medium_color=dx.ConvertRGB(RGB(0,0, 100));
p_gui->slider.light_color=dx.ConvertRGB(RGB(0, 0, 255));
#endif
p_gui->slider.plist_id=7;
p_gui->slider.width=30;
p_gui->slider.height=300;
p_gui->slider.x=300+100+6;
p_gui->slider.y=10;
p_gui->slider.th_size=30;
p_gui->slider.th_top=0;
gui.gui_set_gadget(7, p_gui);
// postion of main rect, and all gadgets on it
//gui.gui_set_pos(20,40, 550, 400); // x, y width, height
gui.gui_set_pos(40,25, 550, 400); // x, y width, height
gui.gui_set_num_gadgets(8, 3);
#endif // LOAD_GUI
//gui.gui_unload_gadget(); // if loading
//gui.gui_save_gadget("C:\\dev\\DXSmith\\CSmithDXLowIO_Lib\\testgui\\Debug\\data\\paneltest.gui");