Thread: [Libufo-commits] ufo-0.5/src/ui ubasicstyle.cpp,1.8,1.9
Status: Beta
Brought to you by:
schmidtjf
|
From: Johannes S. <sch...@us...> - 2005-10-24 16:02:21
|
Update of /cvsroot/libufo/ufo-0.5/src/ui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32747/src/ui Modified Files: ubasicstyle.cpp Log Message: Implemented CE_TabBarTab and PE_Gripper. Polished some background elements with gradients. Index: ubasicstyle.cpp =================================================================== RCS file: /cvsroot/libufo/ufo-0.5/src/ui/ubasicstyle.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ubasicstyle.cpp 11 Oct 2005 20:22:56 -0000 1.8 --- ubasicstyle.cpp 24 Oct 2005 16:02:13 -0000 1.9 *************** *** 167,170 **** --- 167,184 ---- break; + case PE_Gripper: { + UColor dark = hints->palette.background().darker(); + UColor light = hints->palette.background().brighter(); + // FIXME: wow, very inefficient + for (int x = 2; x <= rect.w - 2; x += 4) { + for (int y = 2; y <= rect.h - 2; y += 4) { + g->setColor(dark); + g->fillRect(rect.x + x, rect.y + y, 2, 2); + g->setColor(light); + g->fillRect(rect.x + x + 1, rect.y + y + 1, 1, 1); + } + } + } + break; case PE_IndicatorCheckBox: if (widgetState & WidgetDisabled) { *************** *** 201,208 **** } if (widgetState & WidgetSelected) { ! g->setLineWidth(2); ! g->drawLine(rect.x + 2, rect.y + 2, rect.x + rect.w - 3, rect.y + rect.h - 3); ! g->drawLine(rect.x + rect.w - 4, rect.y + 3, rect.x + 1, rect.y + rect.h - 2); ! g->setLineWidth(1); } break; --- 215,224 ---- } if (widgetState & WidgetSelected) { ! //g->setLineWidth(2); ! g->drawLine(rect.x + 2, rect.y + 2, rect.x + rect.w - 2, rect.y + rect.h - 2); ! g->drawLine(rect.x + 3, rect.y + 2, rect.x + rect.w - 1, rect.y + rect.h - 2); ! g->drawLine(rect.x + 2, rect.y + rect.h - 3, rect.x + rect.w - 2, rect.y + 1); ! g->drawLine(rect.x + 3, rect.y + rect.h - 3, rect.x + rect.w - 1, rect.y + 1); ! //g->setLineWidth(1); } break; *************** *** 247,259 **** if (hints->opacity) { UColor col(hints->palette.background()); ! if (widgetState & (WidgetPressed)) { col = col.darker(); } col.getFloat()[3] = hints->opacity; ! g->setColor(col); // don't paint edges (frame) g->drawLine(rect.x + 2, rect.y + 1, rect.x + rect.w - 2, rect.y + 1); ! g->fillRect(rect.x + 1, rect.y + 2, rect.w - 2, rect.h - 4); ! g->drawLine(rect.x + 2, rect.y + rect.h - 2, rect.x + rect.w - 2, rect.y + rect.h - 2); } if (widgetState & (WidgetSelected | WidgetHasMouseFocus)) { --- 263,286 ---- if (hints->opacity) { UColor col(hints->palette.background()); ! if (widgetState & (WidgetPressed | WidgetSelected)) { col = col.darker(); } col.getFloat()[3] = hints->opacity; ! g->setColor(col.brighter()); // don't paint edges (frame) g->drawLine(rect.x + 2, rect.y + 1, rect.x + rect.w - 2, rect.y + 1); ! ! UVertexArray bg; ! bg.setColor(col.brighter()); ! bg.add(rect.x + 1, rect.y + 2); ! bg.add(rect.x + rect.w, rect.y + 2); ! bg.setColor(col); ! bg.add(rect.x + rect.w, rect.y + rect.h - 2); ! bg.add(rect.x + 1, rect.y + rect.h - 2); ! g->drawVertexArray(UGraphics::TriangleFan, &bg); ! ! g->setColor(col); ! //g->fillRect(rect.x + 1, rect.y + 2, rect.w - 2, rect.h - 4); ! g->drawLine(rect.x + 2, rect.y + rect.h - 1, rect.x + rect.w - 2, rect.y + rect.h - 1); } if (widgetState & (WidgetSelected | WidgetHasMouseFocus)) { *************** *** 633,639 **** case CE_Slider: if (hints->orientation == Vertical) { ! return ret + UInsets(0, 0, 0, 12); } else { ! return ret + UInsets(12, 0, 0, 0); } break; --- 660,666 ---- case CE_Slider: if (hints->orientation == Vertical) { ! return ret + UInsets(0, 0, 0, 14); } else { ! return ret + UInsets(14, 0, 0, 0); } break; *************** *** 663,666 **** --- 690,697 ---- return ret + UInsets(2, 3, 3, 3); break; + case CE_TabBarTab: + // plus border + return ret + UInsets(3, 3, 2, 3); + break; default: return ret; *************** *** 709,713 **** break; case CE_CheckBox: { ! paintPrimitive(g, PE_PanelButtonBevel, rect, hints, model->widgetState); //const UCompoundModel * compound = static_cast<const UCompoundModel*>(model); URectangle icon_rect(0, rect.h / 2 - 6, 12, 12); --- 740,745 ---- break; case CE_CheckBox: { ! //paintPrimitive(g, PE_PanelButtonBevel, rect, hints, model->widgetState); ! paintPrimitive(g, PE_PanelWidget, rect, hints, model->widgetState); //const UCompoundModel * compound = static_cast<const UCompoundModel*>(model); URectangle icon_rect(0, rect.h / 2 - 6, 12, 12); *************** *** 721,726 **** break; case CE_RadioButton: { ! paintPrimitive(g, PE_PanelButtonBevel, rect, hints, model->widgetState); //const UCompoundModel * compound = static_cast<const UCompoundModel*>(model); URectangle icon_rect(0, rect.h / 2 - 6, 12, 12); //if (compound->icon == NULL) { --- 753,759 ---- break; case CE_RadioButton: { ! //paintPrimitive(g, PE_PanelButtonBevel, rect, hints, model->widgetState); //const UCompoundModel * compound = static_cast<const UCompoundModel*>(model); + paintPrimitive(g, PE_PanelWidget, rect, hints, model->widgetState); URectangle icon_rect(0, rect.h / 2 - 6, 12, 12); //if (compound->icon == NULL) { *************** *** 737,742 **** if (menuItem->widgetState & WidgetHasMouseFocus || menuItem->widgetState & WidgetHighlighted) { ! g->setColor(hints->palette.highlight()); ! g->fillRect(rect); } URectangle icon_rect(0, rect.h / 2 - 6, 12, 12); --- 770,785 ---- if (menuItem->widgetState & WidgetHasMouseFocus || menuItem->widgetState & WidgetHighlighted) { ! ! UVertexArray bg; ! bg.setColor(hints->palette.highlight().brighter()); ! bg.add(rect.x, rect.y); ! bg.add(rect.x + rect.w, rect.y); ! bg.setColor(hints->palette.highlight()); ! bg.add(rect.x + rect.w, rect.y + rect.h); ! bg.add(rect.x, rect.y + rect.h); ! g->drawVertexArray(UGraphics::TriangleFan, &bg); ! ! //g->setColor(hints->palette.highlight()); ! //g->fillRect(rect); } URectangle icon_rect(0, rect.h / 2 - 6, 12, 12); *************** *** 922,925 **** --- 965,969 ---- } g->fillRect(slider_rect); + paintPrimitive(g, PE_Gripper, slider_rect - UInsets(2, 0, 2, 0), hints, model->widgetState); g->setColor(hints->palette.highlight().darker()); g->drawRect(slider_rect); *************** *** 948,953 **** (pModel->maximum - pModel->minimum) ); ! g->setColor(hints->palette.highlight()); ! g->fillRect(rect.x, rect.y, width, rect.h); paintBorder(g, LineBorder, rect, hints, model->widgetState); if (pModel->textVisible) { --- 992,1006 ---- (pModel->maximum - pModel->minimum) ); ! //g->setColor(hints->palette.highlight()); ! //g->fillRect(rect.x, rect.y, width, rect.h); ! UVertexArray bg; ! bg.setColor(hints->palette.highlight().darker()); ! bg.add(rect.x, rect.y); ! bg.add(rect.x + width, rect.y); ! bg.setColor(hints->palette.highlight().brighter()); ! bg.add(rect.x + width, rect.y + rect.h); ! bg.add(rect.x, rect.y + rect.h); ! g->drawVertexArray(UGraphics::TriangleFan, &bg); ! paintBorder(g, LineBorder, rect, hints, model->widgetState); if (pModel->textVisible) { *************** *** 999,1026 **** g->drawRect(slider_rect); */ ! //g->setEnabled(UGraphics::LineAntialiasing, true); ! float arr_height = slider_rect.h * 0.7; ! float arr_height_2 = slider_rect.h * 0.9; ! g->setColor(hints->palette.background().darker()); ! UVertexArray array; ! array.add(slider_rect.x + 1, slider_rect.y); ! array.add(slider_rect.x - 1 + slider_rect.w, slider_rect.y); ! array.add(slider_rect.x + slider_rect.w, slider_rect.y + 1); ! array.add(slider_rect.x + slider_rect.w, slider_rect.y + arr_height); ! ! array.add(slider_rect.x + slider_rect.w * 0.75f, slider_rect.y + arr_height_2); ! array.add(slider_rect.x + slider_rect.w / 2, slider_rect.y + slider_rect.h); ! array.add(slider_rect.x + slider_rect.w * 0.25f, slider_rect.y + arr_height_2); ! ! array.add(slider_rect.x, slider_rect.y + arr_height); ! array.add(slider_rect.x, slider_rect.y + 1); ! array.add(slider_rect.x + 1, slider_rect.y); ! g->setColor(hints->palette.background()); ! g->drawVertexArray(UGraphics::TriangleFan, &array); ! g->setColor(hints->palette.dark()); ! g->drawVertexArray(UGraphics::LineStrip, &array); ! g->drawRect(slider_rect.x + 2, slider_rect.y + 3, 2, 2); ! g->drawRect(slider_rect.x + slider_rect.w - 3, slider_rect.y + 3, 2, 2); } } --- 1052,1059 ---- g->drawRect(slider_rect); */ ! paintPrimitive(g, PE_PanelButtonBevel, slider_rect, hints, model->widgetState); ! paintPrimitive(g, PE_FrameButtonBevel, slider_rect, hints, model->widgetState); ! paintPrimitive(g, PE_Gripper, slider_rect - UInsets(2, 1, 2, 1), hints, model->widgetState); } } *************** *** 1170,1174 **** case CE_Splitter: break; ! case CE_TabBarTab: break; case CE_GroupBox: { --- 1203,1248 ---- case CE_Splitter: break; ! case CE_TabBarTab: { ! //paintPrimitive(g, PE_PanelButtonBevel, rect, hints, model->widgetState); ! ! if (hints->opacity) { ! UColor col(hints->palette.background()); ! if (model->widgetState & (WidgetPressed | WidgetSelected)) { ! col = col.darker(); ! } ! col.getFloat()[3] = hints->opacity; ! g->setColor(col.brighter()); ! // don't paint edges (frame) ! g->drawLine(rect.x + 2, rect.y + 1, rect.x + rect.w - 2, rect.y + 1); ! ! UVertexArray bg; ! bg.setColor(col.brighter()); ! bg.add(rect.x + 1, rect.y + 2); ! bg.add(rect.x + rect.w, rect.y + 2); ! bg.setColor(col); ! bg.add(rect.x + rect.w, rect.y + rect.h); ! bg.add(rect.x + 1, rect.y + rect.h); ! g->drawVertexArray(UGraphics::TriangleFan, &bg); ! } ! ! paintComponent(g, CE_Compound, rect - insets, hints, model); ! ! g->setColor(hints->palette.background().darker()); ! UVertexArray array; ! if (model->widgetState & WidgetSelected) { ! array.add(rect.x, rect.y + rect.h); ! array.add(rect.x, rect.y + 2); ! array.add(rect.x + 2, rect.y); ! array.add(rect.x + rect.w - 3, rect.y); ! array.add(rect.x + rect.w - 1, rect.y + 2); ! array.add(rect.x + rect.w - 1, rect.y + rect.h); ! } else { ! array.add(rect.x, rect.y + rect.h); ! array.add(rect.x, rect.y + 2); ! array.add(rect.x + rect.w - 1, rect.y + 2); ! array.add(rect.x + rect.w - 1, rect.y + rect.h); ! } ! g->drawVertexArray(UGraphics::LineStrip, &array); ! } break; case CE_GroupBox: { *************** *** 1347,1351 **** const USliderModel * sliderModel = static_cast<const USliderModel*>(model); int width = 8; ! int height = 12; int maxlen = (hints->orientation == Vertical) ? rect.h : rect.w; int pos = basicstyle_sliderModelToView( --- 1421,1425 ---- const USliderModel * sliderModel = static_cast<const USliderModel*>(model); int width = 8; ! int height = 14; int maxlen = (hints->orientation == Vertical) ? rect.h : rect.w; int pos = basicstyle_sliderModelToView( |