Searched +hist:1 +hist:f424632 (Results 1 - 25 of 30) sorted by relevance

12

/haiku/headers/os/interface/
H A DChannelControl.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DAlert.hdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DRadioButton.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DPictureButton.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DColorControl.hdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 74577830 Sat Aug 17 01:14:38 MDT 2013 John Scipione <jscipione@gmail.com> ColorControl: Implement keyboard navigation

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.
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 74577830da3777d2e0e7e9d391f2710055e24c30 Sat Aug 17 01:14:38 MDT 2013 John Scipione <jscipione@gmail.com> ColorControl: Implement keyboard navigation

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.
H A DButton.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DCheckBox.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DScrollView.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 5fd5fe56 Sat Jan 31 14:27:50 MST 2009 Karsten Heimrich <host.haiku@gmx.de> * refactor _Init and DoLayout to share some code
* DoLayout did not work as expected, after the call
the scrollbars would have an 1px offset inside the target
* the target needs to be resized while setting a new border, otherwise
it would overlap the border and give some drawing artefacts

- I'm still unsure if the behavior change introduced with the layout stuff is nice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29103 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 5fd5fe56bb933196362615bd00056d5bfad42ffe Sat Jan 31 14:27:50 MST 2009 Karsten Heimrich <host.haiku@gmx.de> * refactor _Init and DoLayout to share some code
* DoLayout did not work as expected, after the call
the scrollbars would have an 1px offset inside the target
* the target needs to be resized while setting a new border, otherwise
it would overlap the border and give some drawing artefacts

- I'm still unsure if the behavior change introduced with the layout stuff is nice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29103 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DOutlineListView.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1e1afb39 Wed Dec 11 14:13:45 MST 2013 John Scipione <jscipione@gmail.com> Updates to BOutlineListView for docs

mostly param naming.

No functional change intended.
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1e1afb393991969921862ca098af8c436659a45e Wed Dec 11 14:13:45 MST 2013 John Scipione <jscipione@gmail.com> Updates to BOutlineListView for docs

mostly param naming.

No functional change intended.
H A DScrollBar.hdiff 1482b250 Wed Mar 04 03:03:47 MST 2020 John Scipione <jscipione@gmail.com> IK: Update scroll bars for alternative control look

Scroll bars should look and work identically to before on
HaikuControlLook.

Add DrawScrollBarButton() and DrawScrollBarThumb() and
DrawScrollBarBorder() methods. These methods are used to draw scroll
bars in a generic way so that they can be drawn differently by alternative
control look's (e.g. BeControlLook). Also it gives us back drawing of
scroll bar knobs. However the knob setting is not exposed in the
interface in this commit.

These methods are in addition to the 2 existing DrawScrollBarBackground()
methods that draw the scroll bar background. One draws the area above and
below the thumb and the other is called by the first to actually draw the
area.

The rest of the drawing besides the backgrounds was being done in
BScrollBar before. To draw the scroll bar arrows and thumb we were recyling
other ControlLook methods, while this worked well enough on HaikuControlLook
it wasn't flexible enough for alternative control looks.

DrawScrollBarButton() is used to draw the four scroll buttons and is
typically (so far) used in combination with DrawArrowShape().

DrawScrollBarThumb() draws the scroll bar thumb.

DrawScrollBarBorder() draws a 1px border around the entire scroll bar,
potentially B_KEYBOARD_NAVIGATION_COLOR if focused (although this is
feature not currently used.)

Draw unscrollable scroll bars as if they were disabled including the
buttons with their arrow shapes, background, and thumb.

Add FBC backwords compatibility macros in ControlLook.cpp

Change-Id: I9237c5ce45d17d674785111d51de951e5686306b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/351
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1d09e9ce Tue Apr 29 08:46:00 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> BScrollbar: remove unused field.

