A small revision on my last published commit, set and restore the
low color in addition to the high color when drawing the menu item
because DrawString() will produce nicer looking results if the low
color of the view matches the color it draws on due to anti-aliasing.
See #6610 comment:15 for details.
Firstly, don't save and restore the super menu's low color
since it never changes, instead, save and restore the super
menu's high color which does get altered here.
Secondly, set the high color to
B_MENU_SELECTED_ITEM_TEXT_COLOR only if the menu item
is activated and enabled, otherwise set the high color by tinting the
background color which might be
B_MENU_SELECTED_BACKGROUND_COLOR or
B_MENU_BACKGROUND_COLOR depending on whether
the item is selected or not.
Thirdly, complete the TODO by using a lighten tint if the menu
has a dark background and vice-versa.
This third item is actually a good candidate for a BControlLook
function because the disabled tint should depend on whether the
background color of the thing you're disabling is light or dark.
... to layout the menu field label and menu in the grid. This makes
the label and grid layout correctly, the AddMenuField() method should
be deprecated or fixed as it lays out the menu field differently.
Also replace numeric spacing units with font relative spacing units.
With #6610 fixed, it is now possible to open disabled menus in a
menubar, so the workaround introduced in hrev33840 is no longer
needed.
Signed-off-by: John Scipione <jscipione@gmail.com>
* fallback to mechanism 1 for out of range bus numbers
* Support for the fallback is mandatory according to the PCIe specification.
* Should help with #9929 and #9930
Use CreateLabelLayoutItem() instead of faking the label with a BStringView.
This is important because it means the label is part of the menu field control
rather than being it's own separate view.
Also convert from using deprecated BGroupLayoutBuilder and
BGridLayoutBuilder classes and use the BLayoutBuilder template instead.
Use font-relative spacing values instead of constants.
Make key label take up 2 columns
Make protected methods private, don't want to subclass
ModifierKeysWindow
* Added ParagraphStyleData. Contains actual style data. Incomplete.
Supposed to be immutable,.
* Added ParagraphStyle, references a ParagraphStyleData.
Multiple ParagraphStyle object can refer to the same ParagrapgStyleData,
when a style aspect is changed for ParagraphStyle, it makes its own
copy of the previous ParagraphStyleData with the changed property.
* Added Paragraph class, currently knows only its ParagraphStyle.
... just because the source path ./kernel/drivers/audio/usb obviously
references audio hardware so "_audio" suffix is excessive.
No functional changes.
* USB audio device entry number made 1-based instead of 0. According to
Haiku MultiAudio specs audio device entries should be 1-based but
0-based;
* cleanup and refactoring. No functional changes;
* recording stream activated;
* fix input channels description report and codestyle issues.
* some functionality like recording temporarily disabled;
* set the endpoint speed call added;
* packet size hard-coded for 48kHz case;
* draft support for formats and sampling rate handling;
* implement sampling rate change on the fly;
* optimized using of starting frame;
* fix user_memory in buffer exchaqnge call;
* fix exchanged buffer recoriding processing;
* debug tweaks, fix current buffer switching;
* cleanup, cleanup, cleanup...
In case control transfer is finished with STALL answer from device only
the setup TD is retired into the Done Queue but other TDs (data and
status) are left in the ED queue. HC set the endpoint halted - so we
process such endpoint regardless of it's non-empty queue.
PS: cleanup some trailing spaces.
Finishing and refactoring the draft, initially implemented during April-May 2012
NOTE: startingFrameNumber returned to device contains the number of the
next free frame right after the last packed of submitted data. For more
details please Look into corresponding [haiku-development] discussion
started at 03 Jul 2013.
Partially fixes#1045.
Implements enhancement described in #9819
This feature works pretty much as it did on BeOS R5.
When you focus on the color control, the border is drawn blue and
the dot on the red ramp draws as an outline to show that it is
selected. You can push the up and down arrow keys to navigate to the
previous and next ramps respectively and can push right and left to
increment and decrement the color value of the selected ramp.
Clicking on the control no longer gives it focus.
In BeOS the left and right arrows would increment and decriment by 5,
on Haiku they increment and decrement by 1, but, by holding down the
key for a second or so the increment value increases to 5 allowing for
both course and fine adjustments.
On a technical note I split the int32 fFocusedComponent member variable
into 2 int16 member variables, fFocusedRamp and fClickedRamp. I did this
because I needed an entra variable, and can't change the size of the
class without using up another reserved member variable slot. int16
should be more than enough for these variables as they store an index to
the currently focused or clicked on ramp (0-3). Please someone chime in
if this is not okay for FBC in some condition I didn't think about.
* The char classification stuff and can_end_line() originate
from the BTextView implementation. Maybe Oliver Tappe is the
lonely author of that code, but I don't feel like tracking this
down at the moment and it should eventually be merged anyway,
if what I did here proves useful at all.
* Due to HasHeightForWidth TextViews, the MinSize() of
the layout has a different meaning. The reliable source
for the actual needed height of the layout seems to be the
Frame().bottom of the last BLayoutItem.