DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦81661e24b⟧ TextFile

    Length: 7211 (0x1c2b)
    Types: TextFile
    Names: »main.c«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/X/Xtetris/main.c« 

TextFile

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