From 1525520dd177f7274ac5e2d2e95c5fa9027e0f48 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 14 Jul 2002 17:55:03 +0000 Subject: [PATCH] make arrows larger, match th size of the other bullets. make all bullets' sizes quickly/easily adustable --- src/Basemenu.cc | 39 ++++++++++++++------------ src/Toolbar.cc | 74 ++++++++++++++++++++----------------------------- src/Toolbar.hh | 1 + 3 files changed, 52 insertions(+), 62 deletions(-) diff --git a/src/Basemenu.cc b/src/Basemenu.cc index 5b4acdf0..8feb7372 100644 --- a/src/Basemenu.cc +++ b/src/Basemenu.cc @@ -636,28 +636,31 @@ void Basemenu::drawItem(int index, bool highlight, bool clear, } if (dosel && item->submenu()) { + const int bullet_size = 3; + switch (screen->getMenuStyle()->bullet) { case Square: - XDrawRectangle(display, menu.frame, pen.gc(), sel_x, sel_y, half_w, half_w); + XDrawRectangle(display, menu.frame, pen.gc(), sel_x, sel_y, + bullet_size * 2, bullet_size * 2); break; case Triangle: XPoint tri[3]; if (screen->getMenuStyle()->bullet_pos == Right) { - tri[0].x = sel_x + quarter_w - 2; - tri[0].y = sel_y + quarter_w - 2; - tri[1].x = 4; - tri[1].y = 2; - tri[2].x = -4; - tri[2].y = 2; + tri[0].x = sel_x + quarter_w - bullet_size; + tri[0].y = sel_y + quarter_w - bullet_size; + tri[1].x = 2 * bullet_size; + tri[1].y = bullet_size; + tri[2].x = -(2 * bullet_size); + tri[2].y = bullet_size; } else { - tri[0].x = sel_x + quarter_w - 2; + tri[0].x = sel_x + quarter_w - bullet_size; tri[0].y = item_y + half_w; - tri[1].x = 4; - tri[1].y = 2; + tri[1].x = 2 * bullet_size; + tri[1].y = bullet_size; tri[2].x = 0; - tri[2].y = -4; + tri[2].y = -(2 * bullet_size); } XFillPolygon(display, menu.frame, pen.gc(), tri, 3, Convex, @@ -667,14 +670,14 @@ void Basemenu::drawItem(int index, bool highlight, bool clear, case Diamond: XPoint dia[4]; - dia[0].x = sel_x + quarter_w - 3; + dia[0].x = sel_x + quarter_w - bullet_size; dia[0].y = item_y + half_w; - dia[1].x = 3; - dia[1].y = -3; - dia[2].x = 3; - dia[2].y = 3; - dia[3].x = -3; - dia[3].y = 3; + dia[1].x = bullet_size; + dia[1].y = -bullet_size; + dia[2].x = bullet_size; + dia[2].y = bullet_size; + dia[3].x = -bullet_size; + dia[3].y = bullet_size; XFillPolygon(display, menu.frame, pen.gc(), dia, 4, Convex, CoordModePrevious); diff --git a/src/Toolbar.cc b/src/Toolbar.cc index 23a45608..a2c3442b 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc @@ -624,6 +624,32 @@ void Toolbar::redrawWorkspaceLabel(bool redraw) { } +void Toolbar::drawArrow(Drawable surface, bool left) const { + int hh = frame.button_w / 2, hw = frame.button_w / 2; + XPoint pts[3]; + const int bullet_size = 3; + + if (left) { + pts[0].x = hw - bullet_size; + pts[0].y = hh; + pts[1].x = 2 * bullet_size; + pts[1].y = bullet_size; + pts[2].x = 0; + pts[2].y = -(2 * bullet_size); + } else { + pts[0].x = hw - bullet_size; + pts[0].y = hh - bullet_size; + pts[1].x = (2 * bullet_size); + pts[1].y = bullet_size; + pts[2].x = -(2 * bullet_size); + pts[2].y = bullet_size; + } + + BPen pen(screen->getToolbarStyle()->b_pic); + XFillPolygon(display, surface, pen.gc(), pts, 3, Convex, CoordModePrevious); +} + + void Toolbar::redrawPrevWorkspaceButton(bool pressed, bool redraw) { if (redraw) { if (pressed) { @@ -640,17 +666,7 @@ void Toolbar::redrawPrevWorkspaceButton(bool pressed, bool redraw) { XClearWindow(display, frame.psbutton); } - int hh = frame.button_w / 2, hw = frame.button_w / 2; - - XPoint pts[3]; - pts[0].x = hw - 2; pts[0].y = hh; - pts[1].x = 4; pts[1].y = 2; - pts[2].x = 0; pts[2].y = -4; - - ToolbarStyle *style = screen->getToolbarStyle(); - BPen pen(style->b_pic); - XFillPolygon(display, frame.psbutton, pen.gc(), - pts, 3, Convex, CoordModePrevious); + drawArrow(frame.psbutton, True); } @@ -670,17 +686,7 @@ void Toolbar::redrawNextWorkspaceButton(bool pressed, bool redraw) { XClearWindow(display, frame.nsbutton); } - int hh = frame.button_w / 2, hw = frame.button_w / 2; - - XPoint pts[3]; - pts[0].x = hw - 2; pts[0].y = hh - 2; - pts[1].x = 4; pts[1].y = 2; - pts[2].x = -4; pts[2].y = 2; - - ToolbarStyle *style = screen->getToolbarStyle(); - BPen pen(style->b_pic); - XFillPolygon(display, frame.nsbutton, pen.gc(), - pts, 3, Convex, CoordModePrevious); + drawArrow(frame.nsbutton, False); } @@ -700,17 +706,7 @@ void Toolbar::redrawPrevWindowButton(bool pressed, bool redraw) { XClearWindow(display, frame.pwbutton); } - int hh = frame.button_w / 2, hw = frame.button_w / 2; - - XPoint pts[3]; - pts[0].x = hw - 2; pts[0].y = hh; - pts[1].x = 4; pts[1].y = 2; - pts[2].x = 0; pts[2].y = -4; - - ToolbarStyle *style = screen->getToolbarStyle(); - BPen pen(style->b_pic); - XFillPolygon(display, frame.pwbutton, pen.gc(), - pts, 3, Convex, CoordModePrevious); + drawArrow(frame.pwbutton, True); } @@ -730,17 +726,7 @@ void Toolbar::redrawNextWindowButton(bool pressed, bool redraw) { XClearWindow(display, frame.nwbutton); } - int hh = frame.button_w / 2, hw = frame.button_w / 2; - - XPoint pts[3]; - pts[0].x = hw - 2; pts[0].y = hh - 2; - pts[1].x = 4; pts[1].y = 2; - pts[2].x = -4; pts[2].y = 2; - - ToolbarStyle *style = screen->getToolbarStyle(); - BPen pen(style->b_pic); - XFillPolygon(display, frame.nwbutton, pen.gc(), pts, 3, Convex, - CoordModePrevious); + drawArrow(frame.nwbutton, False); } diff --git a/src/Toolbar.hh b/src/Toolbar.hh index f95d6a55..45464e77 100644 --- a/src/Toolbar.hh +++ b/src/Toolbar.hh @@ -118,6 +118,7 @@ private: friend class Toolbarmenu; friend class Toolbarmenu::Placementmenu; + void drawArrow(Drawable surface, bool left) const; void redrawPrevWorkspaceButton(bool pressed = False, bool redraw = False); void redrawNextWorkspaceButton(bool pressed = False, bool redraw = False); void redrawPrevWindowButton(bool preseed = False, bool redraw = False); -- 2.45.2