4Dgifts and 4sight server from 3.3 tapes.

dave "who can do? ratmandu!" ratcliffe dave at ratmandu.sgi.com
Thu Jun 28 02:55:41 AEST 1990


In article <Jun.26.19.48.44.1990.2662 at u2.rutgers.edu> broderic at u2.rutgers.edu (Alfred J. Broderick) writes:
>
>        A few weeks ago, Mark Callow mentioned that there were some
>        incompatibilities between 4Sight 3.3 and the ~4Dgifts/.4sight/*.ps
>        files.  One of the problems was that the frame title gets
>        obscured by a black line.  Unfortunately I did not save Mark's
>        message when it passed through the newsgroup.  Was there a fix for
>        this problem?  

replace yer current version of ~4Dgifts/.4sight/window.ps with the following
"fixed" file:
--------------------------- SNIP-SNAP HERE ----------------------------------
systemdict begin
%
% This is used to draw the stripes on the title bar.  Args are:
%	lslope,rslope	slope [0-1] of edge of stripe on left and right side
%	step		number of pixels between stripes
%	x, y		lower left of area to be striped
%	w, h		size of area to be striped
%
/fillslanted { % lslope rslope step x y w h => -
% gsave 4 copy 0 1 0 setrgbcolor rectpath fill grestore
    7 dict begin
	/h exch def /w exch def
	/y exch def /x exch def
	/step exch def
	/rslope exch step mul def /lslope exch step mul def

	0 step h step sub {
	    /y y step add def
	    dup lslope mul x add
	    y
	    moveto
	    dup x w add exch h exch sub rslope mul sub
	    y lineto
	    stroke
	    pop
	} for
    end
} def

SGIWindow begin
    /KeyFocusColor	1.0 0.0 0.0 rgbcolor def
    /BannerColor	0.1 0.1 0.1 rgbcolor def
    /FrameFont		/Times-BoldItalic findfont 14 scalefont def
    /IconFont		/Times-BoldItalic findfont 14 scalefont def

    /Slantiness		.3 def			% how slanty are the stripes
						% (0 == not, 1 == most)
    /StripeSpacing	2 def			% spacing of stripes on the
						% title bar (in pixels )

    /PaintFrameLabel { % true/false => - (Paint frame text label)
        %
        % This should only be called by paintframelabel which does a gsave
        % and sets the canvas, color and font.
        %
        % set up clipping
        BannerButtonMargin BannerButtonWidth add
        TitleSideMargin add                             % t/f x1
        dup FrameHeight BannerHeight sub 0.3753 sub     % t/f x1 x1 y1
        2 copy moveto
        dup 3 1 roll                                    % t/f x1 y1 x1 y1
        FrameWidth TitleSideMargin sub
        NoQuit? NoClose? or not {
            BannerButtonMargin BannerButtonWidth add sub
        } if                                            % t/f x1 y1 x1 y1 x2
        2 index max
        1 index lineto                                  % t/f x1 y1 x1 y1
        0 BannerHeight rlineto
        BannerHeight add lineto                         % t/f x1 y1
        0 BannerHeight neg rlineto
        clip                                            % t/f x1 y1

        3 -1 roll {
            %
            % Label already exists.
            %    clear banner to make way for a different length title

            0 exch
            FrameWidth BannerHeight
            bulbousrect
            PaintFocus
        } { pop } ifelse                                % x1

        TitleSideMargin add
        TitleCapHeight dup add add			% x1'
        CloseControl getcanvaslocation exch pop         % x1' y
        currentfont fontheight 0.085 mul add    % x1' y' XXX show paints too low
        moveto                                          % -
        FrameLabel show
    } def

    /PaintFocus {
        gsave
        FrameCanvas setcanvas
        FrameFont setfont
        KeyFocus? {KeyFocusColor} {BannerColor} ifelse setcolor
	Slantiness 0 StripeSpacing xfc div		% lslope rslope step
        CloseControl getcanvaslocation exch pop         % ls rs st y1

	0 Slantiness StripeSpacing xfc div		% ... y1 ls' rs' st'
        NoStow? {
            BannerButtonMargin 4 index			% ... y1 ls' rs' st' x y
	    BannerButtonWidth TitleSideMargin dup add add
            TitleCapHeight dup add add			% ... ls' rs' st' x y w
	} {
	    BannerButtonMargin BannerButtonWidth add
	    TitleSideMargin add 4 index			% ... ls' rs' st' x y
	    TitleCapHeight dup add
        } ifelse					% ... ls' rs' st' x y w
        TitleCapHeight fillslanted			% ls rs st y1
        BannerButtonMargin BannerButtonWidth add
	TitleCapHeight dup add add
        TitleSideMargin dup dup add add add
	FrameLabel stringwidth pop add 			% ... y1 x1'
        exch                          			% ... x1 y1
        FrameWidth TitleSideMargin sub
        NoQuit? NoClose? or not {
            BannerButtonMargin BannerButtonWidth add sub
        } if                                            % ... x1 y1 x2
        2 index max                                     % ... x1 y1 x2
        2 index sub TitleCapHeight			% ... x1 y1 w h
	fillslanted
        grestore
    } def
end
end



More information about the Comp.sys.sgi mailing list