History log of /haiku/headers/os/interface/ColorControl.h
Revision Date Author Comments
# 53f75ce5 12-Mar-2016 John Scipione <jscipione@gmail.com>

BColorControl: Remove fOffscreenView pointer

...and rename fBitmap to fOffscreenBitmap to make it more clear what it is.

We don't need to save a pointer to both the offscreen bitmap and
the offscreen view, just the bitmap. We can access the view by calling
fOffscreenBitmap->ChildAt((int32)0). This gives us back a _reserved private
variable slot.

In the (unlikely) case that _InitData() is called with offscreen = false but
the fOffscreenBitmap is not NULL, delete fOffscreenBitmap before
setting it to NULL so that memory is not leaked.


# 1f424632 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs


# be436742 21-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl subclasses: Override SetIcon()

... and implement Perform() action for potential later use.


# 74577830 17-Aug-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.


# 8b3b14fd 05-Jun-2013 John Scipione <jscipione@gmail.com>

BColorControl: Introduce a _PaletteFrame() method

... eliminating duplicate code.


# 62fec205 02-Jun-2013 John Scipione <jscipione@gmail.com>

BColorControl: Size text rect based on font size

* Also change kMinCellSize from a uint32 to a float so that it can be used
with std::min() and std::max() instead of min_c() and max_c().
* Set the text controls sizes and margins based on the font size. Also rework
_TextRectOffset() so that it will get the right spacing from by dividing the
palette frame by 3.
* Replace bare numbers and refactor with calculation or magic constant.
* Create a private method _TextRectOffset() which calculates and
returns the vertical text rect offset to use based on the font size.
* Replace 2.0 with new kBevelSpacing constant where appropriate.
* fPaletteFrame calculation in _LayoutView() was refactored but should
not have changed.


# 1186916f 30-May-2013 John Scipione <jscipione@gmail.com>

BColorControl: Create _SetCellSize() method

...eliminating duplicated code.


# 0289f920 30-May-2013 John Scipione <jscipione@gmail.com>

BColorControl: Style fixes

* Update copyright in header, add my name, alphabetize.
* Rename _ColorRamp() to _DrawColorRamp().
* Rename update parameter to updateRect


# 87ba0eaa 26-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Fixed for 80 char limit.


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


# 295f3d13 20-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

Style update.


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


# d2184e65 04-Nov-2008 Jérôme Duval <korli@users.berlios.de>

* whitespace cleanup
* implemented the disabled look and color ramping


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


# 9c76ea4c 20-Jan-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Applied patch by Alexander Deckner (with a few small changes by myself):
Implemented palette mode and fixed bugs listed at ticket #1701. Thanks
for your work!


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


# 9ecf9d1c 26-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge from layout management branch.


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


# 9a1d68e4 14-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* rewrote ColorControl.h
* removed unused stuff.
* shuffled methods around in the source, so that you don't have to jump so far
when working at a specific thing (ie. all draw functions are grouped together, ...)
* ResizeToPreferred() should now work as expected.


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


# d734a8ce 23-Oct-2002 beveloper <beveloper@nowhere.fake>

some header files to be R5 compatible


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


# 1f424632be5dcad5b81a23080eb205ab6471cd7b 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs


# be4367428b6478ae059614d7a9b6f6dc721e5dcb 21-Dec-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BControl subclasses: Override SetIcon()

... and implement Perform() action for potential later use.


# 74577830da3777d2e0e7e9d391f2710055e24c30 17-Aug-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.


# 8b3b14fdfa14986ac57f083e427b8e0ae7d6fe4b 05-Jun-2013 John Scipione <jscipione@gmail.com>

BColorControl: Introduce a _PaletteFrame() method

... eliminating duplicate code.


# 62fec205dd2373d78f22df0848c073cc5ef5f7d7 02-Jun-2013 John Scipione <jscipione@gmail.com>

BColorControl: Size text rect based on font size

* Also change kMinCellSize from a uint32 to a float so that it can be used
with std::min() and std::max() instead of min_c() and max_c().
* Set the text controls sizes and margins based on the font size. Also rework
_TextRectOffset() so that it will get the right spacing from by dividing the
palette frame by 3.
* Replace bare numbers and refactor with calculation or magic constant.
* Create a private method _TextRectOffset() which calculates and
returns the vertical text rect offset to use based on the font size.
* Replace 2.0 with new kBevelSpacing constant where appropriate.
* fPaletteFrame calculation in _LayoutView() was refactored but should
not have changed.


# 1186916f06ee1662d1708603ef40704b8d2abedb 30-May-2013 John Scipione <jscipione@gmail.com>

BColorControl: Create _SetCellSize() method

...eliminating duplicated code.


# 0289f920635a70531741f8200c0ef60761f84ebf 30-May-2013 John Scipione <jscipione@gmail.com>

BColorControl: Style fixes

* Update copyright in header, add my name, alphabetize.
* Rename _ColorRamp() to _DrawColorRamp().
* Rename update parameter to updateRect


# 87ba0eaa2bbd3904751d2ed2b9f8f1c1c56dbaf0 26-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Fixed for 80 char limit.


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


# 295f3d13dc6f1c8694cf58d4a3db3f2ddb41c0a1 20-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

Style update.


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


# d2184e65c1b0ffb9d0345173d4f12acc67348ee2 04-Nov-2008 Jérôme Duval <korli@users.berlios.de>

* whitespace cleanup
* implemented the disabled look and color ramping


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


# 9c76ea4c52c57c0641daddfd35b7b5aa6bddde8e 20-Jan-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Applied patch by Alexander Deckner (with a few small changes by myself):
Implemented palette mode and fixed bugs listed at ticket #1701. Thanks
for your work!


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


# 9ecf9d1c1d4888d341a6eac72112c72d1ae3a4cb 26-Aug-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge from layout management branch.


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


# 9a1d68e4aa3a8843dcf177f7f13920b82ca628a6 14-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* rewrote ColorControl.h
* removed unused stuff.
* shuffled methods around in the source, so that you don't have to jump so far
when working at a specific thing (ie. all draw functions are grouped together, ...)
* ResizeToPreferred() should now work as expected.


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


# d734a8ce5a83e48e17a2d0d6635090d48c5ad161 23-Oct-2002 beveloper <beveloper@nowhere.fake>

some header files to be R5 compatible


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