void InfoBoxManager::Create(PixelRect rc, const InfoBoxLayout::Layout &_layout, const InfoBoxLook &look) { first = true; layout = _layout; WindowStyle style; style.hide(); full_window.set(XCSoarInterface::main_window, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, style); // create infobox windows for (unsigned i = 0; i < layout.count; i++) { const PixelRect &rc = layout.positions[i]; int Border = GetInfoBoxBorder(i); InfoBoxes[i] = new InfoBoxWindow(XCSoarInterface::main_window, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, Border, look); } SetDirty(); }
void InfoBoxManager::Create(RECT rc) { info_box_look.value.fg_color = info_box_look.title.fg_color = info_box_look.comment.fg_color = Appearance.InverseInfoBox ? Color::WHITE : Color::BLACK; info_box_look.background_brush.set(Appearance.InverseInfoBox ? Color::BLACK : Color::WHITE); Color border_color = Color(80, 80, 80); info_box_look.border_pen.set(InfoBoxWindow::BORDER_WIDTH, border_color); info_box_look.selector_pen.set(IBLSCALE(1) + 2, info_box_look.value.fg_color); info_box_look.value.font = &Fonts::InfoBox; info_box_look.title.font = &Fonts::Title; info_box_look.comment.font = &Fonts::Title; info_box_look.small_font = &Fonts::InfoBoxSmall; info_box_look.colors[0] = border_color; info_box_look.colors[1] = Appearance.InverseInfoBox ? Graphics::inv_redColor : Color::RED; info_box_look.colors[2] = Appearance.InverseInfoBox ? Graphics::inv_blueColor : Color::BLUE; info_box_look.colors[3] = Appearance.InverseInfoBox ? Graphics::inv_greenColor : Color::GREEN; info_box_look.colors[4] = Appearance.InverseInfoBox ? Graphics::inv_yellowColor : Color::YELLOW; info_box_look.colors[5] = Appearance.InverseInfoBox ? Graphics::inv_magentaColor : Color::MAGENTA; WindowStyle style; style.hide(); full_window.set(XCSoarInterface::main_window, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top); // create infobox windows for (unsigned i = 0; i < InfoBoxLayout::numInfoWindows; i++) { int xoff, yoff, sizex, sizey; InfoBoxLayout::GetInfoBoxPosition(i, rc, &xoff, &yoff, &sizex, &sizey); int Border = GetInfoBoxBorder(i); InfoBoxes[i] = new InfoBoxWindow(XCSoarInterface::main_window, xoff, yoff, sizex, sizey, Border, info_box_look); } }