haiku/headers/os/interface
Adrien Destugues 5f603da01a Better shape for submenu arrow
Just use BControLook where appropriate. It already provides a nice arrow
drawing function (also used in DeskBar expander and in scrollbar
buttons).

Fix second part of #8900

Changes by John Scipione:

Update menu mark and submenu arrow color with menu text color

Use text color for checkmark and submenu arrow colors, tint less black.
This means that colored bg/white text menu item will also draw a white
checkmark and submenu arrow.

Break out BMenuItem::Draw functionality into private methods _IsActive,
_LowColor() and _HighColor() methods and use them to set the mark colors.

Scale submenu arrow and checkmark with item height (which scales with
font size.)

does not align shortcuts with submenu arrows... but if you were to do
that you'd add item->Bounds().Height() / 2.

Signed-off-by: John Scipione <jscipione@gmail.com>

Change-Id: I8299094ef88bf227510b116eb1b84c261dc94723
Reviewed-on: https://review.haiku-os.org/c/341
Reviewed-by: Stefano Ceccherini <stefano.ceccherini@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-01-14 15:59:57 +00:00
..
AbstractLayout.h More whitespace cleanup all over the place. 2015-04-10 15:05:14 +02:00
AbstractLayoutItem.h Make archiving hooks protected in layout classes. 2011-12-01 20:45:50 -07:00
AffineTransform.h BAffineTransform: add PreTranslate/PreScale/PreRotate 2015-11-10 23:34:03 +01:00
Alert.h BAlert: use layout API, allow any number of buttons. 2015-07-30 19:50:03 +02:00
Alignment.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Bitmap.h Package daemon notifications 2017-07-31 19:09:38 +02:00
Box.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
Button.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
CardLayout.h Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
CardView.h Interface Kit: Add BCardView 2015-12-26 20:13:22 -05:00
ChannelControl.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
ChannelSlider.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
CheckBox.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
ColorControl.h BColorControl: Remove fOffscreenView pointer 2016-03-12 19:14:26 -08:00
Control.h Style fixes to IK, focus on docs 2014-06-13 17:27:01 -04:00
ControlLook.h BControlLook: Add FBC padding. 2018-08-14 13:54:37 -04:00
Deskbar.h Deskbar: Resizable tray 2018-11-04 19:00:49 +00:00
Dragger.h BDragger: add layout-aware constructor. 2014-10-11 11:18:56 +02:00
Font.h Implementation of BFont::Blocks 2017-05-08 22:17:53 +02:00
Gradient.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientConic.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientDiamond.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientLinear.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientRadial.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GradientRadialFocus.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
GraphicsDefs.h GraphicsDefs: Revert back to casting structs to integers to compare them. 2017-12-02 17:36:20 -05:00
GridLayout.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
GridLayoutBuilder.h Add default spacing for Layouts (#5614) 2010-09-02 22:58:24 +00:00
GridView.h Add FBC padding + Perform() methods to GridView and GroupView. 2011-11-04 23:08:11 -06:00
GroupLayout.h More whitespace cleanup all over the place. 2015-04-10 15:05:14 +02:00
GroupLayoutBuilder.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
GroupView.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
IconUtils.h * Add BIconUtils documentation to the Haiku Book 2011-08-09 19:31:46 +00:00
Input.h Optimized includes. For example, BeBuild.h is almost always already included 2009-08-27 12:36:35 +00:00
InterfaceDefs.h Nuke COMPILE_FOR_R5. 2017-11-15 17:52:27 +01:00
Layout.h Make archiving hooks protected in layout classes. 2011-12-01 20:45:50 -07:00
LayoutBuilder.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
LayoutContext.h Add FBC padding to all (I think..) of the visible Layout related classes. 2011-11-02 00:29:33 -06:00
LayoutItem.h BLayoutItem: Add RemoveSelf() convenience method. 2015-04-15 00:34:05 +02:00
LayoutUtils.h Fix button label position, try number 2 2014-04-08 14:10:10 -04:00
ListItem.h * Added BListItem::SetOutlineLevel() method. 2010-05-07 11:24:25 +00:00
ListView.h BListView: Cleanup, no functional change. 2016-12-25 16:16:43 -05:00
Menu.h headers: Remove some extra semicolons. 2018-12-09 23:00:47 -05:00
MenuBar.h BMenu and friends: style fixes 2016-07-31 19:42:39 -07:00
MenuField.h Fix more class/struct mixups. 2017-12-02 22:24:06 -05:00
MenuItem.h Better shape for submenu arrow 2019-01-14 15:59:57 +00:00
MultiChannelControl.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
OptionControl.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
OptionPopUp.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
OutlineListView.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
Picture.h BPicture: Style fixes related to documentation. 2014-05-19 20:13:38 -04:00
PictureButton.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
Point.h Various whitespace cleanup only. 2015-09-05 16:09:33 +02:00
Polygon.h BPolygon: Style fixes for documentation. 2014-05-21 16:12:47 -04:00
PopUpMenu.h BPopUpMenu style fixes for documentation, no functional change intended 2013-11-11 19:27:45 -05:00
PrintJob.h PrintJob: make struct print_file_header packed. 2017-07-31 17:11:53 +02:00
RadioButton.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
Rect.h BRect: Style fixes for documentation 2014-05-30 19:31:10 -04:00
Region.h BRegion: add ScaleBy(BSize) and user documentation. 2014-06-19 19:23:31 +02:00
Screen.h Style fix: parameters should have a name. 2017-11-21 12:19:56 +01:00
ScrollBar.h Revert "BScrollBar: Add lines and dots knob styles to scroll bar" 2018-07-22 18:26:06 +00:00
ScrollView.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
SeparatorItem.h BSeparatorItem: Style fix, rename archive to data 2014-03-04 14:28:20 -05:00
SeparatorView.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
Shape.h BShape: Rename these params back in header. 2014-07-14 19:15:13 -04:00
Shelf.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Size.h Finished unifying the Interface Kit headers: 2009-08-27 11:12:41 +00:00
Slider.h Slider: Style fixes 2016-03-22 12:00:36 -07:00
SpaceLayoutItem.h Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
SplitLayoutBuilder.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
SplitView.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
StatusBar.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
StringItem.h * add protected accessor for baseline offset to StringItem, as that value is of 2011-08-21 17:17:13 +00:00
StringView.h BStringView: add support for multiline strings 2018-11-03 16:44:10 +00:00
TabView.h BTabView: implement drawing tabs on all sides. 2017-08-20 09:04:05 +02:00
TextControl.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
TextView.h TextView: Fix FBC size breakage, take 2 2014-07-24 13:55:09 -04:00
TwoDimensionalLayout.h Remove enum elaborated type specifier 2013-07-08 19:29:11 -04:00
UnicodeBlockObjects.h Implementation of BFont::Blocks 2017-05-08 22:17:53 +02:00
View.h Revert "BView: use off_t instead of long." 2017-07-24 08:48:28 +02:00
Window.h Revert "BWindow: CenterOnScreen a bit above center" 2017-01-01 12:25:05 -08:00