* Nothing ever reads fTargetName in the scrollbar code, so remove the
field.
* Frees one reserved slot, and a little memory, as the target name was
copied with strdup.
diff 1b047148 Wed Sep 10 15:07:32 MDT 2008 Stephan Aßmus <superstippi@gmx.de> Added layout friendly constructor (untested).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27407 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 6a1d169c Sun Apr 06 09:11:31 MDT 2008 Stephan Aßmus <superstippi@gmx.de> * Removed trailing spaces in ScrollBar.h
* It's not a good idea to archive fProportion as int32, seeing it's a float
on [0..1].
* Implemented archive constructor for BScrollBar. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24832 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1d95a5ff Mon May 30 18:58:08 MDT 2005 Stefano Ceccherini <stefano.ceccherini@gmail.com> Renamed the private BScrollBarPrivateData class to be an internal BScrollBar's class

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12916 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1d09e9cee35bb74028ac9a23379b8419076bec1c Tue Apr 29 08:46:00 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> BScrollbar: remove unused field.

* Nothing ever reads fTargetName in the scrollbar code, so remove the
field.
* Frees one reserved slot, and a little memory, as the target name was
copied with strdup.
diff 1b0471487a3e284e8bb35d19837084ee0246657f Wed Sep 10 15:07:32 MDT 2008 Stephan Aßmus <superstippi@gmx.de> Added layout friendly constructor (untested).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27407 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DMenuField.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DListView.hdiff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DView.hdiff 5bbf7f1b Wed Feb 05 05:37:57 MST 2020 Adrien Destugues <pulkomandy@pulkomandy.tk> Actually handle more than 3 mouse buttons

The code in input_server was pretty much all set for this, but there was
no way to configure the extra buttons. Add them to the mouse view in
Input preferences (up to 5 buttons are handled now)

Define a new B_MOUSE_BUTTON(n) macro to generate the bitmask for a given
button (numbered from 1).

Change-Id: I9091082277937d89b08464ff474e7bbb5db82401
Reviewed-on: https://review.haiku-os.org/c/haiku/+/180
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 7f9368ca Wed Dec 09 23:52:48 MST 2015 looncraz <looncraz@looncraz.net> Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1e6e124c Fri Jun 28 20:59:17 MDT 2013 John Scipione <jscipione@gmail.com> BView: Style fixes only, no functional change intended

Motivated by inconsistancies found while documenting BView.

Update copyright year, alphabetize

Variable names normalized:
* pt => point
* r => rect
* p => pattern
* c => color
* msg => message
* a, b and pt0, pt1 => start, end
* r, g, b, a => red, green, blue, alpha

A couple of white spaces fixes.

A couple of !pointer => pointer == NULL fixes.

GetPreferredSize params => _width and _height to indicate out params.
diff 1d6c7b6c Tue Aug 17 12:43:41 MDT 2010 Alex Wilson <yourpalal2@gmail.com> Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts.
a few highlights:
* BLayout now derives publicly from BLayoutItem
* Added BAbstractLayout class, which our layouts now derive from
* updated layout builders to avoid creating views when they don't need to
* updated layout classes
* updated AboutSystem to fix a little regression
* more details on #6407
* please tell me about any regressions, I've tried to find them all, but some
may have slipped by.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1c111165 Mon Jul 28 10:27:13 MDT 2008 Stephan Aßmus <superstippi@gmx.de> Cleanup only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26661 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1e6e124cb40d6907cd2daa0c1d45ac2a646e08f6 Fri Jun 28 20:59:17 MDT 2013 John Scipione <jscipione@gmail.com> BView: Style fixes only, no functional change intended

Motivated by inconsistancies found while documenting BView.

Update copyright year, alphabetize

Variable names normalized:
* pt => point
* r => rect
* p => pattern
* c => color
* msg => message
* a, b and pt0, pt1 => start, end
* r, g, b, a => red, green, blue, alpha

A couple of white spaces fixes.

A couple of !pointer => pointer == NULL fixes.

GetPreferredSize params => _width and _height to indicate out params.
diff 1d6c7b6cb6f46c2672074ff137a18833d4dd3041 Tue Aug 17 12:43:41 MDT 2010 Alex Wilson <yourpalal2@gmail.com> Big change deriving BLayout from BLayoutItem, and allowing viewless BLayouts.
a few highlights:
* BLayout now derives publicly from BLayoutItem
* Added BAbstractLayout class, which our layouts now derive from
* updated layout builders to avoid creating views when they don't need to
* updated layout classes
* updated AboutSystem to fix a little regression
* more details on #6407
* please tell me about any regressions, I've tried to find them all, but some
may have slipped by.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38207 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DTextView.hdiff d11a3231 Thu Jul 24 11:55:09 MDT 2014 John Scipione <jscipione@gmail.com> TextView: Fix FBC size breakage, take 2

