/*------------------------------main_proc--------------------------------*/ long main_proc (PFUNC_VAR) { static int hExit, hCurPage=ID_NULL, hPage1, hPage2, hPage3, hPage4, hTest = ID_NULL; static YT_COLOR col1, col2, col3, col4; enum local_keys { DRAW_MESS = YKEY_LOCALS }; switch (message) { case YCREATE: YSetDialog (dialog_proc); break; case YOPEN: col1 = YColor("fuchsia"); col2 = YColor("white"); col3 = YColor("blue"); col4 = YColor("red"); case YDRAW: YPaintRectF (0,0, WND->w,WND->h, YColor("yellow")); begin_group ("MESSAGES", 20,375, 440,55, YColor("")); YWnd (&hTest, testmsg_proc, "", 15,15, 385,30, 0,0,0,0, CLR_DEF); end_group (); YGoto (YDRAWITEM, 0,0,col1,(long)page1_proc); YWnd (&hPage1, push_proc, "Page1", 465, 20, 65,40, 0,0,0,0, col1); YWnd (&hPage2, push_proc, "Page2", 465, 70, 65,40, 0,0,0,0, col2); YWnd (&hPage3, push_proc, "Page3", 465,120, 65,40, 0,0,0,0, col3); YWnd (&hPage4, push_proc, "Page4", 465,170, 65,40, 0,0,0,0, col4); YWnd (&hExit, push_proc, "Exit", 465,380, 65,40, 0,0,0,0, YColor("lime")); break; case YDRAWITEM: /* YWndClose (hCurPage); */ /* YUnWnd (hCurPage); */ YWnd (&hCurPage, (YT_PFUNC)mes4, "", 20,20, 440,340, LP(hTest),0,0,0, (YT_COLOR)mes3); break; case YCLOSE: YWndClean (id); break; case MYPUSH_UP: if (mes1 == hExit ) exit(0); else if (mes1 == hPage1) YGoto (YDRAWITEM, 0,0,col1,(long)page1_proc); else if (mes1 == hPage2) YGoto (YDRAWITEM, 0,0,col2,(long)page2_proc); else if (mes1 == hPage3) YGoto (YDRAWITEM, 0,0,col3,(long)page3_proc); else if (mes1 == hPage4) YGoto (YDRAWITEM, 0,0,col4,(long)page4_proc); break; default: return (YSend (hTest, message, mes1,mes2,mes3,mes4)); } RETURN_TRUE; }
void test_create_pointer_stack() { new_group("Life cycle operation tests"); PointerStack stack = pointer_stack_create(); fatal_errors(true); write_test("Create PointerStack....", "[[ %li != 0 ]]", (long int) stack); write_test("Dispose PointerStack...", "[[ %i != 0 ]]", pointer_stack_dispose(stack)); fatal_errors(false); end_group(); }
void test_private() { new_group("Private data tests"); PointerStack stack = pointer_stack_create(); write_test("PointerStack Set Private", "[[ %i == 1 ]]", pointer_stack_set_private(stack, buffer)); write_test("PointerStack Get Private", "[[ '%p' == '%p' ]]", pointer_stack_get_private(stack), buffer); pointer_stack_dispose(stack); end_group(); }
void test_optimization() { new_group("Optimization tests"); PointerStack stack = pointer_stack_create(); write_test("PointerStack Set Buffering", "[[ %i == 1 ]]", pointer_stack_set_buffering(stack, 16)); write_test("PointerStack Get Buffering", "[[ %li == %li ]]", pointer_stack_get_buffering(stack), 16); pointer_stack_dispose(stack); end_group(); }
void test_limitation() { new_group("Limitation tests"); PointerStack stack = pointer_stack_create(); write_test("PointerStack Set Limit", "[[ %i == 1 ]]", pointer_stack_set_limit(stack, 2)); write_test("PointerStack Get Limit", "[[ %li == %li ]]", pointer_stack_get_limit(stack), 2); pointer_stack_dispose(stack); end_group(); }
void test_protection() { new_group("Protection tests"); PointerStack stack = pointer_stack_create(); write_test("PointerStack Lock.......", "[[ %i == 1 ]]", pointer_stack_lock(stack)); write_test("PointerStack Get Lock...", "[[ %li == 1 ]]", pointer_stack_get_lock(stack)); write_test("PointerStack Unlock.....", "[[ %i == 1 ]]", pointer_stack_lock(stack)); pointer_stack_dispose(stack); end_group(); }
void test_extended() { new_group("Extended operation tests"); PointerStack stack = pointer_stack_create(); pointer_stack_push(stack, buffer); pointer_stack_push(stack, pointer_stack_license()); bool status = pointer_stack_reverse(stack); write_test("PointerStack Reverse...", "[[ %i == 1 && '%p' == '%p' ]]", status, pointer_stack_peek(stack, 1), buffer); status = pointer_stack_invert(stack, true); write_test("PointerStack Invert....", "[[ %i == 1 && '%p' == '%p' ]]", status, pointer_stack_peek(stack, 0), buffer); status = pointer_stack_void(stack, 1); write_test("PointerStack Void......", "[[ %i == 1 && %i == 1 ]]", status, pointer_stack_get_count(stack)); pointer_stack_dispose(stack); end_group(); }
void test_main() { bool test = false; new_group("General operation tests"); PointerStack stack = pointer_stack_create(); test = pointer_stack_pack(stack); // need to cache this, dual procedure parameter calls dependent on each other might not work out! write_test("PointerStack Pack......", "[[ %i == 1 && %li == %li ]]", test, pointer_stack_get_units(stack), 8); write_test("PointerStack Push......", "[[ %i == 1 ]]", pointer_stack_push(stack, buffer)); write_test("PointerStack Pointer...", "[[ '%p' == '%p' ]]", * pointer_stack_pointer(stack, 0), buffer); write_test("PointerStack Peek......", "[[ '%p' == '%p' ]]", pointer_stack_peek(stack, 0), buffer); write_test("PointerStack Poke......", "[[ '%p' == '%p' ]]", pointer_stack_poke(stack, 0, NULL), buffer); write_test("PointerStack Pop.......", "[[ '%p' == '%p' ]]", pointer_stack_pop(stack), NULL); pointer_stack_dispose(stack); end_group(); }
void test_io() { new_group("I/O operation tests"); PointerStack stack = pointer_stack_create(); pointer_stack_push(stack, buffer); // "initialize" the stack so we can test it. write_test("PointerStack Get Count", "[[ %li == 1 ]]", pointer_stack_get_count(stack)); write_test("PointerStack Get Slots", "[[ %li == %li ]]", pointer_stack_get_slots(stack), 7); write_test("PointerStack Get Units", "[[ %li == %li ]]", pointer_stack_get_units(stack), 8); PointerStackExport parray = pointer_stack_export(stack, 0, 0); write_test("PointerStack Export...", "[[ '%p' != '(nil)' && '%p' == '%p' && '%p' == '(nil)' ]]", parray, parray[0], buffer, parray[1]); write_test("PointerStack Free.....", "[[ %i == 1 ]]", pointer_stack_free(parray)); void * array[] = { buffer, buffer, NULL }; bool test = pointer_stack_import(stack, array, 0, 1); void * result[] = { pointer_stack_peek(stack, 1), pointer_stack_peek(stack, 2), NULL }; result[2] = pointer_stack_peek(stack, 3); write_test("PointerStack Import...", "[[ %i == 1 && '%p' == '%p' && '%p' == '%p' && '%p' == '(nil)' && %li == %li ]]", test, result[0], buffer, result[1], buffer, result[2], pointer_stack_error(stack), PSE_OVERFLOW); pointer_stack_dispose(stack); end_group(); }
const char * Nes_File_Writer::end() { return end_group(); }
~group() { end_group(); };
/*--------------------------------page1_proc------------------------------*/ long page1_proc (PFUNC_VAR) { YT_COLOR clr_text; static int hTest = ID_NULL; static int hMouse, hDialog; char *shape[4] = {"arrow", "wait", "ibeam", "cross"}; static int shape_i = 0; switch (message) { case YOPEN: hTest = *((int*)Y_WLONG1); case YDRAW: YPaintRectFB (0,0,WND->w,WND->h, WIN->color, YColor("black")); begin_group ("ABOUT", 20,30, 210,110, YColor("teal")); clr_text = YColor("white"); YPaintString (" 'Library Yzone' ", 20,20, clr_text); YPaintString (" version 0.2 ", 20,35, clr_text); YPaintString (" Copyright (c) 2000 ", 20,60, clr_text); YPaintString (" Life Software. ", 20,75, clr_text); YPaintString (" Under GNU License. ", 20,90, clr_text); end_group (); begin_group ("SORRY", 20,200, 210,90, YColor("teal")); clr_text = YColor("white"); YPaintString (" Sorry! Sorry! ", 20,20, clr_text); YPaintString (" This demo example ", 20,35, clr_text); YPaintString (" is ", 20,50, clr_text); YPaintString (" under constructions! ", 20,65, clr_text); end_group (); begin_group("YDraw..", 240,30, 185,190, YColor("green")); test_picture (); end_group (); YWnd (&hMouse, push_proc, "Mouse", 250,240, 70,50, 0,0,0,0, CLR_DEF); YWnd (&hDialog, push_proc, "Dialog", 340,240, 70,50, 0,0,0,0, CLR_DEF); break; case MYPUSH_DOWN: if (mes1 == hMouse) { shape_i++; if (shape_i == 4) shape_i = 0; YMouseForm (shape[shape_i]); } if (mes1 == hDialog) { YDlg (dial_proc, "Dialog", 0,0,260,250, 0,0,0,0, CLR_DEF, TRUE); } break; case YRMOUSEUP: YBeep (); YBigWindow (NULL, dial_proc, "Big Window", 0,0,240,220, 0,0,0,0, CLR_DEF); break; case YCLOSE: YWndClean (id); break; default: /* OUTD(message); */ YSend (hTest, message, mes1,mes2,mes3,mes4); } RETURN_TRUE; }