static void OnPaintComboPopupListItem(WindowControl * Sender, HDC hDC){ (void)Sender; if ( ComboListPopup->ComboPopupDrawListIndex >= 0 && ComboListPopup->ComboPopupDrawListIndex < ComboListPopup->ComboPopupItemCount ) { int w; w=Sender->GetWidth(); ExtTextOutClip(hDC, 2*ScreenScale, 2*ScreenScale, ComboListPopup->ComboPopupItemList[ComboListPopup->ComboPopupDrawListIndex]->StringValueFormatted, w-ScreenScale*5); } }
static void OnAirspacePaintListItem(WindowControl * Sender, HDC hDC){ TCHAR label[40]; (void)Sender; if (DrawListIndex < AIRSPACECLASSCOUNT){ int i = DrawListIndex; LK_tcsncpy(label, CAirspaceManager::Instance().GetAirspaceTypeText(i), 39); int w0, w1, w2, x0; if (ScreenLandscape) { w0 = 202*ScreenScale; } else { w0 = 225*ScreenScale; } // LKTOKEN _@M789_ = "Warn" w1 = GetTextWidth(hDC, gettext(TEXT("_@M789_")))+ScreenScale*10; // LKTOKEN _@M241_ = "Display" w2 = GetTextWidth(hDC, gettext(TEXT("_@M241_")))+ScreenScale*10; x0 = w0-w1-w2; ExtTextOutClip(hDC, 2*ScreenScale, 2*ScreenScale, label, x0-ScreenScale*10); if (colormode) { SelectObject(hDC, GetStockObject(WHITE_PEN)); SelectObject(hDC, GetStockObject(WHITE_BRUSH)); Rectangle(hDC, x0, 2*ScreenScale, w0, 22*ScreenScale); SetTextColor(hDC, MapWindow::GetAirspaceColourByClass(i)); SetBkColor(hDC, RGB(0xFF, 0xFF, 0xFF)); SelectObject(hDC, MapWindow::GetAirspaceBrushByClass(i)); Rectangle(hDC, x0, 2*ScreenScale, w0, 22*ScreenScale); } else { bool iswarn; bool isdisplay; iswarn = (MapWindow::iAirspaceMode[i]>=2); isdisplay = ((MapWindow::iAirspaceMode[i]%2)>0); if (iswarn) { // LKTOKEN _@M789_ = "Warn" _tcscpy(label, gettext(TEXT("_@M789_"))); ExtTextOut(hDC, w0-w1-w2, 2*ScreenScale, ETO_OPAQUE, NULL, label, _tcslen(label), NULL); } if (isdisplay) { // LKTOKEN _@M241_ = "Display" _tcscpy(label, gettext(TEXT("_@M241_"))); ExtTextOut(hDC, w0-w2, 2*ScreenScale, ETO_OPAQUE, NULL, label, _tcslen(label), NULL); } } } }
static void OnAirspacePaintListItem(WindowControl * Sender, HDC hDC){ TCHAR label[40]; (void)Sender; if (DrawListIndex < AIRSPACECLASSCOUNT){ int i = DrawListIndex; switch (i) { case CLASSA: _tcscpy(label, TEXT("Class A")); break; case CLASSB: _tcscpy(label, TEXT("Class B")); break; case CLASSC: _tcscpy(label, TEXT("Class C")); break; case CLASSD: _tcscpy(label, TEXT("Class D")); break; case CLASSE: _tcscpy(label, TEXT("Class E")); break; case CLASSF: _tcscpy(label, TEXT("Class F")); break; case CLASSG: _tcscpy(label, TEXT("Class G")); break; case PROHIBITED: // LKTOKEN _@M536_ = "Prohibited areas" _tcscpy(label, gettext(TEXT("_@M536_"))); break; case DANGER: // LKTOKEN _@M214_ = "Danger areas" _tcscpy(label, gettext(TEXT("_@M214_"))); break; case RESTRICT: // LKTOKEN _@M564_ = "Restricted areas" _tcscpy(label, gettext(TEXT("_@M564_"))); break; case CTR: _tcscpy(label, TEXT("CTR")); break; case NOGLIDER: // LKTOKEN _@M472_ = "No gliders" _tcscpy(label, gettext(TEXT("_@M472_"))); break; case WAVE: // LKTOKEN _@M794_ = "Wave" _tcscpy(label, gettext(TEXT("_@M794_"))); break; case OTHER: // LKTOKEN _@M507_ = "Other" _tcscpy(label, gettext(TEXT("_@M507_"))); break; case AATASK: _tcscpy(label, TEXT("AAT")); break; }; int w0, w1, w2, x0; if (InfoBoxLayout::landscape) { w0 = 202*InfoBoxLayout::scale; } else { w0 = 225*InfoBoxLayout::scale; } // LKTOKEN _@M789_ = "Warn" w1 = GetTextWidth(hDC, gettext(TEXT("_@M789_")))+InfoBoxLayout::scale*10; // LKTOKEN _@M241_ = "Display" w2 = GetTextWidth(hDC, gettext(TEXT("_@M241_")))+InfoBoxLayout::scale*10; x0 = w0-w1-w2; ExtTextOutClip(hDC, 2*InfoBoxLayout::scale, 2*InfoBoxLayout::scale, label, x0-InfoBoxLayout::scale*10); if (colormode) { SelectObject(hDC, GetStockObject(WHITE_PEN)); SelectObject(hDC, GetStockObject(WHITE_BRUSH)); Rectangle(hDC, x0, 2*InfoBoxLayout::scale, w0, 22*InfoBoxLayout::scale); SetTextColor(hDC, MapWindow::GetAirspaceColourByClass(i)); SetBkColor(hDC, RGB(0xFF, 0xFF, 0xFF)); SelectObject(hDC, MapWindow::GetAirspaceBrushByClass(i)); Rectangle(hDC, x0, 2*InfoBoxLayout::scale, w0, 22*InfoBoxLayout::scale); } else { bool iswarn; bool isdisplay; iswarn = (MapWindow::iAirspaceMode[i]>=2); isdisplay = ((MapWindow::iAirspaceMode[i]%2)>0); if (iswarn) { // LKTOKEN _@M789_ = "Warn" _tcscpy(label, gettext(TEXT("_@M789_"))); ExtTextOut(hDC, w0-w1-w2, 2*InfoBoxLayout::scale, ETO_OPAQUE, NULL, label, _tcslen(label), NULL); } if (isdisplay) { // LKTOKEN _@M241_ = "Display" _tcscpy(label, gettext(TEXT("_@M241_"))); ExtTextOut(hDC, w0-w2, 2*InfoBoxLayout::scale, ETO_OPAQUE, NULL, label, _tcslen(label), NULL); } } } }
static void OnTaskPaintListItem(WindowControl * Sender, HDC hDC){ (void)Sender; int n = UpLimit - LowLimit; TCHAR sTmp[120]; TCHAR wpName[120]; TCHAR landableStr[5] = TEXT(" [X]"); // LKTOKEN _@M1238_ "L" landableStr[2] = gettext(TEXT("_@M1238_"))[0]; LockTaskData(); int w0 = Sender->GetWidth()-1; int w1 = GetTextWidth(hDC, TEXT(" 000km")); int w2 = GetTextWidth(hDC, TEXT(" 000")TEXT(DEG)); int p1 = w0-w1-w2; // 125*ScreenScale; int p2 = w0-w2; // 175*ScreenScale; RECT rc = {0*ScreenScale, 0*ScreenScale, PICTO_HIGHT, PICTO_HIGHT}; if (DrawListIndex < n){ int i = LowLimit + DrawListIndex; // if ((WayPointList[Task[i].Index].Flags & LANDPOINT) >0) // MapWindow::DrawRunway(hDC, &WayPointList[Task[i].Index], rc, 3000,true); MapWindow::DrawTaskPicto(hDC, DrawListIndex, rc, 2500); if (Task[i].Index>=0) { _stprintf(wpName, TEXT("%s%s"), WayPointList[Task[i].Index].Name, (WayPointList[Task[i].Index].Flags & LANDPOINT) ? landableStr : TEXT("")); if (AATEnabled && ValidTaskPoint(i+1) && (i>0)) { if (Task[i].AATType==0) { _stprintf(sTmp, TEXT("%s %.1f"), wpName, Task[i].AATCircleRadius*DISTANCEMODIFY); } else { _stprintf(sTmp, TEXT("%s %.1f"), wpName, Task[i].AATSectorRadius*DISTANCEMODIFY); } } else { _stprintf(sTmp, TEXT("%s"), wpName); } ExtTextOutClip(hDC, PICTO_OFF+2*ScreenScale, 2*ScreenScale, sTmp, p1-4*ScreenScale); _stprintf(sTmp, TEXT("%.0f %s"), Task[i].Leg*DISTANCEMODIFY, Units::GetDistanceName()); ExtTextOut(hDC, PICTO_OFF+p1+w1-GetTextWidth(hDC, sTmp), 2*ScreenScale, ETO_OPAQUE, NULL, sTmp, _tcslen(sTmp), NULL); _stprintf(sTmp, TEXT("%d")TEXT(DEG), iround(Task[i].InBound)); ExtTextOut(hDC, PICTO_OFF+p2+w2-GetTextWidth(hDC, sTmp), 2*ScreenScale, ETO_OPAQUE, NULL, sTmp, _tcslen(sTmp), NULL); } } else { // if (DrawListIndex==n) { // patchout 091126 if (DrawListIndex==n && UpLimit < MAXTASKPOINTS) { // patch 091126 // LKTOKEN _@M832_ = "add waypoint" _stprintf(sTmp, TEXT(" (%s)"), gettext(TEXT("_@M832_"))); ExtTextOut(hDC, PICTO_OFF+2*ScreenScale, 2*ScreenScale, ETO_OPAQUE, NULL, sTmp, _tcslen(sTmp), NULL); } else if ((DrawListIndex==n+1) && ValidTaskPoint(0)) { if (!AATEnabled || ISPARAGLIDER) { // LKTOKEN _@M735_ = "Total:" _stprintf(sTmp, gettext(TEXT("_@M735_"))); ExtTextOut(hDC, PICTO_OFF+2*ScreenScale, 2*ScreenScale, ETO_OPAQUE, NULL, sTmp, _tcslen(sTmp), NULL); if (fai_ok) { _stprintf(sTmp, TEXT("%.0f %s FAI"), lengthtotal*DISTANCEMODIFY, Units::GetDistanceName()); } else { _stprintf(sTmp, TEXT("%.0f %s"), lengthtotal*DISTANCEMODIFY, Units::GetDistanceName()); } ExtTextOut(hDC, PICTO_OFF+p1+w1-GetTextWidth(hDC, sTmp), 2*ScreenScale, ETO_OPAQUE, NULL, sTmp, _tcslen(sTmp), NULL); } else { double d1 = CALCULATED_INFO.TaskDistanceToGo; if ((CALCULATED_INFO.TaskStartTime>0.0) && (CALCULATED_INFO.Flying) && (ActiveWayPoint>0)) { d1 += CALCULATED_INFO.TaskDistanceCovered; } if (d1==0.0) { d1 = CALCULATED_INFO.AATTargetDistance; } _stprintf(sTmp, TEXT("%s %.0f min %.0f (%.0f) %s"), // LKTOKEN _@M735_ = "Total:" gettext(TEXT("_@M735_")), AATTaskLength*1.0, DISTANCEMODIFY*lengthtotal, DISTANCEMODIFY*d1, Units::GetDistanceName()); ExtTextOut(hDC, PICTO_OFF+2*ScreenScale, 2*ScreenScale, ETO_OPAQUE, NULL, sTmp, _tcslen(sTmp), NULL); } } } UnlockTaskData(); }