/usr/share/psychtoolbox-3/PsychRects/RectCenterd.m is in psychtoolbox-3-common 3.0.9+svn2579.dfsg1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 37 38 39 | function [x, y] = RectCenterd(r)
% [x,y] = RectCenterd(rect);
%
% RectCenterd returns the x,y point at the center of a rect. It does the
% same as RectCenter, just without rounding the result to integer
% coordinates.
%
% See also PsychRects, CenterRectOnPoint.
% 9/13/99 Allen Ingling wrote it.
% 10/6/99 dgp Fixed bug.
% 5/18/08 mk Vectorized.
% 5/18/08 mk Non-rounding version, trivially derived from RectCenter.
if nargout~=2
error('Usage: [x, y] = RectCenterd(rect);');
end
if PsychNumel(r) == 4
% Single rect:
x = (0.5*(r(1)+r(3)));
y = (0.5*(r(2)+r(4)));
else
% Multi-rect array:
if (size(r, 1)==4) & (size(r,2)>=1)
% Multi-column array with one 4-comp. rect per column:
x = (0.5*(r(1,:)+r(3,:)));
y = (0.5*(r(2,:)+r(4,:)));
else
if (size(r, 2)==4) & (size(r,1)>=1)
% Multi-row array with one 4-comp. rect per row:
x = (0.5*(r(:,1)+r(:,3)));
y = (0.5*(r(:,2)+r(:,4)));
else
% Something weird and unknown:
error('Given matrix of rects not of required 4-by-n or n-by-4 format.');
end
end
end
|