Double checked BeOS R5 & Haiku R1/A4 and BTextView should be 356
bytes, somewhere since then we've added 4 bytes. So, this commit
reduces the class size from 360 back to 356 by removing 1 reserved
int32 (instead of 2).

I believe the class size changed in hrev46798 as a result of adding
2 bools (1 byte each padded out to 4 bytes).

Sorry for the noise.
diff d11a3231 Thu Jul 24 11:55:09 MDT 2014 John Scipione <jscipione@gmail.com> TextView: Fix FBC size breakage, take 2

Double checked BeOS R5 & Haiku R1/A4 and BTextView should be 356
bytes, somewhere since then we've added 4 bytes. So, this commit
reduces the class size from 360 back to 356 by removing 1 reserved
int32 (instead of 2).

I believe the class size changed in hrev46798 as a result of adding
2 bools (1 byte each padded out to 4 bytes).

Sorry for the noise.
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff d11a323120b7aae53f178877ca4c4cc59ab6a1d1 Thu Jul 24 11:55:09 MDT 2014 John Scipione <jscipione@gmail.com> TextView: Fix FBC size breakage, take 2

Double checked BeOS R5 & Haiku R1/A4 and BTextView should be 356
bytes, somewhere since then we've added 4 bytes. So, this commit
reduces the class size from 360 back to 356 by removing 1 reserved
int32 (instead of 2).

I believe the class size changed in hrev46798 as a result of adding
2 bools (1 byte each padded out to 4 bytes).

Sorry for the noise.
diff d11a323120b7aae53f178877ca4c4cc59ab6a1d1 Thu Jul 24 11:55:09 MDT 2014 John Scipione <jscipione@gmail.com> TextView: Fix FBC size breakage, take 2

Double checked BeOS R5 & Haiku R1/A4 and BTextView should be 356
bytes, somewhere since then we've added 4 bytes. So, this commit
reduces the class size from 360 back to 356 by removing 1 reserved
int32 (instead of 2).

I believe the class size changed in hrev46798 as a result of adding
2 bools (1 byte each padded out to 4 bytes).

Sorry for the noise.
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
/haiku/src/kits/interface/
H A DCheckBox.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DRadioButton.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DControl.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DScrollView.cppdiff 1bf53ffc Sun Oct 12 08:21:22 MDT 2014 Adrien Destugues <pulkomandy@gmail.com> Remove leftover printf and fix build.
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 5fd5fe56 Sat Jan 31 14:27:50 MST 2009 Karsten Heimrich <host.haiku@gmx.de> * refactor _Init and DoLayout to share some code
* DoLayout did not work as expected, after the call
the scrollbars would have an 1px offset inside the target
* the target needs to be resized while setting a new border, otherwise
it would overlap the border and give some drawing artefacts

- I'm still unsure if the behavior change introduced with the layout stuff is nice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29103 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1ae95ac8 Wed Jun 15 19:01:23 MDT 2005 Axel Dörfler <axeld@pinc-software.de> Mixed up argument order - dunno why this didn't have any effect on R5,
but the frame wasn't visible in Haiku, and rightly so :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13166 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1bf53ffcfcb408417219ed47a5f62b4a97c9a5c9 Sun Oct 12 08:21:22 MDT 2014 Adrien Destugues <pulkomandy@gmail.com> Remove leftover printf and fix build.
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 5fd5fe56bb933196362615bd00056d5bfad42ffe Sat Jan 31 14:27:50 MST 2009 Karsten Heimrich <host.haiku@gmx.de> * refactor _Init and DoLayout to share some code
* DoLayout did not work as expected, after the call
the scrollbars would have an 1px offset inside the target
* the target needs to be resized while setting a new border, otherwise
it would overlap the border and give some drawing artefacts

