a5061ecec5
An effort was started some time ago to consolidate all internal documentation in the git tree. However, this was just an accumulation of files in various formats without any strucutre or way to browse it, which results in no one even knowing that we have docs here. This converts most of the files to restructuredtext and uses Sphinx to generate an HTML browsable user manual (with a table of content and a first attempt to put things in a global hierarchy). There are almost no changes to the documentation content in this commit (some obviously obsolete things were removed). The plan is to get the toolchain up and running to make these docs easily available, and only then see about improving the content. We can migrate some things off the wiki and website, and rework the table of contents to have some more hierarchy levels because currently it's a bit messy. Change-Id: I924ac9dc6e753887ab56f18a09bdb0a1e1793bfd Reviewed-on: https://review.haiku-os.org/c/haiku/+/4370 Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
232 lines
3.7 KiB
ReStructuredText
232 lines
3.7 KiB
ReStructuredText
SystemPalette class
|
|
###################
|
|
|
|
This object does all the handling for system attribute colors and system
|
|
palette management.
|
|
|
|
Member Functions
|
|
================
|
|
|
|
_ Denotes a protected function
|
|
|
|
SystemPalette(void)
|
|
-------------------
|
|
|
|
1. Allocate the rgb_color[256] palette on the heap and call _GenerateSystemPalette()
|
|
2. Initialize attribute variables to the defaults
|
|
|
|
~SystemPalette(void)
|
|
--------------------
|
|
|
|
1) Free the palette array
|
|
|
|
void SetPalette(uint8 index, RGBColor col), void SetPalette(uint8 index, rgb_color col)
|
|
---------------------------------------------------------------------------------------
|
|
|
|
Sets the said index to the passed color value.
|
|
|
|
RGBColor GetPalette(uint8 index)
|
|
--------------------------------
|
|
|
|
Returns the color at said index in the palette.
|
|
|
|
void SetGUIColor(color_which which, RGBColor col)
|
|
-------------------------------------------------
|
|
|
|
RGBColor GetGUIColor(color_which which)
|
|
---------------------------------------
|
|
|
|
color_set GetGUIColors(void)
|
|
----------------------------
|
|
|
|
void SetGUIColors(color_set cset)
|
|
---------------------------------
|
|
|
|
These tweak or return the system attribute colors, one at a time or all at once.
|
|
|
|
protected: void \_GenerateSystemPalette(rgb_color \*palette)
|
|
------------------------------------------------------------
|
|
|
|
Sets the passed palette to the BeOS R5 system colors, which follows.
|
|
|
|
Grays:
|
|
......
|
|
|
|
0,0,0 -> 248,248,248 by increments of 8
|
|
|
|
Blues:
|
|
......
|
|
|
|
0,0,255
|
|
|
|
0,0,229
|
|
|
|
0,0,204
|
|
|
|
0,0,179
|
|
|
|
0,0,154
|
|
|
|
0,0,129
|
|
|
|
0,0,105
|
|
|
|
0,0,80
|
|
|
|
0,0,55
|
|
|
|
0,0,30
|
|
|
|
Reds:
|
|
.....
|
|
|
|
as per blues, but red values are 1 less
|
|
|
|
Greens:
|
|
.......
|
|
|
|
as per blues, but green values are 1 less
|
|
|
|
0,152,51
|
|
|
|
255,255,255
|
|
|
|
The following sets use [255, 203, 152, 102, 51, 0] for the blue values,
|
|
keeping the other colors the same:
|
|
|
|
203,255, [value]
|
|
|
|
152,255, [value]
|
|
|
|
102,255, [value]
|
|
|
|
51,255, [value]
|
|
|
|
255,152, [value]
|
|
|
|
0,102,255
|
|
|
|
0,102,203
|
|
|
|
203,203, [value]
|
|
|
|
152,255, [value]
|
|
|
|
102,255, [value]
|
|
|
|
51,255, [value]
|
|
|
|
255,102, [value]
|
|
|
|
0,102,152
|
|
|
|
0,102,102
|
|
|
|
203,152, [value]
|
|
|
|
152,152, [value]
|
|
|
|
102,152, [value]
|
|
|
|
51,152, [value]
|
|
|
|
230,134,0
|
|
|
|
255,51, [value excepting 255]
|
|
|
|
0,102,51
|
|
|
|
0,102,0
|
|
|
|
203,102, [value]
|
|
|
|
152,102, [value]
|
|
|
|
102,102, [value]
|
|
|
|
51,102, [value]
|
|
|
|
255,0, [value excepting 0]
|
|
|
|
255,175,19
|
|
|
|
0,51,255
|
|
|
|
0,51,203
|
|
|
|
203,51, [value]
|
|
|
|
152,51, [value]
|
|
|
|
102,51, [value]
|
|
|
|
51,51, [value]
|
|
|
|
255,203,102 -> 255,203,255, stepping in the [value] increments
|
|
|
|
0,51, [value, starting at 152]
|
|
|
|
203,0, [value, excepting 0]
|
|
|
|
255,227,70
|
|
|
|
152,0, [value]
|
|
|
|
102,0, [value]
|
|
|
|
51,0, [value]
|
|
|
|
255,203,51
|
|
|
|
255,203,0
|
|
|
|
255,255, [values in reverse]
|
|
|
|
protected: void _SetDefaultGUIColors(void)
|
|
-------------------------------------------
|
|
|
|
Sets the internal color_set to the defaults, which is the following:
|
|
|
|
- panel_background: 216,216, 216
|
|
- panel_text: 0,0,0
|
|
- document_background: 255,255,255
|
|
- document_text: 0,0,0
|
|
- control_background: 216,216,216
|
|
- control_text: 0,0,0
|
|
- control_border: 0,0,0
|
|
- control_highlight: 0,0,255
|
|
- tooltip_background:
|
|
- tooltip_text: 0,0,0
|
|
- menu_background: 216,216,216
|
|
- menu_selected_background: 160,160,160
|
|
- menu_text: 0,0,0
|
|
- menu_selected_text: 0,0,0
|
|
- menu_separator_high: 241,241,241
|
|
- menu_separator_low: 186,186,186
|
|
- menu_triggers: 0,0,0
|
|
|
|
Structures
|
|
==========
|
|
|
|
.. code-block:: cpp
|
|
|
|
color_set {
|
|
rgb_color panel_background
|
|
rgb_color panel_text
|
|
rgb_color document_background
|
|
rgb_color document_text
|
|
rgb_color control_background
|
|
rgb_color control_text
|
|
rgb_color control_border
|
|
rgb_color control_highlight
|
|
rgb_color tooltip_background
|
|
rgb_color tooltip_text
|
|
rgb_color menu_background
|
|
rgb_color menu_selected_background
|
|
rgb_color menu_text
|
|
rgb_color menu_selected_text
|
|
rgb_color menu_separator
|
|
rgb_color menu_triggers
|
|
}
|
|
|