Пример #1
0
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);
  }
}
Пример #2
0
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);
      }

    }

  }
}
Пример #3
0
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);
      }

    }

  }
}
Пример #4
0
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();

}