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 s

⟦9624bc9b4⟧ TextFile

    Length: 1908 (0x774)
    Types: TextFile
    Names: »sunwin.c«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦e83f91978⟧ »EurOpenD22/isode/osimis-2.0.tar.Z« 
        └─⟦d846658bd⟧ 
            └─⟦this⟧ »osimis/smap/sunwin.c« 

TextFile

/*
 * Copyright (c) 1988 University College London
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms are permitted
 * provided that the above copyright notice and this paragraph are
 * duplicated in all such forms and that any documentation,
 * advertising materials, and other materials related to such
 * distribution and use acknowledge that the software was developed
 * by the Department of Computer Science, University College London.
 * The name of the University may not be used to
 * endorse or promote products derived from this software without
 * specific prior written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

/* adapts the osimon curses display for Sun window changes */

/*
 * By George Pavlou, October 1988
 */

#include <stdio.h>
#include <sys/file.h>
#ifdef 	SUNWIN
#include <sunwindow/win_struct.h>
#endif
#include "defs.h"


#ifndef SUNWIN
extern int  COLS, LINES;        /* to be set by curses */
#else
int  COLS, LINES;
static int  pfd, bfd;
int  winchange;


setwinchange ()
{
    winchange = YES;
}


getwinsize ()
{
    COLS  = win_getwidth(bfd) / 8;              /* get window size */
    LINES = win_getheight(bfd) / 16;
}


int  setupwindow ()
{
    char pwin [WIN_NAMESIZE+1];                 /* parent window name */

    if (we_getgfxwindow(pwin) != 0) {
	advise(NULLCP, "can't get parent window name");
	return(NOTOK);
    }

    pfd = open(pwin, O_RDWR);
    bfd = win_getnewwindow();                   /* "blanket" window */

    if (win_insertblanket(bfd, pfd) != 0) {
	advise(NULLCP, "can't cover parent window");
	return(NOTOK);
    }

    getwinsize();

    return(OK);
}


clearwindow ()
{
    close(bfd);
    win_removeblanket(bfd);
    close(pfd);
}

#endif