|
|
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();
}