|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 7211 (0x1c2b) Types: TextFile Names: »main.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/X/Xtetris/main.c«
#include "defs.h" #include <Xw/Panel.h> #include <Xw/TitleBar.h> #include <Xw/PButton.h> #include <Xw/RCManager.h> #include <Xw/SText.h> #include <Xw/WorkSpace.h> main(argc, argv) int argc; char **argv; { int i, j; XFontStruct *cyril; toplevel = XtInitialize(argv[0], "TEtris", NULL, 0, &argc, argv); frame = XtCreateManagedWidget("Frame", XwpanelWidgetClass, toplevel, NULL,0); i=0; XtSetArg(args[i], XtNwidgetType, XwTITLE); i++; XtSetArg(args[i], XtNstring, "tetris"); i++; cyril = XLoadQueryFont(XtDisplay(toplevel),"cyr-s25"); if (cyril) XtSetArg(args[i], XtNfont, cyril); i++; tbar = XtCreateManagedWidget("TitleBar", XwtitlebarWidgetClass, frame, args, i); i=0; XtSetArg(args[i], XtNwidgetType, XwPULLDOWN); i++; XtSetArg(args[i], XtNwidth, UWIDTH * UNIT); i++; XtSetArg(args[i], XtNlayoutType, XwREQUESTED_COLUMNS); i++; XtSetArg(args[i], XtNlayout, XwMAXIMIZE); i++; XtSetArg(args[i], XtNcolumns, 2); i++; panel = XtCreateManagedWidget("Panel", XwrowColWidgetClass, frame, args, i); i=0; XtSetArg(args[i], XtNlayoutType, XwREQUESTED_COLUMNS); i++; XtSetArg(args[i], XtNcolumns, 1); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; sub1_panel = XtCreateManagedWidget("Panel", XwrowColWidgetClass, panel, args, i); i=0; XtSetArg(args[i], XtNlayoutType, XwREQUESTED_COLUMNS); i++; XtSetArg(args[i], XtNcolumns, 1); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; sub2_panel = XtCreateManagedWidget("Panel", XwrowColWidgetClass, panel, args, i); i=0; XtSetArg(args[i], XtNstring, "Score: 0 "); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; XtSetArg(args[i], XtNstrip, FALSE); i++; score_item = XtCreateManagedWidget("Score", XwstatictextWidgetClass, sub1_panel, args, i); i=0; XtSetArg(args[i], XtNstring, "Level: 0 "); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; XtSetArg(args[i], XtNstrip, FALSE); i++; level_item = XtCreateManagedWidget("Level", XwstatictextWidgetClass, sub1_panel, args, i); i=0; XtSetArg(args[i], XtNstring, "Rows: 0 "); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; XtSetArg(args[i], XtNstrip, FALSE); i++; rows_item = XtCreateManagedWidget("Rows", XwstatictextWidgetClass, sub1_panel, args, i); i=0; XtSetArg(args[i], XtNstring, " "); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; XtSetArg(args[i], XtNstrip, FALSE); i++; game_over = XtCreateManagedWidget("Game", XwstatictextWidgetClass, sub1_panel, args, i); i=0; XtSetArg(args[i], XtNlabel, "Start"); i++; start_bt = XtCreateManagedWidget("Start", XwpushButtonWidgetClass, sub2_panel, args, i); XtAddCallback(start_bt, XtNrelease,start_proc,NULL); i=0; XtSetArg(args[i], XtNlabel, "Pause"); i++; pause_bt = XtCreateManagedWidget("Pause", XwpushButtonWidgetClass, sub2_panel, args, i); XtAddCallback(pause_bt, XtNrelease,pause_proc,NULL); i=0; XtSetArg(args[i], XtNlabel, "New Game"); i++; newgame_bt = XtCreateManagedWidget("New Game", XwpushButtonWidgetClass, sub2_panel, args, i); XtAddCallback(newgame_bt, XtNrelease,restart_proc,NULL); i=0; XtSetArg(args[i], XtNlabel, "Scores"); i++; scores_bt = XtCreateManagedWidget("Scores", XwpushButtonWidgetClass, sub2_panel, args, i); XtAddCallback(scores_bt, XtNrelease,print_high_scores,NULL); i=0; XtSetArg(args[i], XtNlabel, "Quit"); i++; quit_bt = XtCreateManagedWidget("Quit", XwpushButtonWidgetClass, sub2_panel, args, i); XtAddCallback(quit_bt, XtNrelease,quit_proc,NULL); i=0; XtSetArg(args[i], XtNwidgetType, XwWORK_SPACE); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; XtSetArg(args[i], XtNwidth, UWIDTH * UNIT); i++; XtSetArg(args[i], XtNheight, UHEIGHT * UNIT + SHADOW_HEIGHT + NEXT_HEIGHT); i++; canvas = XtCreateManagedWidget("Canvas", XwworkSpaceWidgetClass, frame, args, i); XtAddCallback(canvas, XtNexpose, restore_canvas, NULL); gc = DefaultGCOfScreen(XtScreen(toplevel)); XSetTile(XtDisplay(toplevel), gc, XwCreateTile(XtScreen(toplevel),~0,0,Xw50_FOREGROUND)); score_frame = XtCreatePopupShell("Score_frame", transientShellWidgetClass, frame, NULL,0); score_panel = XtCreateManagedWidget("Score_panel", XwrowColWidgetClass, score_frame, NULL, 0); i=0; XtSetArg(args[i], XtNstring, " "); i++; XtSetArg(args[i], XtNborderWidth, 0); i++; XtSetArg(args[i], XtNstrip, FALSE); i++; for (j = 0; j < HIGH_TABLE_SIZE + 1; j++) high_score_item[j] = XtCreateManagedWidget("Score_item", XwstatictextWidgetClass, score_panel, args, i); i=0; XtSetArg(args[i], XtNlabel, "Done"); i++; done_bt = XtCreateManagedWidget("Done", XwpushButtonWidgetClass, score_panel, args, i); XtAddCallback(done_bt, XtNrelease,done_proc,NULL); i=0; XtSetArg(args[i], XtNstring, "Pos Name Score Rows Lev Machine When "); i++; XtSetValues(high_score_item[0],args,i); XtRealizeWidget(toplevel); XtAddCallback(canvas, XtNresize, restore_canvas, NULL); initialise(); XtMainLoop(); }