make grid function linux friendly

This commit is contained in:
adam@algroup.co.uk 2009-07-21 16:10:58 +00:00
parent ebd7aaf9e7
commit f4434ad226
6 changed files with 29 additions and 13 deletions

View file

@ -9,6 +9,7 @@
int GraphBuffer[MAX_GRAPH_TRACE_LEN];
int GraphTraceLen;
double CursorScaleFactor;
int PlotGridX, PlotGridY;
int CommandFinished;
int offline;

View file

@ -13,6 +13,7 @@ void ExitGraphics(void);
extern int GraphBuffer[MAX_GRAPH_TRACE_LEN];
extern int GraphTraceLen;
extern double CursorScaleFactor;
extern int PlotGridX, PlotGridY;
extern int CommandFinished;
extern int offline;

View file

@ -86,7 +86,7 @@ ProxGuiQT::~ProxGuiQT(void)
void ProxWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPainterPath penPath, whitePath, greyPath, cursorAPath, cursorBPath;
QPainterPath penPath, whitePath, greyPath, lightgreyPath, cursorAPath, cursorBPath;
QRect r;
QBrush brush(QColor(100, 255, 100));
QPen pen(QColor(100, 255, 100));
@ -115,6 +115,29 @@ void ProxWidget::paintEvent(QPaintEvent *event)
greyPath.lineTo(r.right(), zeroHeight);
painter.setPen(QColor(100, 100, 100));
painter.drawPath(greyPath);
// plot X and Y grid lines
int i;
if ((PlotGridX > 0) && ((PlotGridX * GraphPixelsPerPoint) > 1)) {
for(i = GraphStart; i < r.right(); i += (int)(PlotGridX * GraphPixelsPerPoint)) {
//SelectObject(hdc, GreyPenLite);
//MoveToEx(hdc, r.left + i, r.top, NULL);
//LineTo(hdc, r.left + i, r.bottom);
lightgreyPath.moveTo(r.left()+i,r.top());
lightgreyPath.lineTo(r.left()+i,r.bottom());
painter.drawPath(lightgreyPath);
}
}
if ((PlotGridY > 0) && ((PlotGridY * GraphPixelsPerPoint) > 1)){
for(i = 0; i < ((r.top() + r.bottom())>>1); i += (int)(PlotGridY * GraphPixelsPerPoint)) {
lightgreyPath.moveTo(r.left(),zeroHeight + i);
lightgreyPath.lineTo(r.right(),zeroHeight + i);
painter.drawPath(lightgreyPath);
lightgreyPath.moveTo(r.left(),zeroHeight - i);
lightgreyPath.lineTo(r.right(),zeroHeight - i);
painter.drawPath(lightgreyPath);
}
}
int startMax =
(GraphTraceLen - (int)((r.right() - r.left() - 40) / GraphPixelsPerPoint));
@ -127,7 +150,6 @@ void ProxWidget::paintEvent(QPaintEvent *event)
int absYMax = 1;
int i;
for(i = GraphStart; ; i++) {
if(i >= GraphTraceLen) {
break;

View file

@ -2590,9 +2590,7 @@ static void CmdPlot(char *str)
static void CmdGrid(char *str)
{
int x = 0, y = 0;
sscanf(str, "%i %i", &x, &y);
SetGraphGrid(x, y);
sscanf(str, "%i %i", &PlotGridX, &PlotGridY);
RepaintGraphWindow();
}
@ -2734,7 +2732,7 @@ static struct {
{"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"},
{"fpgaoff", CmdFPGAOff, 0, "Set FPGA off"},
{"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"},
{"grid", CmdGrid, 1, "grid x y, overlay grid on graph window, use zero value to turn off either"},
{"grid", CmdGrid, 1, "<x> <y> -- overlay grid on graph window, use zero value to turn off either"},
{"hexsamples", CmdHexsamples, 0, "<blocks> -- Dump big buffer as hex bytes"},
{"hi14alist", CmdHi14alist, 0, "List ISO 14443a history"},
{"hi14areader", CmdHi14areader, 0, "Act like an ISO14443 Type A reader"},

View file

@ -67,12 +67,6 @@ void ExecCmd(char *cmd)
int CommandFinished;
int offset = 64;
void SetGraphGrid(int x, int y)
{
PlotGridX = x;
PlotGridY = y;
}
static void ResizeCommandWindow(void)
{
int w, h;

View file

@ -13,12 +13,12 @@ void ShowGui();
void HideGraphWindow(void);
void ShowGraphWindow(void);
void RepaintGraphWindow(void);
void SetGraphGrid(int x, int y);
void PrintToScrollback(char *fmt, ...);
#define MAX_GRAPH_TRACE_LEN (1024*128)
extern int GraphBuffer[MAX_GRAPH_TRACE_LEN];
extern int GraphTraceLen;
extern double CursorScaleFactor;
extern int PlotGridX, PlotGridY;
extern int CommandFinished;
extern int offline;