View Raw SPL
/*****************************************************************************
* *
* SETSYMBOLOFFSET.SPL Copyright (C) 2011 DSP Development Corporation *
* All Rights Reserved *
* *
* Author: Randy Race *
* *
* Synopsis: Sets the starting sample a symbol plot *
* *
* Revisions: 31 Jan 2011 RRR Creation *
* *
*****************************************************************************/
#include
#if @HELP_SETSYMBOLOFFSET
SETSYMBOLOFFSET
Purpose: Sets the start sample for a symbol plot.
Syntax: SETSYMBOLOFFSET(series, offset, item)
series - Optional, a series. Defaults to current window
offset - An integer, the symbol offset.
item - Optional, an integer. The series number if the
target is a Window with more than one series.
Defaults to 1.
Returns: Nothing, sets the symbol offset for a series.
Example:
W1: 1..20;setsym(14);setsymbolinterval(5);setsymboloffset(3)
W1 contains a 20 point series where a circle is used as a
symbol plotted every 5 points starting a the 3rd point
Remarks:
The SYMBOLOFFSET only takes effect if SYMBOLINTERVAL > 1.
See Also:
Getsymbol
Getsymbolinterval
Getsymboloffset
Getsymbolsize
Setsymbol
Setsymbolinterval
Setsymbolsize
#endif
/* set the symbol offset */
setsymboloffset(s, offset, item, member)
{
local sym, intv;
(s, offset, item, member) = setsymboloffset_parse_args(s, offset, item, member);
if (isstring(s)) s = refwindow(w0);
sym = getsymbol(s, 0, item, member);
intv = getsymbolinterval(s, item, member);
setsymbol(s, sym, item, intv, offset, member);
}
setsymboloffset_parse_args(s, offset, item, member)
{
if (argc < 4)
{
if (argc < 3)
{
if (argc < 2)
{
if (argc < 1) s = "";
offset = -1;
}
item = -1;
}
member = -1;
}
if (isscalar(s))
{
member = item;
item = offset;
offset = s;
s = "";
}
if (item < 0) item = 1;
if (offset < 0) offset = 0;
return(s, offset, item, member);
}