/usr/share/psychtoolbox-3/PsychRects/RectCenter.m is in psychtoolbox-3-common 3.0.11.20131230.dfsg1-1build1.
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 | function [x, y] = RectCenter(r)
% [x,y] = RectCenter(rect);
%
% RectCenter returns the integer x,y point closest to the center of a rect.
%
% See also PsychRects, CenterRectOnPoint.
% 9/13/99 Allen Ingling wrote it.
% 10/6/99 dgp Fixed bug.
% 5/18/08 mk Vectorized.
% 5/30/09 mk Bugfix in vectorization.
if nargout~=2
error('Usage: [x, y] = RectCenter(rect);');
end
if PsychNumel(r) == 4
% Single rect:
x = round(0.5*(r(1)+r(3)));
y = round(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 = round(0.5*(r(1,:)+r(3,:)));
y = round(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 = round(0.5*(r(:,1)+r(:,3)));
y = round(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
|