aboutsummaryrefslogtreecommitdiff
path: root/sys/psio/pscenter.x
blob: 818c33cb8910a96be165364798666fccb0b0c5c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include "psio.h"


# PS_CENTER -- Center the string on the page and break.

procedure ps_center (ps, str)

pointer	ps					#I PSIO descriptor
char	str[ARB]				#I text string

int	mtemp, ps_centerPos()
errchk	ps_centerpos, ps_output

begin
	mtemp = PS_CLMARGIN(ps)
	PS_CLMARGIN(ps) = ps_centerpos (ps, str)
	call ps_output (ps, str, NO)
	PS_CLMARGIN(ps) = mtemp
end


# PS_CENTERPOS -- Get the X position of the centered string.

int procedure ps_centerpos (ps, str)

pointer	ps					#I PSIO descriptor
char    str[ARB]                             	#I string to center

int	ps_textwidth()
errchk	ps_textwidth

begin
	return (((PS_PWIDTH(ps) * RESOLUTION)/2) - ps_textwidth (ps, str) / 2)
end