/********************************************************************* * * _OnPaint */ static void _OnPaint(GRAPH_DATA_Handle hDataObj, GUI_RECT * pRect) { GUI_POINT * pData; GRAPH_DATA_XY_OBJ * pDataXYObj; GUI_USE_PARA(pRect); pDataXYObj = (GRAPH_DATA_XY_OBJ *)GUI_ALLOC_h2p(hDataObj); pData = (GUI_POINT *)GUI_ALLOC_h2p(pDataXYObj->hData); if (pData) { GUI_RECT Rect; GRAPH_OBJ * pObj; int xPos, yPos; int BorderL, BorderT, BorderR, BorderB; pObj = GRAPH_H2P(pDataXYObj->GraphDataObj.PaintObj.hGraph); BorderL = pObj->Props.BorderL; BorderT = pObj->Props.BorderT; BorderR = pObj->Props.BorderR; BorderB = pObj->Props.BorderB; WM_GetInsideRectExScrollbar(pDataXYObj->GraphDataObj.PaintObj.hGraph, &Rect); Rect.x0 += BorderL; Rect.y0 += BorderT; Rect.x1 -= BorderR; Rect.y1 -= BorderB; xPos = Rect.x0 + pDataXYObj->GraphDataObj.OffX; yPos = Rect.y1 - pDataXYObj->GraphDataObj.OffY; pObj = GRAPH_H2P(pDataXYObj->GraphDataObj.PaintObj.hGraph); GUI_SetColor(pDataXYObj->GraphDataObj.Color); GUI_SetPenSize(pDataXYObj->PenSize); GUI_SetLineStyle(pDataXYObj->LineStyle); _DrawPolyLine(pData, pDataXYObj->GraphDataObj.NumItems, xPos + pObj->ScrollStateH.v, yPos + pObj->ScrollStateV.v); } }
void GL_SetDefault(void) { GUI_SetBkColor(GUI_DEFAULT_BKCOLOR); GUI_SetColor (GUI_DEFAULT_COLOR); GUI_SetPenSize(1); GUI_SetTextAlign(0); GUI_SetTextMode(0); GUI_SetDrawMode(0); GUI_SetFont(GUI_DEFAULT_FONT); GUI_SetLineStyle(GUI_LS_SOLID); }
/***************************************************************************** * Function...: Redraw * DESCRIPTION: Redraws this element *****************************************************************************/ bool PumpGroupGraphic::Redraw() { Component::Redraw(); mpLabelGroupName[PUMP_GROUP_1]->Redraw(); mpLabelGroupName[PUMP_GROUP_2]->Redraw(); mpImgPumps->Redraw(); if (mGroupDividerPosition > 0 && mGroupDividerPosition < mVisibleImageWidth) { SelectWindow(); GUI_SetColor(GetColour()); GUI_SetLineStyle(GUI_LS_DOT); GUI_DrawLine(mGroupDividerPosition, 0, mGroupDividerPosition, GetHeight()); GUI_SetLineStyle(GUI_LS_SOLID); } Validate(); return true; }
static void DrawBullyShip(int xOnBase,int yOnBase,double course,GUI_COLOR Color) { double basex = screen_hcenter+(xOnBase-half_x)*Diff; double basey = screen_vcenter-(yOnBase-half_y)*Diff; double _cos = cos(course); double _sin = sin(course); GUI_SetLineStyle(GUI_LS_SOLID); GUI_SetColor(Color); GUI_DrawLine(basex-7*_cos-10*_sin , basey-7*_sin+10*_cos ,basex+10*_sin , basey-10*_cos); GUI_DrawLine(basex+10*_sin , basey-10*_cos,basex+7*_cos-10*_sin , basey+7*_sin+10*_cos); GUI_DrawLine(basex+7*_cos-10*_sin , basey+7*_sin+10*_cos,basex-7*_cos-10*_sin , basey-7*_sin+10*_cos ); GUI_SetColor(GUI_BLACK); }
void Draw_GraphGrid(uint16_t XSize, uint16_t YSize, uint8_t XDense, uint8_t YDense){ // // THIS CAN BE DONE FASTER. // uint16_t XStart,YStart; uint8_t Xstep = XSize/XDense; uint8_t Ystep = YSize/YDense; uint8_t i=0; //unsigned char Cur_Ls; //unsigned char Cur_Color; XStart = 34; YStart = 5; GUI_SetLineStyle(GUI_LS_DOT); GUI_SetColor(GUI_DARKGRAY); for(i=1;i<=Xstep;i++) GUI_DrawLine(XStart+i*XDense,YStart,XStart + i*XDense,YStart+YSize); for(i=1;i<=Ystep;i++) GUI_DrawLine(XStart,YStart+i*YDense,XStart+XSize,YStart+i*YDense); }
/***************************************************************************** * FUNCTION - Redraw * DESCRIPTION: See header file *****************************************************************************/ void CrossChalk::Redraw() { if ((mpBlackBoard != NULL) && (mpData != NULL)) { int width = mpBlackBoard->GetWidth(); int height = mpBlackBoard->GetHeight(); int length = mpData->GetSize(); if (length > width) { length = width; } GUI_SetLineStyle(GUI_LS_SOLID); GUI_SetColor(mpBlackBoard->GetColour()); GUI_RECT rect; GUI_GetClientRect(&rect); mpData->Lock(); for (int i = 0; i < length; i++) { if (mpData->IsCurveValueValid(i)) { float val = mpData->GetCurveValueAsPercent(i); int y = height - 1 - (int)(val * (height - 1) / 100.0f); DrawCross(i, y); } } mpData->UnLock(); } }
static void DrawCursor(int xOnBase, int yOnBase, GUI_COLOR color) { double basex = screen_hcenter+(xOnBase-half_x)*Diff; double basey = screen_vcenter-(yOnBase-half_y)*Diff; GUI_SetLineStyle(GUI_LS_SOLID); GUI_SetColor(color); GUI_DrawPoint(basex, basey); GUI_DrawHLine(basey, basex - 10, basex - 2); GUI_DrawHLine(basey, basex + 2, basex + 10); GUI_DrawVLine(basex, basey - 10, basey - 2); GUI_DrawVLine(basex, basey + 2, basey + 10); GUI_SetFont(GUI_FONT_13_1); GUI_SetColor(pColor->textColor); sprintf(pStrBuf,"name:%s",pSnapLink->Boat.name); GUI_DispStringAt(pStrBuf, basex + 10, basey + 10); GUI_DispStringAt("N", basex + 10, basey + 10 + GUI_GetFontSizeY()); lltostr(pSnapLink->Boat.latitude, pStrBuf); GUI_DispStringAt(pStrBuf, basex + 23, basey+10+GUI_GetFontSizeY()); GUI_DispStringAt("E", basex + 10, basey + 10+GUI_GetFontSizeY()*2); lltostr(pSnapLink->Boat.longitude, pStrBuf); GUI_DispStringAt(pStrBuf, basex + 23, basey+10+GUI_GetFontSizeY()*2); GUI_DispStringAt("SOG:", basex + 10, basey +10+ GUI_GetFontSizeY()*3); sprintf(pStrBuf, "%2d.%d", pSnapLink->Boat.SOG/10, pSnapLink->Boat.SOG%10); GUI_DispStringAt(pStrBuf, basex + 45, basey +10+ GUI_GetFontSizeY()*3); GUI_DispStringAt("COG:", basex + 10, basey + 10+GUI_GetFontSizeY()*4); sprintf(pStrBuf, "%3d", pSnapLink->Boat.COG/10); pStrBuf[3] = 194; pStrBuf[4] = 176; pStrBuf[5] = '\0'; GUI_DispStringAt(pStrBuf, basex + 45, basey + 10+GUI_GetFontSizeY()*4); }
/********************************************************************* * * _DrawLine */ static void _DrawLine(int x0, int y0, int x1, int y1) { GUI_SetColor(GUI_GREEN); GUI_SetLineStyle(GUI_LS_DOT); GUI_DrawLine(x0, y0, x1, y1); GUI_SetLineStyle(GUI_LS_SOLID); }