- I'm still unsure if the behavior change introduced with the layout stuff is nice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29103 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1ae95ac8724efaf5fce9058e4d2f1c16a303ffea Wed Jun 15 19:01:23 MDT 2005 Axel Dörfler <axeld@pinc-software.de> Mixed up argument order - dunno why this didn't have any effect on R5,
but the frame wasn't visible in Haiku, and rightly so :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13166 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DRegion.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1c497670 Fri Jun 03 02:33:49 MDT 2005 Stefano Ceccherini <stefano.ceccherini@gmail.com> RegionSupport accepts, as parameters, references to BRegions (consts when possible) instead of pointers. Note: this is not a functional change

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12936 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1c49767038471650bd35381b458040abe5a7f98f Fri Jun 03 02:33:49 MDT 2005 Stefano Ceccherini <stefano.ceccherini@gmail.com> RegionSupport accepts, as parameters, references to BRegions (consts when possible) instead of pointers. Note: this is not a functional change

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12936 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DOutlineListView.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1e1afb39 Wed Dec 11 14:13:45 MST 2013 John Scipione <jscipione@gmail.com> Updates to BOutlineListView for docs

mostly param naming.

No functional change intended.
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1e1afb393991969921862ca098af8c436659a45e Wed Dec 11 14:13:45 MST 2013 John Scipione <jscipione@gmail.com> Updates to BOutlineListView for docs

mostly param naming.

No functional change intended.
H A DAlert.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
H A DColorControl.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 74577830 Sat Aug 17 01:14:38 MDT 2013 John Scipione <jscipione@gmail.com> ColorControl: Implement keyboard navigation

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.
diff 1f0b41ba Fri Jun 07 15:14:56 MDT 2013 John Scipione <jscipione@gmail.com> BColorControl: Position text controls better

Position the text control vertically in the middle of the ramp in
the case that the text controls are pushed down so that the red, green,
and blue text controls are next to the red, green, and blue ramps.
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 74577830da3777d2e0e7e9d391f2710055e24c30 Sat Aug 17 01:14:38 MDT 2013 John Scipione <jscipione@gmail.com> ColorControl: Implement keyboard navigation

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.
diff 1f0b41ba7fdcc573354eea3e1354520d9a036023 Fri Jun 07 15:14:56 MDT 2013 John Scipione <jscipione@gmail.com> BColorControl: Position text controls better

Position the text control vertically in the middle of the ramp in
the case that the text controls are pushed down so that the red, green,
and blue text controls are next to the red, green, and blue ramps.
H A DScrollBar.cppdiff 369abf3b Wed Dec 09 13:51:28 MST 2020 Adrien Destugues <pulkomandy@pulkomandy.tk> Have a minimum size for scrollbars

With small font sizes, the scrollbars don't need to get smaller than 14
pixels. So, don't allow the scaling to go below 1.
diff 1482b250 Wed Mar 04 03:03:47 MST 2020 John Scipione <jscipione@gmail.com> IK: Update scroll bars for alternative control look

Scroll bars should look and work identically to before on
HaikuControlLook.

Add DrawScrollBarButton() and DrawScrollBarThumb() and
DrawScrollBarBorder() methods. These methods are used to draw scroll
bars in a generic way so that they can be drawn differently by alternative
control look's (e.g. BeControlLook). Also it gives us back drawing of
scroll bar knobs. However the knob setting is not exposed in the
interface in this commit.

These methods are in addition to the 2 existing DrawScrollBarBackground()
methods that draw the scroll bar background. One draws the area above and
below the thumb and the other is called by the first to actually draw the
area.

The rest of the drawing besides the backgrounds was being done in
BScrollBar before. To draw the scroll bar arrows and thumb we were recyling
other ControlLook methods, while this worked well enough on HaikuControlLook
it wasn't flexible enough for alternative control looks.

DrawScrollBarButton() is used to draw the four scroll buttons and is
typically (so far) used in combination with DrawArrowShape().

DrawScrollBarThumb() draws the scroll bar thumb.

DrawScrollBarBorder() draws a 1px border around the entire scroll bar,
potentially B_KEYBOARD_NAVIGATION_COLOR if focused (although this is
feature not currently used.)

Draw unscrollable scroll bars as if they were disabled including the
buttons with their arrow shapes, background, and thumb.

Add FBC backwords compatibility macros in ControlLook.cpp

