74 #define _calc (*((D4D_GRAPH_TMP_VAL*)d4d_scratchPad))
94 _calc.valLblOff.y = 0;
95 _calc.valLblOff.x = 0;
107 #if D4D_ROUND_CORNER_ENABLE == D4D_TRUE
137 #if D4D_ROUND_CORNER_ENABLE == D4D_TRUE
149 #if D4D_ROUND_CORNER_ENABLE == D4D_TRUE
251 tmp_txtbuff.
pText = pStr;
281 for(i = 1; i < (pGraph->
grid.
x_cnt + 1);i++ )
288 if(
_calc.valLblOff.y)
295 for(i=1; i < (pGraph->
grid.
y_cnt + 1);i++ )
299 if(
_calc.valLblOff.x)
354 #if D4D_ROUND_CORNER_ENABLE == D4D_TRUE
355 tmp_linePoint.
x += pThis->
radius;
413 if(
_calc.valLblOff.y)
445 tmp_Point.
y =
_calc.graphPos.y;
450 tmp_Point.
x =
_calc.curr_Xpos;
462 for(i =
_calc.last_Xpos; i <
_calc.curr_Xpos;i++)
469 tmp_Point.
y =
_calc.graphPos.y;
474 if(
_calc.valLblOff.y)
483 for(i=1; i < (pGraph->
grid.
y_cnt + 1);i++ )
486 tmp_Point.
x =
_calc.last_Xpos;
488 tmp_Point.
x =
_calc.curr_Xpos;
495 if(tmp_Point.
x <= (
_calc.graphPos.x +
_calc.graphSize.cx)) {
497 tmp_Point.
y =
_calc.graphPos.y;
506 for(i=0; i <
_calc.line_cnt;i++)
508 tmp_linePoint.
x =
_calc.last_Xpos;
534 tmp_linePoint.
x =
_calc.curr_Xpos;
541 tmp_linePoint.
x =
_calc.curr_Xpos;
548 tmp_linePoint.
x =
_calc.curr_Xpos;
558 tmp_linePoint.
x =
_calc.curr_Xpos;
610 if(trace_ix > traces_cnt)
613 for(i=0;i< traces_cnt;i++)
664 for(i=0;i< line_cnt;i++)
725 return _calc.graphSize.cx;
743 if((mul == 0) || (div == 0))
D4D_INDEX buffSize
size of text buffer array
D4D_WCHAR D4D_TCHAR
Type definition of eGUI character (it depends on UNICODE setting if this is D4D_CHAR or D4D_WCHAR)...
static D4D_COOR D4D_GraphGetGridCoorY(D4D_OBJECT *pThis, Byte gridIx)
Word D4D_MulDivUU16(Word u1, Word u2, Word d)
Simple proportion unsigned calculation - 16 bit.
D4D_COLOR D4D_ObjectGetBckgFillColor(D4D_OBJECT *pObj)
Function return object current fill background color.
D4D_COLOR D4D_ObjectGetForeColor(D4D_OBJECT *pObj, D4D_OBJECT_DRAWFLAGS draw)
Function return object current fore color.
D4D_FONT_TYPE * D4D_GetFont(D4D_FONT ix)
D4D_TEXT_PROPERTIES text_properties
Text properties structure.
D4D_INDEX printLen
Length of string that should be used (printed).
D4D_CLR_SCHEME_OBJ objectDepend
Sub structure of object non standard colors.
Type definition of eGUI point structure.
#define D4D_GRAPH_F_MODE_NORMAL
The graph runs in normal mode, this means that a graph adds new data to the screen. When it fills up the whole graph area, the object clears all the shown points and draws a new graph on a screen from new data.
#define D4D_GRAPH_F_VALUE_Y_RIGHT
Enables the label for axis Y on the right side of the graph.
On Init message - is send for first time when the object is inicialized.
D4D object messages structure.
D4D_BOOL D4D_GraphSetScaleX(D4D_OBJECT_PTR pObj, Byte mul, Byte div)
Function sets the new scale of axis X of the graph.
D4D_OBJECT_DATA_PTR pData
Pointer on runtime object data.
D4D_BOOL D4D_GraphAddTraceData(D4D_OBJECT_PTR pObj, D4D_INDEX trace_ix, D4D_GRAPH_VALUE value)
The function add new data to one trace.
#define D4D_FALSE
This is definition of boolean operation value in eGUI - FALSE.
The string type. This structure contains all properties about string in eGUI.
D4D_COLOR D4D_ObjectGetForeFillColor(D4D_OBJECT *pObj)
Function return object current fill fore color.
D4D_OBJECT_INITFLAGS initFlags
The initializations object flags.
#define D4D_DrawTextRect(ppt, psz, buffText, colorText, colorBkgd)
Function that draw text into defined rectangle on the screen.
static D4D_COOR D4D_GraphGetGridCoorX(D4D_OBJECT *pThis, Byte gridIx)
static void D4D_GraphDrawEmptyGraph(D4D_OBJECT *pThis)
#define D4D_GRAPH_TRACE_TYPE_AREA
The trace fills up the area under measured samples.
static void D4D_GraphValue2Coor(D4D_OBJECT *pThis)
D4D_FONT fontId
index of used font
D4D_STRING * D4D_GraphGetTextBuffer(D4D_OBJECT *pThis)
void D4D_MoveToXY(D4D_COOR x, D4D_COOR y)
Function move logic cursor to new position.
#define D4D_TRUE
This is definition of boolean operation value in eGUI - TRUE.
void D4D_DrawFrame(D4D_OBJECT *pObject, D4D_COLOR clrT, D4D_COLOR clrB)
Function draw standard object frame based on the object settings and current state.
struct D4D_OBJECT_S * pObject
Pointer to object who is receiver of this message. If the receiver is just screen this field must be ...
D4D Driver main header file.
static void D4D_GraphUpdateTempPosX(D4D_OBJECT *pThis)
D4D_OBJECT_FLAGS flags
runtime object flags
The string properties type. This structure contains as Font as Text properties.
D4D_COOR D4D_GraphGetSizeX(D4D_OBJECT_PTR pObj)
The function returns the size of graph traces in axis X.
#define D4D_OBJECT_DRAWFLAGS_COMPLETE
Draw complete flag.
#define D4D_GRAPH_F_VALUE_Y_LEFT
Enables the label for axis Y on the left side of the graph.
#define D4D_SCRATCHPAD_SIZE
Call back function raised by any new input event (touch, mouse, keys).
D4D_COLOR grid
The graph grid color.
void D4D_GraphOnMessage(D4D_MESSAGE *pMsg)
#define D4D_GRAPH_F_VALUE_X_BOTT
Enables a label for axis X on the bottom side of the graph.
D4D Driver private header file.
void D4D_FillRectTo(D4D_POINT *ppt, D4D_COLOR color)
Function draw filled rectangle on the screen.
#define D4D_DEFSTR(str)
Macro that helps declare the strings in eGUI.
D4D_COOR cx
Size in axis X (width)
Byte D4D_COOR
Type definition of eGUI coordination variables.
D4D_POINT position
Position on the screen/object.
#define D4D_GRAPH_TRACE_TYPE_AREA_INV
The trace fills up the area of measured samples.
D4D_GRAPH_DATA_LEN lastShowPos
#define D4D_OBJECT_DRAWFLAGS_STATE
Draw just change of state flag.
D4D_COOR radius
Object corners radius.
D4D_GRAPH_SAMPLE_IX xPosCnt
unsigned char Byte
Type definition of Byte (unsigned 8-bit).
D4D_BOOL D4D_GraphSetDataWidth(D4D_OBJECT_PTR pObj, D4D_INDEX samples)
Function sets the new scale of the axis X of the graph.
void D4D_FillRectToXY(D4D_COOR x, D4D_COOR y, D4D_COLOR color)
Function draw filled rectangle on the screen.
void D4D_ObjOnMessage(D4D_MESSAGE *pMsg)
const D4D_OBJECT_SYS_FUNCTION d4d_graphSysFunc
#define D4D_GRAPH_TRACE_TYPE_LINE
The trace looks like a normal line, all individual sample points are connected by the lines...
D4D_GRAPH_DATA_LEN lastDataPos
D4D_CLR_SCHEME_GRAPH graph
The non standard colors of graph object.
void D4D_FocusSet(const D4D_SCREEN *pScreen, D4D_OBJECT_PTR pObject)
The function set the obejct focus to new object.
D4D_INDEX D4D_GetTextLength(D4D_TCHAR *pText)
The function returns lenght of text.
#define NULL
Type definition of null pointer.
D4D_CLR_SCHEME * D4D_ObjectGetScheme(D4D_OBJECT *pObj)
Function return the pointer to current use object scheme of object.
D4D_TCHAR * pText
pointer to text array
void D4D_BoxXY(D4D_COOR x1, D4D_COOR y1, D4D_COOR x2, D4D_COOR y2, D4D_LINETYPE ltype, D4D_COLOR colorLine, D4D_COLOR colorFill)
Function draw filled rectangle with outline on the screen.
unsigned long LWord
Type definition of LWord (unsigned 32-bit).
D4D_STR_PROPERTIES * str_properties
pointer to string properties
D4D_COOR y
Coordination in axis Y.
#define D4D_OBJECT_F_NOTINIT
#define D4D_GRAPH_BORDER_OFF
This is offset of graph area from object borders. If not defined, it sets to 5 pixel as a default...
D4D_MSGID nMsgId
Type of message.
D4D_SIZE size
Size of the object.
Byte D4D_GRAPH_VALUE
Type definition of graph value type - this is standard type used for graph data input.
#define D4D_GRAPH_VALUE_OFF
This is offset of value text from graph area borders. If not defined, it sets to 2 pixel as a default...
D4D_GRAPH_DATA_LEN dataShowX
D4D_POINT D4D_GetClientToScreenPoint(D4D_OBJECT *pObject, D4D_POINT *nClientPoint)
The function convert client point on the screen to the global screen point.
#define D4D_GRAPH_TRACE_TYPE_MASK
Just mask of type range (it's used internaly by driver)
LWord D4D_INDEX
Type definition of eGUI general index variables.
The object main structure type definition.
Draw message - is send when the object should be redrawed.
static D4D_COOR D4D_GraphGetSizeLblY(D4D_OBJECT *pThis)
D4D_GRAPH_DATA_LEN dataLenght
LWord D4D_GRAPH_SAMPLE_IX
Type definition of graph dat asample type.
#define D4D_ALIGN_H_CENTER_MASK
The horizontal center aligment option mask (for texts and also bitmaps).
void D4D_ComputeGeometry(D4D_GEOMETRY *pGeometry, D4D_OBJECT *pObject)
D4D_COOR cy
Size in axis Y (height)
The object system function needed for each object - this is part of D4D_OBJECT main structure...
static void D4D_GraphPrintLabel(D4D_OBJECT *pThis, D4D_BOOL axisX, Byte gridIx, D4D_GRAPH_SAMPLE_IX sampleIx)
D4D_GRAPH_DATA_LEN initData
Touched message - is send when the object is touched by touch screen driver.
LWord D4D_BOOL
Type definition of eGUI boolean.
Byte D4D_SprintDecU8(Byte val, D4D_TCHAR *pText, D4D_TCHAR fill)
The function convert decimal unsigned 8 bit number to string.
Type definition of eGUI size structure.
#define D4D_GRAPH_F_MODE_ROLLOVER
The graph runs in roll-over mode, this means the graph adds new data to the screen. When it fills up the whole graph area, the graph clears only the latest sample and draws a new one instead of the cleared one.
static void D4D_GraphOnDraw(D4D_MESSAGE *pMsg)
D4D_FONT_SIZE D4D_GetFontWidth(D4D_FONT ix)
D4D_GRAPH_ON_NEED_LABEL OnNeedLabelText
D4D_OBJECT_DRAWFLAGS draw
Contains draw flags - is valid with D4D_MSG_DRAW and D4D_MSG_DRAWDONE message.
void D4D_FillRRect(D4D_POINT *ppt, D4D_SIZE *psz, D4D_COLOR color, D4D_COOR radius)
Function draw filled rectangle on the screen with round corners.
#define D4D_GRAPH_F_MODE_MASK
Mask of graph mode (it's used internaly by driver)
#define D4D_GRAPH_F_VALUE_X_TOP
Enables the label for axis X on the top side of the graph.
void D4D_GraphAddTracesData(D4D_OBJECT_PTR pObj, D4D_GRAPH_VALUE *pValues)
The function add new data to all traces.
Type definition of eGUI geometry structure.
const D4D_GRAPH_TRACE * traces
void D4D_InvalidateObject(D4D_OBJECT_PTR pObject, D4D_BOOL bComplete)
Function invalidate object to redraw on screen.
#define D4D_GET_GRAPH(pObj)
void D4D_LineToXY(D4D_COOR x, D4D_COOR y, D4D_LINETYPE ltype, D4D_COLOR color)
Function draw line on the screen.
void D4D_GraphClearAll(D4D_OBJECT_PTR pObj)
The function clears all internal data of graph object.
Byte D4D_OBJECT_DRAWFLAGS
Drawing object flags type, handled to object in D4D_MSG_DRAW events.
void D4D_LineTo(D4D_POINT *ppt, D4D_LINETYPE ltype, D4D_COLOR color)
Function draw line on the screen.
LWord D4D_COLOR
Type definition of eGUI color variables.
Byte D4D_SprintDecU16(Word val, D4D_TCHAR *pText, D4D_TCHAR fill)
The function convert decimal unsigned 16 bit number to string.
struct D4D_SCREEN_S * pScreen
Pointer to screen who is receiver of this message.
D4D_COLOR D4D_GetGreyScale(D4D_COLOR color)
Compute the grayscale color.
D4D_FONT_PROPERTIES font_properties
Font properties structure.
D4D_FONT_SIZE D4D_GetFontHeight(D4D_FONT ix)
void D4D_MoveTo(D4D_POINT *ppt)
Function move logic cursor to new position.
unsigned short Word
Type definition of Word (unsigned 16-bit).
D4D_INDEX printOff
Offset of string that should be used (printed).
D4D_COOR x
Coordination in axis X.
#define D4D_GRAPH_TRACE_TYPE_DOT
The trace is drawn only from measured points.
union D4D_MESSAGE_S::@0 prm
Additional data for some type of messages.
D4D_BOOL D4D_IsEnabled(D4D_OBJECT *pObject)
Function find out if the object is enabled or not.
#define D4D_GRAPH_LBL_FNT_PRTY_DEFAULT
This is graph labels init font properties. If not defined, it sets to ( 0 ) as a default.
LWord D4D_GraphGetSampleIndex(D4D_OBJECT_PTR pObj)
The function returns the current data sample index.