void Button::draw() { if (_active) { _drawLabel(getLabel(), getFgActive(), getBgActive()); } else if (_pressed) { _drawLabel(getLabel(), getFgPressed(), getBgPressed()); } else { _drawLabel(getLabel(), getFgColor(), getBgColor()); } }
//----------------------------------------------------------------------------- // Purpose: Label paint functions - take into account current highligh status //----------------------------------------------------------------------------- void CLabelHeader::paint() { Color oldFg; getFgColor(oldFg); if (gViewPort->GetScoreBoard()->m_iHighlightRow == _row) { setFgColor(255, 255, 255, 0); } // draw text int x, y, iwide, itall; getTextSize(iwide, itall); calcAlignment(iwide, itall, x, y); _dualImage->setPos(x, y); int x1, y1; _dualImage->GetImage(1)->getPos(x1, y1); _dualImage->GetImage(1)->setPos(_gap, y1); _dualImage->doPaint(this); // get size of the panel and the image if (_image) { Color imgColor; getFgColor( imgColor ); if( _useFgColorAsImageColor ) { _image->setColor( imgColor ); } _image->getSize(iwide, itall); calcAlignment(iwide, itall, x, y); _image->setPos(x, y); _image->doPaint(this); } setFgColor(oldFg[0], oldFg[1], oldFg[2], oldFg[3]); }
//behandelt exception interrupts void _isrException(unsigned int intNum) { setClearColor(CL_BLUE); clearScreen(); enum TEXT_COLOR color; color = getFgColor(); setFgColor(CL_WHITE); setCursor(40,10); switch(intNum) { case 0: { kprint("\nException: Division durch 0 ...\n"); }break; case 1: { kprint("\nException: Debuger ...\n"); }break; case 2: { kprint("\nException: Non Maskable Interrupt ...\n"); }break; case 3: { kprint("\nException: Breakpoint ...\n"); }break; case 4: { kprint("\nException: Into Detected Overflow ...\n"); }break; case 5: { kprint("\nException: Out of Bounds ...\n"); }break; case 6: { kprint("\nException: Invalid Opcode ...\n"); }break; case 7: { kprint("\nException: No Coprocessor ...\n"); }break; case 8: { kprint("\nException: Double Fault ...\n"); }break; case 9: { kprint("\nException: Coprocessor Segment Overrun ...\n"); }break; case 10: { kprint("\nException: Bad TSS ...\n"); }break; case 11: { kprint("\nException: Segment Not Present ...\n"); }break; case 12: { kprint("\nException: Stack Fault ...\n"); }break; case 13: { kprint("\nException: General Protection Fault ...\n"); }break; case 14: { kprint("\nException: Page Fault ...\n"); }break; case 15: { kprint("\nException: Unknown Interrupt ...\n"); }break; case 16: { kprint("\nException: Coprocessor Fault ...\n"); }break; case 17: { kprint("\nException: Alignment Check ...\n"); }break; case 18: { kprint("\nException: Machine Check ...\n"); }break; default: { kprint("\nException: Von Intel reserviert ...\n"); }break; }; kprint("System angehalten. Bitte neustarten!\n"); setFgColor(color); for (;;); }
ColorBar::ColorBar(int align) : Box(align) , m_paletteButton("Edit Palette", JI_BUTTON) , m_paletteView(false) , m_fgColor(Color::fromIndex(15), IMAGE_INDEXED) , m_bgColor(Color::fromIndex(0), IMAGE_INDEXED) , m_lock(false) { setBorder(gfx::Border(1*jguiscale())); child_spacing = 1*jguiscale(); m_paletteView.setBoxSize(6*jguiscale()); m_paletteView.setColumns(4); m_fgColor.setPreferredSize(0, m_fgColor.getPreferredSize().h); m_bgColor.setPreferredSize(0, m_bgColor.getPreferredSize().h); m_scrollableView.attachToView(&m_paletteView); int w = (m_scrollableView.getBorder().getSize().w + m_scrollableView.getViewport()->getBorder().getSize().w + m_paletteView.getPreferredSize().w + getTheme()->scrollbar_size); jwidget_set_min_size(&m_scrollableView, w, 0); m_scrollableView.setExpansive(true); addChild(&m_paletteButton); addChild(&m_scrollableView); addChild(&m_fgColor); addChild(&m_bgColor); this->border_width.l = 2*jguiscale(); this->border_width.t = 2*jguiscale(); this->border_width.r = 2*jguiscale(); this->border_width.b = 2*jguiscale(); this->child_spacing = 2*jguiscale(); m_paletteView.IndexChange.connect(&ColorBar::onPaletteIndexChange, this); m_fgColor.Change.connect(&ColorBar::onFgColorButtonChange, this); m_bgColor.Change.connect(&ColorBar::onBgColorButtonChange, this); // Set background color reading its value from the configuration. setBgColor(get_config_color("ColorBar", "BG", getBgColor())); // Clear the selection of the BG color in the palette. m_paletteView.clearSelection(); // Set foreground color reading its value from the configuration. setFgColor(get_config_color("ColorBar", "FG", getFgColor())); // Change color-bar background color (not ColorBar::setBgColor) Widget::setBgColor(((SkinTheme*)getTheme())->get_tab_selected_face_color()); m_paletteView.setBgColor(((SkinTheme*)getTheme())->get_tab_selected_face_color()); // Change labels foreground color setup_mini_look(&m_paletteButton); m_paletteButton.setFont(((SkinTheme*)getTheme())->getMiniFont()); m_paletteButton.Click.connect(Bind<void>(&ColorBar::onPaletteButtonClick, this)); setDoubleBuffered(true); onColorButtonChange(getFgColor()); }
ColorBar::~ColorBar() { set_config_color("ColorBar", "FG", getFgColor()); set_config_color("ColorBar", "BG", getBgColor()); }