Change-Id: I9237c5ce45d17d674785111d51de951e5686306b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/351
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1d09e9ce Tue Apr 29 08:46:00 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> BScrollbar: remove unused field.

* Nothing ever reads fTargetName in the scrollbar code, so remove the
field.
* Frees one reserved slot, and a little memory, as the target name was
copied with strdup.
diff 5d98ee1e Sat Mar 08 13:18:35 MST 2014 John Scipione <jscipione@gmail.com> Revert "BScrollView: Increase small scroll step size from 1 to 3"

This reverts commit bdcfc076173236ddecccfebd945530a309debdce.
diff bdcfc076 Fri Mar 07 15:02:58 MST 2014 John Scipione <jscipione@gmail.com> BScrollView: Increase small scroll step size from 1 to 3

... and then don't multiply by 3 in BView
diff 1b047148 Wed Sep 10 15:07:32 MDT 2008 Stephan Aßmus <superstippi@gmx.de> Added layout friendly constructor (untested).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27407 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 6a1d169c Sun Apr 06 09:11:31 MDT 2008 Stephan Aßmus <superstippi@gmx.de> * Removed trailing spaces in ScrollBar.h
* It's not a good idea to archive fProportion as int32, seeing it's a float
on [0..1].
* Implemented archive constructor for BScrollBar. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24832 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 72f32cca Sat Jul 02 11:00:44 MDT 2005 Stefano Ceccherini <stefano.ceccherini@gmail.com> Fixed two bugs: 1. one doubled arrow scrolled in the wrong direction. 2. When the mouse exited the view while scrolling, the scrollbar would stopped scrolling.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13407 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DButton.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1b7f1150 Tue Oct 01 18:23:00 MDT 2002 Marc Flerackers <mflerackers@nowhere.fake> Put back lost changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1344 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1b7f1150630a41f559552f6fca9b6afead8ad23e Tue Oct 01 18:23:00 MDT 2002 Marc Flerackers <mflerackers@nowhere.fake> Put back lost changes


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1344 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DMenuField.cppdiff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1f424632 Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1c95f722 Fri Jun 07 01:25:36 MDT 2013 John Scipione <jscipione@gmail.com> Don't set MaxContentWidth on the menu bar of a BMenuField

Fixes #9816

It is no longer necessary, or even desirable for us to set the max
content width of the menu bar of a BMenuField now that BMenuItem
truncation and BMenuField sizing are working.

The user may, however, wish to set the max content width of the menu
bar of a BMenuField themselves like so:

menuField->MenuBar()->SetMaxContentWidth(width);

and the Interface Kit will automatically deduct the left and right
margins from the width including the space used by the drop down arrow.
diff 44cd9847 Mon Feb 18 06:04:52 MST 2008 Stefano Ceccherini <stefano.ceccherini@gmail.com> pass -1 as first parameter of StartMenuBar(), otherwise it will hide the
cursor (used for keyboard navigation). Fixes bug #1807


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24003 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f424632be5dcad5b81a23080eb205ab6471cd7b Wed Jun 11 17:00:46 MDT 2014 John Scipione <jscipione@gmail.com> Style fixes to IK, focus on docs
diff 1c95f72222f766079af3183ab490e42506f5feca Fri Jun 07 01:25:36 MDT 2013 John Scipione <jscipione@gmail.com> Don't set MaxContentWidth on the menu bar of a BMenuField

Fixes #9816

It is no longer necessary, or even desirable for us to set the max
content width of the menu bar of a BMenuField now that BMenuItem
truncation and BMenuField sizing are working.

The user may, however, wish to set the max content width of the menu
bar of a BMenuField themselves like so:

menuField->MenuBar()->SetMaxContentWidth(width);

and the Interface Kit will automatically deduct the left and right
margins from the width including the space used by the drop down arrow.
diff 44cd9847e91ea326d8dc7cc77a154ecbc966993a Mon Feb 18 06:04:52 MST 2008 Stefano Ceccherini <stefano.ceccherini@gmail.com> pass -1 as first parameter of StartMenuBar(), otherwise it will hide the
cursor (used for keyboard navigation). Fixes bug #1807


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24003 a95241bf-73f2-0310-859d-f6bbb57e9c96

Completed in 622 milliseconds

12