improved y-tick function.
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
double vRun; \n
|
||||
double startValue; \n
|
||||
GWEN_BUFFER *dbuf; \n
|
||||
int nextLevel=0; \n
|
||||
\n
|
||||
absMaxValue=abs(st->minValue); \n
|
||||
v=abs(st->maxValue); \n
|
||||
@@ -77,23 +78,24 @@
|
||||
absMaxValue=1.0; \n
|
||||
v=pow(10, floor(log10(absMaxValue))); \n
|
||||
\n
|
||||
startValue=v*10.0; \n
|
||||
startValue=v; \n
|
||||
if ((st->minValue)<startValue) \n
|
||||
startValue=-startValue; \n
|
||||
\n
|
||||
vRun=startValue; \n
|
||||
v/=10.0; \n
|
||||
DBG_ERROR(NULL, "vRun=%.2f, v=%.2f, vMin=%.2f, vMax=%.2f", vRun, v, st->minValue, st->maxValue); \n
|
||||
while(vRun<=(st->maxValue)) { \n
|
||||
if (vRun>=(st->minValue)) { \n
|
||||
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
||||
GWEN_Buffer_AppendArgs(dbuf, "%.*f", st->precision, vRun); \n
|
||||
$(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, 0, 0); \n
|
||||
$(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, nextLevel, 0); \n
|
||||
GWEN_Buffer_Reset(dbuf); \n
|
||||
} \n
|
||||
} \n
|
||||
vRun+=v; \n
|
||||
} \n
|
||||
if ($(struct_prefix)_HasLevelTicks(st, nextLevel)) \n
|
||||
nextLevel++; \n
|
||||
\n
|
||||
vRun=startValue; \n
|
||||
v/=2.0; \n
|
||||
@@ -102,12 +104,31 @@
|
||||
if (vRun>=(st->minValue)) { \n
|
||||
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
||||
GWEN_Buffer_AppendArgs(dbuf, "%.*f", st->precision, vRun); \n
|
||||
$(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, 1, 0); \n
|
||||
$(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, nextLevel, 0); \n
|
||||
GWEN_Buffer_Reset(dbuf); \n
|
||||
} \n
|
||||
} \n
|
||||
vRun+=v; \n
|
||||
} \n
|
||||
if ($(struct_prefix)_HasLevelTicks(st, nextLevel)) \n
|
||||
nextLevel++; \n
|
||||
\n
|
||||
vRun=startValue; \n
|
||||
v/=5.0; \n
|
||||
DBG_ERROR(NULL, "vRun=%.2f, v=%.2f, vMin=%.2f, vMax=%.2f", vRun, v, st->minValue, st->maxValue); \n
|
||||
while(vRun<=(st->maxValue)) { \n
|
||||
if (vRun>=(st->minValue)) { \n
|
||||
if (!$(struct_prefix)_HasTickValue(st, vRun)) { \n
|
||||
GWEN_Buffer_AppendArgs(dbuf, "%.*f", st->precision, vRun); \n
|
||||
$(struct_prefix)_AddNewTick(st, GWEN_Buffer_GetStart(dbuf), vRun, nextLevel, 0); \n
|
||||
GWEN_Buffer_Reset(dbuf); \n
|
||||
} \n
|
||||
} \n
|
||||
vRun+=v; \n
|
||||
} \n
|
||||
if ($(struct_prefix)_HasLevelTicks(st, nextLevel)) \n
|
||||
nextLevel++; \n
|
||||
\n
|
||||
GWEN_Buffer_free(dbuf); \n
|
||||
} \n
|
||||
</content>
|
||||
@@ -138,6 +159,30 @@
|
||||
</inline>
|
||||
|
||||
|
||||
<inline loc="end" access="public">
|
||||
<content>
|
||||
$(api) int $(struct_prefix)_HasLevelTicks(const $(struct_type) *st, int level);
|
||||
</content>
|
||||
</inline>
|
||||
|
||||
<inline loc="code">
|
||||
<content>
|
||||
int $(struct_prefix)_HasLevelTicks(const $(struct_type) *st, int level) \n
|
||||
{ \n
|
||||
const AQDG_GRAPH_TICK *tick; \n
|
||||
\n
|
||||
tick=AQDG_Graph_Tick_List_First(st->tickList); \n
|
||||
while(tick) { \n
|
||||
if (AQDG_Graph_Tick_GetLevel(tick)==level) \n
|
||||
return 1; \n
|
||||
tick=AQDG_Graph_Tick_List_Next(tick); \n
|
||||
} \n
|
||||
return 0; \n
|
||||
} \n
|
||||
</content>
|
||||
</inline>
|
||||
|
||||
|
||||
<inline loc="end" access="public">
|
||||
<content>
|
||||
$(api) void $(struct_prefix)_GenHourTicks($(struct_type) *st, int lvl, int hours);
|
||||
|
||||
Reference in New Issue
Block a user