/usr/share/plplot_octave/subwindow.m is in octave-plplot 5.13.0+dfsg-6ubuntu2.
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | ## Copyright (C) 1998-2003 Joao Cardoso.
##
## This program is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##
## This program is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
## General Public License for more details.
##
## This file is part of plplot_octave.
## usage: subwindow ([xn, yn])
##
## Sets subwindow position in multiplot mode for next plot. The
## multiplot mode has to be previously initialized using multiplot()
## command, else this command just becomes an aliad to multiplot()
##
## With no argument, reports current subwindow
function subwindow (xn, yn)
global __pl
strm = __pl_init;
if (nargin != 2 && nargin != 0)
usage ("subwindow (xn, yn)");
endif
if (nargin == 0)
__pl.multi_row(strm)
__pl.multi_col(strm)
return
endif
## check for scalar inputs
if (! (isscalar (xn) && isscalar (yn)))
error ("subwindow: xn and yn have to be scalars");
endif
xn = round (xn);
yn = round (yn);
if (! __pl.multi(strm))
multiplot (xn, yn);
return;
endif
if (xn < 1 || xn > __pl.multi_row(strm) ||
yn < 1 || yn > __pl.multi_col(strm))
error ("subwindow: incorrect xn and yn");
endif
__pl.multi_cur(strm) = (yn-1)*__pl.multi_row(strm) + xn;
pladv(__pl.multi_cur(strm));
endfunction
|