haiku/headers/private/shared
looncraz 7f9368cae5 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>
2016-01-04 06:48:22 -05:00
..
AboutMenuItem.h Simplifying the BAboutMenuItem and adding it properly to the locale kit's DoCatalogs list. 2011-03-15 21:00:16 +00:00
ArgumentVector.h Add private shared class ArgumentVector 2012-07-20 23:32:58 +02:00
Array.h 64-bit fixes. Gets Debugger fully compiling on x86-64. 2012-08-08 19:40:51 -04:00
AutoDeleter.h Explicitly denote BPrivate to avoid clashes 2013-09-10 19:14:18 +02:00
AutoLocker.h Explicitly denote BPrivate to avoid clashes 2013-09-10 19:14:18 +02:00
binary-utils.h gcc4 build fix. 2009-10-24 01:26:14 +00:00
CalendarView.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
ColorQuantizer.h
CommandPipe.h
cpu_type.h include strings.h where appriopriate... 2014-08-08 22:40:37 +02:00
DragTrackingFilter.h
DriverSettingsMessageAdapter.h DriverSettingsMessageAdapter: added "wildcard" support. 2015-07-22 20:42:22 +02:00
EntryFilter.h
ExpressionParser.h Move Tokenizer/Token into ExpressionParser's namespace. 2012-12-18 21:31:43 -05:00
FunctionObject.h Move Thread classes from Tracker to shared 2013-10-08 20:25:15 -04:00
FunctionTracer.h
Geolocation.h Move Geolocation to kits/shared and make it private. 2014-10-02 00:32:48 +02:00
HashMap.h Cleanup: avoid warning about returning a value in void context. 2012-08-16 21:18:58 +02:00
HashSet.h HashSet.h: Replace whatever that was with proper C++ 2013-12-17 19:58:52 +01:00
HashString.h
Holiday.h Moved Easter holidays methods to a Holiday class, an hopefully better place. 2011-01-05 18:00:31 +00:00
IconButton.h BControl subclasses: Override SetIcon() 2013-12-22 02:48:27 +01:00
IconView.h Make IconView icon_size:able. Adapt DataTranslations. Disable DataTranslation's info button on list deselection. 2011-04-13 22:56:10 +00:00
Json.h JSON parser: Improve by using exceptions to get exact error 2014-08-30 23:42:02 +02:00
Keymap.h Update semantic shortcuts 2013-10-19 19:30:47 -04:00
locks.h Move libroot synchronization functions to private namespace 2014-07-13 16:19:08 +02:00
LongAndDragTrackingFilter.h * Finally rewrote the filthy, busy-looping, mouse tracking in Tracker. 2011-06-03 21:12:14 +00:00
MessageBuilder.h libshared: Introduce JSON parser and MessageBuilder. 2014-08-24 17:36:20 +02:00
NaturalCompare.h * updated copyright section for NaturalCompare according to commit 2011-02-01 11:25:36 +00:00
OpenHashTable.h Assorted whitespace cleanup and typo fixes. 2015-08-20 21:54:41 +02:00
OpenWithTracker.h
pci-utils.h
PromptWindow.h Add an information blurb option to PromptWindow. 2013-04-27 14:04:33 -04:00
PthreadMutexLocker.h Add shared PthreadMutexLocker, an AutoLocker for pthread_mutex_t 2013-04-07 23:59:43 +02:00
QueryFile.h * Implemented a class that can handle Tracker's query files. Only read support 2010-09-21 20:42:13 +00:00
RangeArray.h RangeArray::AddRange(): Fix joining with single subsequent range 2013-10-25 22:54:43 +02:00
RegExp.h Add ability to specify case insensitive matching. 2013-06-05 22:02:43 -04:00
RWLocker.h RWLocker: Move to kits/shared. 2015-12-15 21:15:06 -05:00
RWLockManager.h
SHA256.h Moved SHA256 code to libshared.a. 2010-06-23 17:47:07 +00:00
ShakeTrackingFilter.h
StringForRate.h StringForRate(): adjustments 2012-06-25 13:43:53 -04:00
StringForSize.h StringForSize.h: Fixed header guard comment at EOF 2015-04-04 22:45:41 +02:00
syscall_utils.h Merged signals-merge branch into trunk with the following changes: 2011-06-12 00:00:23 +00:00
TextTable.h Move TextTable from pkgman to libshared 2013-11-30 17:02:49 +01:00
Thread.h MouseDownThread: let thread terminate cleanly. 2015-08-07 21:05:55 +02:00
ToolBar.h BToolBar: made FindButton() public. 2015-09-04 17:33:46 +02:00
TrackerAddOnAppLaunch.h
TypeOperation.h Revert 6f68e52 and fix the gcc2 build via template. 2014-04-20 00:26:29 +02:00
usb-utils.h listusb: display USB vendor and devices names based on usb.ids 2012-02-18 14:25:10 +01:00
Variant.h Fix bug which would cause infinite recursion if one attempted to construct a variant using a BRect. 2011-11-02 20:18:53 +00:00
WeakReferenceable.h kernel: atomic_*() functions rework 2013-11-05 22:32:59 +01:00