History log of /haiku/src/kits/interface/InterfaceDefs.cpp
Revision Date Author Comments
# 46fdf97d 21-Jul-2022 Pascal Abresch <nep@packageloss.eu>

Interface Kit: add default dark appearence color constants

Change-Id: I8added6ada702eb09e95f5f2d6e34b748067c6bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4571
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# d2837c97 18-Jun-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

Interface kit: allow get_key_repeat_{rate,delay} to fail

These functions should return an error if the input_server is not
running. They still give the default value in this case, but they now
return an error code.

Change-Id: I706cded7c780d913d4f36164596b2b7794db6f22
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5385
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 68d1b97e 25-Apr-2022 Augustin Cavalier <waddlesplash@gmail.com>

Clean up mouse functions in InterfaceDefs.

* Fully remove unused and deprecated functions.
* Comment as to which functions are deprecated.
* Rename _by_name functions to be without the suffix, as this is C++
and there's no reason not to use overloads here.

Change-Id: I4e2152f17806605eb965795417013cea800e661e


# 84d27c65 08-Apr-2022 scph <scph1000@protonmail.com>

mouse: get/set acceleration factor by mouse name

* Create and use *_mouse_acceleration_by_name functions to replace older *_mouse_acceleration functions. Now consistent with related functions (such as *_mouse_speed_by_name).
* Passing mouse_name to HandleGetSetMouseAcceleration in the BMessage fixes mouse acceleration changes not applying properly.

Change-Id: I668cdbbbb81e3cb9069a3fc2ce77e6ef75ba8476
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5189
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 42b97348 08-Dec-2020 Máximo Castañeda <antiswen@yahoo.es>

Set normal mouse mode on set_focus_follows_mouse(false)

Change-Id: Iae4300d7da5ada391c2d2dccff2b7de7f1b38245
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3509
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 06ed32b8 05-Oct-2020 Jérôme Duval <jerome.duval@gmail.com>

BCursor: add a constructor with bitmap and point

* enhancement #15169
* get_mouse_bitmap(): also reads the colorspace from app_server.
* docs and tests

Change-Id: Iba63f8a2789530ae596c30b92f14828f31761d98
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3292
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 9aea709d 03-Sep-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Input prefs: handle errors

Various error handling cases were missing, which would lead to corrupt
settings and crashes. Add the missing error checks and make sure we
always revert to sane settings in case of problems.

Change-Id: Ib72621d6e4974345f5f6ee88e01a918cbf09d7ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3069
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 02ad22d6 04-Aug-2020 Preetpal Kaur <preetpalok123@gmail.com>

Input: declare BString to get the Mouse Name

Change-Id: I3476f58839202a6fd8c93e325a15045963a9b7b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3125
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 37d79323 04-Aug-2020 Preetpal Kaur <preetpalok123@gmail.com>

Added get_set_mulitple_mouse_type() functions

Change-Id: I95f85a15a77c3a548bb672cb966ae7b13fcefcc8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3127
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# ffd6da17 04-May-2020 Emir SARI <bitigchi@me.com>

Enable accept first click by default

Change initial setting as well.

Change-Id: I8dadde139f9c38ee7fa74ce99f0e616c42d9eb81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2563
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 629397f2 01-May-2019 François Revol <revol@free.fr>

Add basic support for loading ControlLook add-ons

app_server just passes the add-on path around.

Maybe we should make sure the add-on can be loaded when setting it.

Change-Id: I3acd3299782a22c1666bd5435dbf3d8053e359fa
Reviewed-on: https://review.haiku-os.org/c/1430
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 1b48852e 01-May-2019 François Revol <revol@free.fr>

Fix doxygen + whitespace

Change-Id: Ief0b2646e95841604a0396f15a054ff2086db198


# db68ff23 10-Sep-2017 Augustin Cavalier <waddlesplash@gmail.com>

Interface Kit: Make BControlLook a proper pure-virtual base class.

All of its prior functionality has been moved into HaikuControlLook.
This paves the way for customizeable control looks, which I intend to implement
in the future as part of decorators.

This is being pushed now because libbe ABI was already broken due to the
Notifications changes, so this is riding that so we only have to do a mass
rebuild once.


# 80bc632a 07-Mar-2016 Augustin Cavalier <waddlesplash@gmail.com>

BStatusBar: Restore the old blue-ish color from before the Set*Color changes.


# 37f9a292 18-Jan-2016 looncraz <looncraz@looncraz.net>

Improve Default BButton Appearance

Change control border color to 172, 172, 172 and use for default button
indicator drawing.

People doing an in-place upgrade will need to modify the border color from
its previous default manually or by pressing "Default" in the Appearance
preflet. This is a one-time annoyance.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes: #12589


# 7f9368ca 09-Dec-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>


# 239f8573 23-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

libbe: ui_color() now works without UI connection.

* Since the app_server is a BApplication, too, now, Workspaces would
trigger this problem.
* Now it checks whether the shared memory is actually set, and only
uses it in this case. This will also fix using ui_color() in any
BServer without UI connection.


# 8fceacff 03-May-2015 Janus <janus2@ymail.com>

InterfaceDef: Use a lighter grey for list selection.

* Use the BColumnListView grey for list selection.


# 5db8f48c 19-Sep-2014 Sidhant Sharma [:TigerKid001] <tigerkid001@gmail.com>

Change Success/Failure colors.

* Part of #10834
* Colors were picked from http://clrs.cc, which was suggested by John Scipione.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 73ac4cdc 27-Jan-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

truncate_string(): Be a lot laxer wrt. rounding incaccuracies

Instead of 1/10000 we now add 1/128 to the width to compensate for
rounding inaccuracies. Due to the limited float mantissa precision
(23 bit) the previous value would already have no effect for relatively
small widths (>= 128).

Fixes #10455.


# af84ce79 16-Apr-2013 John Scipione <jscipione@gmail.com>

Rename B_COLOR_WHICH_COUNT to kColorWhichCount


# 376e5bb6 16-Apr-2013 John Scipione <jscipione@gmail.com>

Set legeneral_ui_info.mark_color to B_CONTROL_MARK_COLOR


# 33025215 05-Apr-2013 John Scipione <jscipione@gmail.com>

Remove dependence on color constants in ServerReadOnlyMemory.

This fixes a maintainance problem where you have to update this otherwise
unrelated file to keep it in sync whenever you add a color constant.

I've added a B_COLOR_WHICH_COUNT constant to the color_which enum which should
be updated to point to the newest color constants as new ones are added. I
reworked ServerReadOnlyMemory to use this constant instead of using to the
current largest color constant directly. If you use B_COLOR_WHICH_COUNT to
refer to a color in your code expect to get unpredictable and nonsensical
results. Most likely you'll get an undefined result which will return black
but don't depend on it.

The net effect of this is that ServerReadOnlyMemory doesn't need to be updated
anymore when new color constants are introduced but will continue to produce
correct results.

Eliminate kNumColors constant, replace it with B_COLOR_WHICH_COUNT


# 9f24981a 05-Apr-2013 John Scipione <jscipione@gmail.com>

Add B_SCROLL_BAR_THUMB_COLOR constant.

This allows you to change the scrollbar thumb color in Appearance preferences.
The default color is 216, 216, 216 so the scroll bar thumb looks the same by
default. Perhaps someday this can be updated to something a bit more colorful.


# 91c78f09 20-Aug-2012 John Scipione <jscipione@gmail.com>

Create and use new list view item colors

* B_LIST_BACKGROUND_COLOR
* B_LIST_SELECTED_BACKGROUND_COLOR
* B_LIST_ITEM_TEXT_COLOR
* B_LIST_SELECTED_ITEM_TEXT_COLOR


# 4bb5af76 15-Jul-2012 John Scipione <jscipione@gmail.com>

Add control mark color setting. #8054

An enhancement adding a setting to Colors under Appearance to
set the mark color of radio button and check box controls.


# 30d17caa 28-Oct-2011 John Scipione <jscipione@gmail.com>

Added support for colored window tabs in the default decorator.


# b46615c5 19-May-2011 Stephan Aßmus <superstippi@gmx.de>

Applied patch by Joseph "looncraz" Groover from ticket #7445.
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!


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


# 33394b85 16-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Wim van der Meer: Added get_mouse_bitmap() global method to
InterfaceDefs.h and corresponding implementation in the app_server. Thanks a
bunch! Closes ticket #5978.

A note to those using "update-all" with hybrid builds - the alternative GCC
system libs will not be updated this way, and this and Wim's last patch
change the libbe <-> app_server interface. You need to manually update the
respective libbe.so, or do a clean build, otherwise apps for the other GCC will
not start anymore.


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


# 1c73ffa1 14-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Wim van der Meer: Implemented global Interface Kit function to retrieve
the current mouse position and pressed buttons. I've changed the return code
to status_t and added anal error checking, most of the rest of the file is not
doing it, though... :-) Thanks, Wim!


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


# 0a51dbde 02-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Unified the Desktop and ServerApp AS_ACTIVATE_WORKSPACE to work in the same
way.
* Use that newly exposed feature of taking the focus window to the new workspace
when using the Ctrl-Alt-Shift-Arrow shortcut.
* This fixes #5675.


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


# 5bc9fb9d 01-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Replace the truncate_string() helper function with a new, simplified version.
* Remove no longer necessary support functions.
* The new version uses a single BString as input/output parameter and only
modifies that one by removing non-fitting chars and inserting the ellipsis
where appropriate, so avoids copying around bytes/chars/strings in a few
places. It uses the new Chars functions of BString so also no need for manual
multibyte handling.
* Adjusted the BFont and ServerFont usage of truncate_string() which are both
simplified by using the single BString. It avoids a lot of temprary
allocations and string copying. The char * version of BFont
GetTruncatedStrings() now uses the BString version and not the other way
around anymore which requires us to allocate temporary BString objects, it's
not worse than before though.
* This fixes a bunch of problems with the previous functions like always
prepending the ellipsis for B_TRUNCATE_BEGINNING, crashing on short enough
widths, violating the width in the B_TRUNCATE_END case when the width was
short enough, non-optimal truncation in a few cases and sometimes truncation
where none would've been needed. Also fixes #4128 which was a symptom of the
broken B_TRUNCATE_BEGINNING.


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


# ea3a9471 30-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Should have been part of r34388. be_clipboard initialization.


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


# 4223d92e 25-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed lots of style violations, many of them introduced with r33732.
* Brecht, is it possible your line break column is one character too short? At
least you broke some lines without need.


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


# 14cf6a83 22-Oct-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

This does seem more logical and makes it build on gcc4. Not sure if it's the right thing :)


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


# 926e63c8 22-Oct-2009 Brecht Machiels <brecht@mos6581.org>

* added click to focus mouse mode; right-click for bring-to-front and send-to-back
(might cause some regressions in FFM)
* made accept first click user configurable
* updated the Mouse preflet to use the layout kit
* removed the warp and instant warp modes from the Mouse preflet
* changed internal representation of mouse modes (warp modes moved)
* coding style fixes



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


# 9fe35223 26-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* BWindowScreens had no sychronization mechanism whatsoever - since the
workspace activation message was asynchronous, whether or not the
BWindowScreen stopped drawing in time was pure luck (this also caused crashes
with the VESA driver, as that one unmaps its frame buffer during mode switch).
Introduced a new AS_DIRECT_SCREEN_LOCK protocol for this.
* In the long term, we should let BWindowScreen use the same mechanism as
BDirectWindows, though.
* Removed superfluous locking in BDirectWindow::_InitData().


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


# 1bfa2699 04-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the default tool tip color a bit easier on the eye.


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


# c2c39a98 30-Jul-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved functions declarations to InterfacePrivate.h


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


# 753365b4 30-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Added new (private) calls {get|set}_workspaces_layout().
* Implemented old count_workspaces(), and set_workspace_count() using the
new functions.


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


# eac9c545 29-Jul-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

CreateBitmap(): Fail if it can not allocate bitmaps.
In init_interface_kit(), check the return value of MenuPrivate::CreateBitmaps()
and fail on error.


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


# c3d7cee2 30-Jul-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Instead of creating the Modifiers bitmaps on demand, for every DrawItem invocation,
for every BMenuItem, have them created in _init_interface_kit(), and keep
them cached. This required some reorganisation of the code in Menu and MenuItem.
Also has the side effect that BMenuItem doesn't have to know about the
alt/ctrl/command keys stuff.
Added a comment in BMenu::AttachedToWindow().


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


# 69f9a367 29-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
WorkspacesView::_GetGrid() to determine the layout.


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


# a31d4f9d 21-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Init global fonts before BWidthBuffer. Probably cleaner, since it may use
some fonts already, but I have not looked...


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


# 2f86ba45 15-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented a new look for the Haiku interface controls. It was
overheard that they looked too ninety-ish.
TODO: The code behind this is work in progress. The basic idea
is to extract all drawing code into a new class BControlLook,
of which there is a global instance be_control_look, instantiated
in InterfaceDefs.cpp. At the moment, all the old drawing code is
still there, and the usage of be_control_look is inside if-bodies
checking the instance against NULL. In another words, by not
instanitating be_control_look, you can revert back to the old look.
BControlLook's job is to provide reusable methods for drawing
certain types of frames, backgrounds and labels, so that application
developers can make controls that re-use the same drawing code
as built-in controls and adopt to changes made there. I have added
the notion of "borders". Each of the frame drawing methods can be
made to draw certain borders only, which is supposed to help when
controls shall visually attach. This feature is not fully explored
at all ATM.
TODO: Update BColumnListView header view and BStringItem text
spacing. Update other apps where it makes sense to use BControlLook.
For the moment, only Tracker and LaunchBox are updated. More...
NOTE: The new look is not very radically different, so that existing
apps do not immediately look too ugly or out of place.


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


# e4737a92 31-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Added a third hinting mode: monospaced fonts only. This is especially helpful
with low resolution devices like the EeePC - small fonts can look pretty bad
when hinting is turned on, and you still have the advantage of hinting for
text editors and the terminal.
* Added a ServerFont::Hinting() method (that currently only evaluates the
global hinting setting).
* Added a TODO comment on why having global settings is not what we aim for.


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


# 2bbb8288 14-Dec-2008 Jérôme Duval <korli@users.berlios.de>

added get_modifier_key() as proposed by Olivier Cortes. Thanks.


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


# b545073f 06-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

* Moved the global BPrivate::WidthBuffer from BTextView into BPrivate as
gWidthBuffer.
* Tracker PoseView now uses BPrivate::gWidthBuffer instead of it's own
instance.
* TextView.h and PoseView.h are now a little cleaner.
* InterfaceDefs.cpp now deletes gWidthBuffer in _fini_interface_kit_().
* Added binary compatibility support for NetPositive in WidthBuffer.h and .cpp.
Obviously it kind of defeats the purpose of having WidthBuffer neatly tucked
away in the BPrivate namespace, but Haiku should run NetPositive, I guess.
Fixes #2879.


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


# 90b7764d 21-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Move WidthBuffer and TextGapBuffer into BPrivate and use them from there in BPoseView and BTextView. This (correctly) fixes the previous gcc4 build issues.



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


# a682d981 20-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

Quite a cleanup action to avoid polluting the global namespace with private
BTextView classes:

* Declared the directly used BTextView helper classes as private BTextView
classes and changed all affected files.
* Realized that Tracker's BPoseView was (accidentally?) using what used to
be _BWidthBuffer_. It had declared it's own class with the same name and
same members/size in headers/private/tracker/TextViewSupport.h, but the
implementation was nowhere to be found. I can only explain this that
the BTextView implementation was then actually linked and used. But the big
problem was that it was used without locking (unlike in BTextView)! When
many Tracker windows opened during system startup or later and they happened
to each request characters not yet in the cache, I imagine things could have
gone bad and corrupted memory. Anyways, since I can see the usefulness of
the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved
the locking inside BTextView::WidthBuffer::StringWidth().
* Adjusted InterfaceDefs.cpp accordingly.
* TODO: Move subsequent classes into BTextView namespace as well, ie derived
classes that BTextView doesn't directly know about. All stuff in src/kits/
inteface/textview_support/
* Added preliminary and not yet implemented layout friendly BTextView
constructors.
* I will try to handle the insets imposed by BTextView::fTextRect a bit
differently when used inside the new layout management framework. For this,
I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do
anything yet.

So far, everything seems to work still... ;-)


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


# c9503698 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* take the precision into account while trying to add an optional character


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


# 84d0e984 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* of by one, while left points behind the chars to copy
right points to the first charater to start copy with



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


# 9b56aad8 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* rewrote truncate_middle partly, it failed while trying to add an optional character
this was most noticable in Deskbar when opening DataTranslations in Expand App Mode



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


# 55585cfa 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* truncate_middle() could eat the whole string if it was as large as the
ellipsis. This was visible in missing window titles for short names like
"bin".


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


# ae0606be 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Added two more private InterfaceDefs functions: get_application_order(), and
get_window_order() will retrieve the application respectively window order
on the selected workspace.
* Moved private BeOS compatible functions (as used by the Deskbar) into the
private WindowInfo.h header.
* Whitespace cleanup.


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


# 59e13a3f 03-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by Andrej Spielmann (GSoC):
* Simplified the subpixel related methods for the AGG "pixel format" template
interface, the ones for the solid cover simply pass through the existing
methods, so only one subpixel blending function is left which does the actual
work (this removes a lot of the previously added code)
* Implemented a new rasterizer based on the original AGG rasterizer which
implements subpixel anti-aliasing for any generic AGG vector pipelines. It
is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie
rotated, sheared or big enough fonts) depending on the global subpixel
setting.
* Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp
* Simplified DesktopSettings related classes a bit and renamed previous
FontSubpixelAntialiasing to just SubpixelAntialiasing.
* The private libbe functions for subpixel related settings moved from Font.cpp
to InterfaceDefs.cpp where other such functions live. They are not related
to fonts only anymore.
* Removed the subpixel related settings again from the Fonts preflet and added
them to the Appearance preflet instead.

All of the above implements subpixel anti-aliasing on a global scale, which
to my knowledge no other OS is doing at the moment. Any vector rendering
can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts
are still affected by the Freetype complile time #define to enable the patented
subpixel rasterization (three times wide glyphs). Vector fonts and shapes are
not affected though at the moment.



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


# 3bfa2d12 26-Apr-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup


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


# cfc3fa87 09-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

* Cleaned up InterfaceDefs.h, added TODO about getting rid of declaring
_init_interface_kit_() in there.
* Moved private get_mode_parameter() into the BPrivate namespace.
* Renamed interface_misc.h to InterfacePrivate.h.
* Minor other cleanup.


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


# f6e4cbb9 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


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


# 65e63b98 11-Oct-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

PaletteConverter now exports a static InitializeDefault() method, which
can be used (and is, by _init_interface_kit()) to initialize the ...
er... default instance of
PaletteConverter using the system color map, thus avoid building the
list of colors, which takes some time. Fixes bug #505.


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


# f93d6bd8 08-Aug-2007 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

* Implemented run_add_printer_panel(). Opens Printers preflet and sends to
it the message for opening the 'Add printer dialog'.


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


# 58acd5ac 05-Jul-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

added default clause to the switch statement. This fixes a memory corruption bug in case the caller supplied an invalid value. Now we use B_TRUNCATE_MIDDLE in that case. Found by Andrea Anzani

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


# ffcd67bc 18-Jun-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

moved duplicate code to a common location.


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


# c25f230c 30-Apr-2007 Jérôme Duval <korli@users.berlios.de>

added _get_key_map() to get the character map size


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


# 702b0340 06-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

I changed the signature of AboutHaiku, but I forgot to update it here - now Deskbar should
show the app again when choosing the "About Haiku" menu item :-)


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


# 53885da0 29-Oct-2006 DarkWyrm <darkwyrm@gmail.com>

ReadOnly means...well, read *only*. Duh.
The app_server doesn't handle this message -- yet


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


# 59463a9a 29-Oct-2006 DarkWyrm <darkwyrm@gmail.com>

Added set_ui_color to act as counterpart to ui_color.


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


# eddeb678 02-Jul-2006 Jérôme Duval <korli@users.berlios.de>

the data type is now consistent with the one used in input_server


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


# 7a04ba9b 29-May-2006 Axel Dörfler <axeld@pinc-software.de>

Fixed B_MENU_SELECTED_BACKGROUND_COLOR to fit to our B_MENU_BACKGROUND_COLOR,
and changed BMenuItem to actually use it.
This fixes bug #640.


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


# 93820f1e 26-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

Renamed moreUTF8.h to utf8_functions.h.


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


# 23ae77aa 26-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* Removed ColorSet, it's no longer needed or used.
* The Decorator are temporarily using ui_color() - this needs to be changed
to use the DesktopSettings (when the decorator stuff gets refactored); right
now, the colors are fixed.
* Added B_WINDOW_TEXT_COLOR, B_WINDOW_INACTIVE_TAB_COLOR, and
B_WINDOW_INACTIVE_TEXT_COLOR to the UI colors, B_WINDOW_TAB_COLOR is no
longer deprecated. Note, however, that not every decorator may use these
colors.
* Removed unused and wrong (ie. hard-coded paths) stuff from ServerConfig.h.


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


# 6d5488e1 25-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* There is now a server_read_only_memory structure that is placed in a (surprise!)
read-only area shared between the Desktop and all applications.
* Right now, this area only contains the desktop colors, ie. B_PANEL_BACKGROUND_COLOR
etc.; ui_color() no longer needs to ask the server for these colors.
* The ui_colors are now maintained by DesktopSettings, though ColorSet is still there.
* The default colors are now hardcoded once and for everyone in InterfaceDefs.h, ie.
the app_server uses them as well.
* Desktop::Init() can now also return an error (but that is not yet accounted for).
* Cleaned up InterfaceDefs.h.
* Fixed wrong include in moreUTF8.h.


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


# b03deb09 19-Apr-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Menu settings are now handled by the app_server. As a result, changing them does something, although they aren't saved to disk yet. 'click_to_open' is not checked anymore, because it was useless anyway, I'll remove it from the Menu preflet too.

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


# cd0ea6ff 17-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* Added some of the rgb_color methods from Dano/Zeta.
* The private general_info structure is now setup - that fixes a part of bug #502;
NetPositive's bar remains black, though.


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


# ca7dc13f 11-Apr-2006 DarkWyrm <darkwyrm@gmail.com>

Make ui_color a little more bulletproof. This will mitigate bug #256 until I can track down the reason (probably in the app_server) that the color request fails


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


# 9160042c 10-Apr-2006 Jérôme Duval <korli@users.berlios.de>

added B_WINDOW_TAB_COLOR to ui_color() without app_server


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


# 9d6b4ad5 03-Apr-2006 Jérôme Duval <korli@users.berlios.de>

actually print the color_which which fails (ie in Cortex)


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


# 31659673 26-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added the "general_info" structure - seems to be exported by libbe.so and used
by Vision (shame on you, AnEvilYak ;-)). It doesn't seem to be maintained even
under R5, though, so if Vision turns out to be the only app that it currently
needs, we can as well remove it again, and fix Vision (being open source and
all).


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


# 16ed1e1d 18-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Removed headers/private/servers/app - everything is in src/servers/app now.
* Removed DisplaySupport.h, wasn't needed anymore.
* Removed private color set functions from InterfaceDefs.cpp - we might want
something similar, but definitely not like that.
* Minor cleanup, added some missing licenses.


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


# 1d125708 14-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added an empty implementation of the shift_color() function - BeIDE needs
this one, maybe we should find out what it does, make it public and
document it.


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


# bfe69873 28-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Implemented private do_window_action() function, used by the Deskbar to bring
windows to front (or minimize them).
* Desktop::ActivateWindow() no longer crashes in case the window to be activated
is not on the current workspace - instead, it doesn't do anything at this
point. IOW it doesn't handle workspace activation at all, yet.
* Renamed ServerWindow::GetWindowLayer() to ServerWindow::Window().


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


# 7a0de243 20-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added missing symbol B_NOTIFICATION_SENDER for Sequitur


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


# f877af82 09-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Implemented private functions do_minimize_team(), and do_bring_to_front_team()
used by the Deskbar (for "Hide All" and "Show All"). The latter doesn't work
correctly yet, though, it just maximizes all windows of that application.
* Added a TODO to ServerWindow AS_MINIMIZE_WINDOW on how to make it work correctly.


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


# f056e688 09-Dec-2005 Stephan Aßmus <superstippi@gmx.de>

now uses the same defaults as in the input_server when unable to contact the input_server

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


# 1ba4d963 08-Dec-2005 Stephan Aßmus <superstippi@gmx.de>

take it easy when unable to contact the input_server, makes Tracker run much better in the test environment

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


# 0a95bea6 06-Dec-2005 Stephan Aßmus <superstippi@gmx.de>

fixed wrong usage of ConstrainClippingRegion() introduced by myself a couple months ago

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


# b32a299f 30-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Minor cleanup, mostly SERVER_TRUE -> B_OK.


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


# 414b7571 29-Nov-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Style changes, just to test if committing from here works...

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


# b2cc3454 07-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

More font work:
* Simplified server communication a bit: instead of separate queries for font
direction, "is fixed", ... there is now a private extra flags field that is
filled on demand.
* The server command names now describe what the command does, and are not simply
named after the BFont method (AS_SET_FAMILY_AND_STYLE vs. AS_GET_FAMILY_AND_STYLE_IDS).
* Replaced B_SET_SYSFONT_{PLAIN|BOLD|FIXED} with a single B_GET_SYSTEM_FONTS.
* Rewrote Font.h and added our license.


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


# 53297d17 11-Oct-2005 Jérôme Duval <korli@users.berlios.de>

ui_color has to provide values even when no be_app has been created


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


# fdbc56b3 11-Aug-2005 DarkWyrm <darkwyrm@gmail.com>

Fixed build for R5 target


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


# 223b9664 17-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Implemented the focus follows mouse stuff over the standard mouse mode functions; the other functions look deprecated to me.
Added a comment to load_menu_settings() - I think that stuff should be moved into the server.


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


# 3f319b33 10-Jul-2005 Michael Lotz <mmlr@mlotz.ch>

Some cleanup, some removed typos, some unification, some fixes and some added todos. Most of it related to client-server communication. Apps that rely on BFont stuff should work now (StyledEdit, Fonts, Keymap, Menu, ...). Or should not hang/quit at startup at least.

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


# 8ec0a618 07-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed truncate_middle(): could add ellipsis without any reason under some
circumstances.
Also, the first letter that is tested to be added to either side is taken
from the side with less letters now, instead of the one with the bigger
letter.


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


# d76e154b 05-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Implemented get_token_list() and get_window_info() client side.


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


# 06fe6a42 04-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

The _menu_info_ptr_ is now initialized correctly.


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


# feb8560c 28-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented run_be_about()

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


# 53ba0acb 17-Jun-2005 DarkWyrm <darkwyrm@gmail.com>

Fixed a TODO


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


# 5021d2fe 15-Jun-2005 DarkWyrm <darkwyrm@gmail.com>

Added functions to replace current hacks in Appearance to handle decorators


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


# 2d4b179d 15-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Implemented B_TRUNCATE_MIDDLE, since truncate_strings() could corrupt memory
before in this mode. Some further cleanup, only B_TRUNCATE_BEGINNING is still
left.


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


# dd10337f 14-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


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


# f1fb9c6f 14-Jun-2005 DarkWyrm <darkwyrm@gmail.com>

Added two private functions which are for getting & setting system colors as a set.


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


# 3a27ae79 13-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added server support for activate_workspace(). Looks like it's not doing anything, though SetActiveWorkspace() returns true....

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


# 3cbe14a4 10-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Reimplemented set_screen_space() in function of BScreen::SetMode(). This way we can get rid of the extra AS_SET_SCREEN_MODE in the app server. "ported" mode2parms from BWindowScreen, which should be changed to use set_screen_space() instead of doing its own stuff.

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


# 8b0b0568 08-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Made copy_from_start() more clear and probably faster.
Commented out a check that would prevent characters smaller than B_UTF8_ELLIPSIS
to be rendered (ie. the maximum width could be less than the ellipsisWidth but
greater than the complete string width for small strings).
Minor cleanup.


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


# 0b5938e9 07-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

added a TODO comment, I forgot to mention that anything but B_TRUNCATE_END is untested or broken

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


# a55bbe35 04-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed a warning.


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


# 59345e26 03-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map

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


# 3dc05104 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added exports for stuff needed by Deskbar to compile. Nothing is implemented yet!


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


# ce956b5d 28-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved the "_init_global_fonts()" call above "load_menu_settings()", as the latter messes with be_plain_font. Reordered the headers.

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


# 8a922632 12-Apr-2005 Stephan Aßmus <superstippi@gmx.de>

I _think_ the global system default fonts were never set. I added that to the _init_interface_kit_ function, and it fixes the system fonts under R5. It might have looked like it worked on Haiku before, but I think the be_fixed_font was just the first font found by the scanner in either Haiku and BeOS, while on Haiku, this was Courier just by chance. If this is not the right place to call _init_global_fonts, please tell me or just fix it. I tested under Haiku and BeOS and it looks like it works...

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


# 20337f31 31-Mar-2005 Michael Lotz <mmlr@mlotz.ch>

Corrected reply handling of FlushWithReply in many places what should fix some strange bugs.

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


# e949e4cf 07-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

As the semaphore acquisition is done "benaphore style", the semaphore should be created with an initial count of 0.


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


# 93d52f14 17-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Now we fill BMenu::sMenuInfo with some default values. This should fix the problems with our BMenus on our app server. DarkWyrm, please check.


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


# 566155b8 17-Jan-2005 DarkWyrm <darkwyrm@gmail.com>

Accidentally overwrote Jack's last checkin with my changes to an old version -- getting stupider and stupider in my old age....


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


# 3f8d6d56 17-Jan-2005 DarkWyrm <darkwyrm@gmail.com>

Moved _init_global_fonts to Font.cpp
Implemented _init_global_fonts
BFont::GetHeight returns proper values


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


# 4339dcab 10-Jan-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed some wrong code and added a comment. Small style fixes


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


# 0c40e5db 29-Aug-2004 Jérôme Duval <korli@users.berlios.de>

Fixed returned values


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


# 2b7da867 27-Aug-2004 haydentech <haydentech@nowhere.fake>

Resolved some compiler warnings


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


# d5f2a1f3 27-Aug-2004 Jérôme Duval <korli@users.berlios.de>

added our input server signature in comment
added #ifndef COMPILE_FOR_R5 to avoid BPortLink linkage when needed


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


# 4d8f7368 18-Aug-2004 Jérôme Duval <korli@users.berlios.de>

Change to shared command constants


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


# 3ceb31b9 30-Jul-2004 DarkWyrm <darkwyrm@gmail.com>

Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink


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


# c7ee25fd 29-Jul-2004 Jérôme Duval <korli@users.berlios.de>

Splitted Globals.cpp in GraphicsDefs.cpp and InterfaceDefs.cpp to match headers


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


# 239f85731e2b6e7aa71ad1ef9e5d565108ad009e 23-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

libbe: ui_color() now works without UI connection.

* Since the app_server is a BApplication, too, now, Workspaces would
trigger this problem.
* Now it checks whether the shared memory is actually set, and only
uses it in this case. This will also fix using ui_color() in any
BServer without UI connection.


# 8fceacff2d74a7bd3a3e6c5eb925d205febaa1b3 03-May-2015 Janus <janus2@ymail.com>

InterfaceDef: Use a lighter grey for list selection.

* Use the BColumnListView grey for list selection.


# 5db8f48cb6d2345878ea367ced725cd92d1bad3c 19-Sep-2014 Sidhant Sharma [:TigerKid001] <tigerkid001@gmail.com>

Change Success/Failure colors.

* Part of #10834
* Colors were picked from http://clrs.cc, which was suggested by John Scipione.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 73ac4cdc3f94a5d67678ba97c9192a0287db63b3 27-Jan-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

truncate_string(): Be a lot laxer wrt. rounding incaccuracies

Instead of 1/10000 we now add 1/128 to the width to compensate for
rounding inaccuracies. Due to the limited float mantissa precision
(23 bit) the previous value would already have no effect for relatively
small widths (>= 128).

Fixes #10455.


# af84ce79da03c13c332dba559d7c54f565e17f4a 16-Apr-2013 John Scipione <jscipione@gmail.com>

Rename B_COLOR_WHICH_COUNT to kColorWhichCount


# 376e5bb692e48e55fed3c075ba3092a32f53d280 16-Apr-2013 John Scipione <jscipione@gmail.com>

Set legeneral_ui_info.mark_color to B_CONTROL_MARK_COLOR


# 33025215566c130e9d950fc95d4605617203c248 05-Apr-2013 John Scipione <jscipione@gmail.com>

Remove dependence on color constants in ServerReadOnlyMemory.

This fixes a maintainance problem where you have to update this otherwise
unrelated file to keep it in sync whenever you add a color constant.

I've added a B_COLOR_WHICH_COUNT constant to the color_which enum which should
be updated to point to the newest color constants as new ones are added. I
reworked ServerReadOnlyMemory to use this constant instead of using to the
current largest color constant directly. If you use B_COLOR_WHICH_COUNT to
refer to a color in your code expect to get unpredictable and nonsensical
results. Most likely you'll get an undefined result which will return black
but don't depend on it.

The net effect of this is that ServerReadOnlyMemory doesn't need to be updated
anymore when new color constants are introduced but will continue to produce
correct results.

Eliminate kNumColors constant, replace it with B_COLOR_WHICH_COUNT


# 9f24981a56edba10807b550b521563b0cadd12c7 05-Apr-2013 John Scipione <jscipione@gmail.com>

Add B_SCROLL_BAR_THUMB_COLOR constant.

This allows you to change the scrollbar thumb color in Appearance preferences.
The default color is 216, 216, 216 so the scroll bar thumb looks the same by
default. Perhaps someday this can be updated to something a bit more colorful.


# 91c78f092f17e1cc233f7f85a075f72b72b3f246 20-Aug-2012 John Scipione <jscipione@gmail.com>

Create and use new list view item colors

* B_LIST_BACKGROUND_COLOR
* B_LIST_SELECTED_BACKGROUND_COLOR
* B_LIST_ITEM_TEXT_COLOR
* B_LIST_SELECTED_ITEM_TEXT_COLOR


# 4bb5af765fc7c9e4daf911d5ad8db763403fdd21 15-Jul-2012 John Scipione <jscipione@gmail.com>

Add control mark color setting. #8054

An enhancement adding a setting to Colors under Appearance to
set the mark color of radio button and check box controls.


# 30d17caa9d4370c1425b7ad42c1a1cd771e89b13 28-Oct-2011 John Scipione <jscipione@gmail.com>

Added support for colored window tabs in the default decorator.


# b46615c55ad2c8fe6de54412055a0713da3d610a 19-May-2011 Stephan Aßmus <superstippi@gmx.de>

Applied patch by Joseph "looncraz" Groover from ticket #7445.
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!


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


# 33394b856dfc5366693cc81b47885d0bd4facd99 16-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Wim van der Meer: Added get_mouse_bitmap() global method to
InterfaceDefs.h and corresponding implementation in the app_server. Thanks a
bunch! Closes ticket #5978.

A note to those using "update-all" with hybrid builds - the alternative GCC
system libs will not be updated this way, and this and Wim's last patch
change the libbe <-> app_server interface. You need to manually update the
respective libbe.so, or do a clean build, otherwise apps for the other GCC will
not start anymore.


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


# 1c73ffa1021c1426dbce9675256f4f8cdc22bb56 14-May-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Wim van der Meer: Implemented global Interface Kit function to retrieve
the current mouse position and pressed buttons. I've changed the return code
to status_t and added anal error checking, most of the rest of the file is not
doing it, though... :-) Thanks, Wim!


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


# 0a51dbde98d0d46c22e46a455ee04398e9781db7 02-May-2010 Axel Dörfler <axeld@pinc-software.de>

* Unified the Desktop and ServerApp AS_ACTIVATE_WORKSPACE to work in the same
way.
* Use that newly exposed feature of taking the focus window to the new workspace
when using the Ctrl-Alt-Shift-Arrow shortcut.
* This fixes #5675.


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


# 5bc9fb9d241a00edec39ef04479d90b61dba7995 01-Feb-2010 Michael Lotz <mmlr@mlotz.ch>

* Replace the truncate_string() helper function with a new, simplified version.
* Remove no longer necessary support functions.
* The new version uses a single BString as input/output parameter and only
modifies that one by removing non-fitting chars and inserting the ellipsis
where appropriate, so avoids copying around bytes/chars/strings in a few
places. It uses the new Chars functions of BString so also no need for manual
multibyte handling.
* Adjusted the BFont and ServerFont usage of truncate_string() which are both
simplified by using the single BString. It avoids a lot of temprary
allocations and string copying. The char * version of BFont
GetTruncatedStrings() now uses the BString version and not the other way
around anymore which requires us to allocate temporary BString objects, it's
not worse than before though.
* This fixes a bunch of problems with the previous functions like always
prepending the ellipsis for B_TRUNCATE_BEGINNING, crashing on short enough
widths, violating the width in the B_TRUNCATE_END case when the width was
short enough, non-optimal truncation in a few cases and sometimes truncation
where none would've been needed. Also fixes #4128 which was a symptom of the
broken B_TRUNCATE_BEGINNING.


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


# ea3a947109e89b90774d7782e0e06d5ee3ba7980 30-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Should have been part of r34388. be_clipboard initialization.


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


# 4223d92e7dc76e4080a09f7cc7691509391a2e7a 25-Oct-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed lots of style violations, many of them introduced with r33732.
* Brecht, is it possible your line break column is one character too short? At
least you broke some lines without need.


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


# 14cf6a83c58b4108d30985b77b71a9bed2705ccd 22-Oct-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

This does seem more logical and makes it build on gcc4. Not sure if it's the right thing :)


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


# 926e63c8851f8e1d085981e69ef03f8e9cda1e65 22-Oct-2009 Brecht Machiels <brecht@mos6581.org>

* added click to focus mouse mode; right-click for bring-to-front and send-to-back
(might cause some regressions in FFM)
* made accept first click user configurable
* updated the Mouse preflet to use the layout kit
* removed the warp and instant warp modes from the Mouse preflet
* changed internal representation of mouse modes (warp modes moved)
* coding style fixes



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


# 9fe35223cf4eb9714865152d62e8efc36b327fef 26-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* BWindowScreens had no sychronization mechanism whatsoever - since the
workspace activation message was asynchronous, whether or not the
BWindowScreen stopped drawing in time was pure luck (this also caused crashes
with the VESA driver, as that one unmaps its frame buffer during mode switch).
Introduced a new AS_DIRECT_SCREEN_LOCK protocol for this.
* In the long term, we should let BWindowScreen use the same mechanism as
BDirectWindows, though.
* Removed superfluous locking in BDirectWindow::_InitData().


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


# 1bfa2699514d3775824dfce66e2bc4b8ad716d31 04-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Made the default tool tip color a bit easier on the eye.


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


# c2c39a98a2908d8b6d337e9bfa4e5e8ec0a5ed74 30-Jul-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved functions declarations to InterfacePrivate.h


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


# 753365b433be747847c9ec42d15d5cd5533dfe58 30-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* Added new (private) calls {get|set}_workspaces_layout().
* Implemented old count_workspaces(), and set_workspace_count() using the
new functions.


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


# eac9c5450f6f78250eeb4f3a26bd5f053ab18fd4 29-Jul-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

CreateBitmap(): Fail if it can not allocate bitmaps.
In init_interface_kit(), check the return value of MenuPrivate::CreateBitmaps()
and fail on error.


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


# c3d7cee2d9b1ed21cb64db3def908434e9e32c9b 30-Jul-2009 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Instead of creating the Modifiers bitmaps on demand, for every DrawItem invocation,
for every BMenuItem, have them created in _init_interface_kit(), and keep
them cached. This required some reorganisation of the code in Menu and MenuItem.
Also has the side effect that BMenuItem doesn't have to know about the
alt/ctrl/command keys stuff.
Added a comment in BMenu::AttachedToWindow().


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


# 69f9a367bc3ade44eaf73a5b1c51c079acf702cd 29-Jul-2009 Axel Dörfler <axeld@pinc-software.de>

* The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
WorkspacesView::_GetGrid() to determine the layout.


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


# a31d4f9d29b091d79f3a866c4a89b9d22983d13c 21-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

Init global fonts before BWidthBuffer. Probably cleaner, since it may use
some fonts already, but I have not looked...


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


# 2f86ba45579bdc9648b232175f87edc62ab71b54 15-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Implemented a new look for the Haiku interface controls. It was
overheard that they looked too ninety-ish.
TODO: The code behind this is work in progress. The basic idea
is to extract all drawing code into a new class BControlLook,
of which there is a global instance be_control_look, instantiated
in InterfaceDefs.cpp. At the moment, all the old drawing code is
still there, and the usage of be_control_look is inside if-bodies
checking the instance against NULL. In another words, by not
instanitating be_control_look, you can revert back to the old look.
BControlLook's job is to provide reusable methods for drawing
certain types of frames, backgrounds and labels, so that application
developers can make controls that re-use the same drawing code
as built-in controls and adopt to changes made there. I have added
the notion of "borders". Each of the frame drawing methods can be
made to draw certain borders only, which is supposed to help when
controls shall visually attach. This feature is not fully explored
at all ATM.
TODO: Update BColumnListView header view and BStringItem text
spacing. Update other apps where it makes sense to use BControlLook.
For the moment, only Tracker and LaunchBox are updated. More...
NOTE: The new look is not very radically different, so that existing
apps do not immediately look too ugly or out of place.


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


# e4737a9260c764b22b6da57100199428e3bad24d 31-Dec-2008 Axel Dörfler <axeld@pinc-software.de>

* Added a third hinting mode: monospaced fonts only. This is especially helpful
with low resolution devices like the EeePC - small fonts can look pretty bad
when hinting is turned on, and you still have the advantage of hinting for
text editors and the terminal.
* Added a ServerFont::Hinting() method (that currently only evaluates the
global hinting setting).
* Added a TODO comment on why having global settings is not what we aim for.


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


# 2bbb828870b7394d876930766f208ea8ef5ea785 14-Dec-2008 Jérôme Duval <korli@users.berlios.de>

added get_modifier_key() as proposed by Olivier Cortes. Thanks.


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


# b545073f089282445eaf00a96e2b8f4699079c84 06-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

* Moved the global BPrivate::WidthBuffer from BTextView into BPrivate as
gWidthBuffer.
* Tracker PoseView now uses BPrivate::gWidthBuffer instead of it's own
instance.
* TextView.h and PoseView.h are now a little cleaner.
* InterfaceDefs.cpp now deletes gWidthBuffer in _fini_interface_kit_().
* Added binary compatibility support for NetPositive in WidthBuffer.h and .cpp.
Obviously it kind of defeats the purpose of having WidthBuffer neatly tucked
away in the BPrivate namespace, but Haiku should run NetPositive, I guess.
Fixes #2879.


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


# 90b7764dc354ff1bcb01abf78dafe16faa820725 21-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Move WidthBuffer and TextGapBuffer into BPrivate and use them from there in BPoseView and BTextView. This (correctly) fixes the previous gcc4 build issues.



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


# a682d9819fae1e26cef1390bb33b5d5c73304642 20-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

Quite a cleanup action to avoid polluting the global namespace with private
BTextView classes:

* Declared the directly used BTextView helper classes as private BTextView
classes and changed all affected files.
* Realized that Tracker's BPoseView was (accidentally?) using what used to
be _BWidthBuffer_. It had declared it's own class with the same name and
same members/size in headers/private/tracker/TextViewSupport.h, but the
implementation was nowhere to be found. I can only explain this that
the BTextView implementation was then actually linked and used. But the big
problem was that it was used without locking (unlike in BTextView)! When
many Tracker windows opened during system startup or later and they happened
to each request characters not yet in the cache, I imagine things could have
gone bad and corrupted memory. Anyways, since I can see the usefulness of
the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved
the locking inside BTextView::WidthBuffer::StringWidth().
* Adjusted InterfaceDefs.cpp accordingly.
* TODO: Move subsequent classes into BTextView namespace as well, ie derived
classes that BTextView doesn't directly know about. All stuff in src/kits/
inteface/textview_support/
* Added preliminary and not yet implemented layout friendly BTextView
constructors.
* I will try to handle the insets imposed by BTextView::fTextRect a bit
differently when used inside the new layout management framework. For this,
I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do
anything yet.

So far, everything seems to work still... ;-)


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


# c9503698ae0414d844aa553f2ec07cf770657560 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* take the precision into account while trying to add an optional character


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


# 84d0e984f36af41955740cd82653189b6fc8e7f4 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* of by one, while left points behind the chars to copy
right points to the first charater to start copy with



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


# 9b56aad8a057f29f943a12110255c3a703e48abb 02-Sep-2008 Karsten Heimrich <host.haiku@gmx.de>

* rewrote truncate_middle partly, it failed while trying to add an optional character
this was most noticable in Deskbar when opening DataTranslations in Expand App Mode



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


# 55585cfa0d079a28acf0e863ebeaccf98b13d1c3 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* truncate_middle() could eat the whole string if it was as large as the
ellipsis. This was visible in missing window titles for short names like
"bin".


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


# ae0606be749b5b16f3ec706c24bcb488d7f5ac96 12-Aug-2008 Axel Dörfler <axeld@pinc-software.de>

* Added two more private InterfaceDefs functions: get_application_order(), and
get_window_order() will retrieve the application respectively window order
on the selected workspace.
* Moved private BeOS compatible functions (as used by the Deskbar) into the
private WindowInfo.h header.
* Whitespace cleanup.


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


# 59e13a3f06eedbc797f797da71c6810634b22cd4 03-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by Andrej Spielmann (GSoC):
* Simplified the subpixel related methods for the AGG "pixel format" template
interface, the ones for the solid cover simply pass through the existing
methods, so only one subpixel blending function is left which does the actual
work (this removes a lot of the previously added code)
* Implemented a new rasterizer based on the original AGG rasterizer which
implements subpixel anti-aliasing for any generic AGG vector pipelines. It
is now optionally used in Painter and AGGTextRenderer (for vector fonts, ie
rotated, sheared or big enough fonts) depending on the global subpixel
setting.
* Put all subpixel variables into the new GlobalSubpixelSettings.h|cpp
* Simplified DesktopSettings related classes a bit and renamed previous
FontSubpixelAntialiasing to just SubpixelAntialiasing.
* The private libbe functions for subpixel related settings moved from Font.cpp
to InterfaceDefs.cpp where other such functions live. They are not related
to fonts only anymore.
* Removed the subpixel related settings again from the Fonts preflet and added
them to the Appearance preflet instead.

All of the above implements subpixel anti-aliasing on a global scale, which
to my knowledge no other OS is doing at the moment. Any vector rendering
can optionally use subpixel anti-aliasing in Haiku now. The bitmap cached fonts
are still affected by the Freetype complile time #define to enable the patented
subpixel rasterization (three times wide glyphs). Vector fonts and shapes are
not affected though at the moment.



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


# 3bfa2d12234cc993145fb63501613a80dfe61b71 26-Apr-2008 Jérôme Duval <korli@users.berlios.de>

style cleanup


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


# cfc3fa87da824bdf593eb8b817a83b6376e77935 09-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

* Cleaned up InterfaceDefs.h, added TODO about getting rid of declaring
_init_interface_kit_() in there.
* Moved private get_mode_parameter() into the BPrivate namespace.
* Renamed interface_misc.h to InterfacePrivate.h.
* Minor other cleanup.


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


# f6e4cbb95290a74b33d012600438b84742b0e572 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


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


# 65e63b987dda42a7492b7f8eb68b4f71bd8134cc 11-Oct-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

PaletteConverter now exports a static InitializeDefault() method, which
can be used (and is, by _init_interface_kit()) to initialize the ...
er... default instance of
PaletteConverter using the system color map, thus avoid building the
list of colors, which takes some time. Fixes bug #505.


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


# f93d6bd89eaa79e242b110c987196dee0abc9585 08-Aug-2007 Michael Pfeiffer <michael.w.pfeiffer@gmail.com>

* Implemented run_add_printer_panel(). Opens Printers preflet and sends to
it the message for opening the 'Add printer dialog'.


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


# 58acd5acb8e237862113b336908d9720860797f2 05-Jul-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

added default clause to the switch statement. This fixes a memory corruption bug in case the caller supplied an invalid value. Now we use B_TRUNCATE_MIDDLE in that case. Found by Andrea Anzani

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


# ffcd67bc8277349aebf089d7357716698aafd55b 18-Jun-2007 Stefano Ceccherini <stefano.ceccherini@gmail.com>

moved duplicate code to a common location.


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


# c25f230cb6e5a20a0177152ec7fddab8140a5727 30-Apr-2007 Jérôme Duval <korli@users.berlios.de>

added _get_key_map() to get the character map size


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


# 702b0340774e3e3527a65b53dd60945bc0289e3b 06-Nov-2006 Axel Dörfler <axeld@pinc-software.de>

I changed the signature of AboutHaiku, but I forgot to update it here - now Deskbar should
show the app again when choosing the "About Haiku" menu item :-)


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


# 53885da0f0ae70f886afa345034f2a9fc4b51e15 29-Oct-2006 DarkWyrm <darkwyrm@gmail.com>

ReadOnly means...well, read *only*. Duh.
The app_server doesn't handle this message -- yet


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


# 59463a9aa11839716200792d0e34fdcb746f0cf7 29-Oct-2006 DarkWyrm <darkwyrm@gmail.com>

Added set_ui_color to act as counterpart to ui_color.


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


# eddeb67808aaac64b5ef090efac4af98d7b8c50d 02-Jul-2006 Jérôme Duval <korli@users.berlios.de>

the data type is now consistent with the one used in input_server


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


# 7a04ba9b1d2e6c730baea5da0733d6c99c1c4c09 29-May-2006 Axel Dörfler <axeld@pinc-software.de>

Fixed B_MENU_SELECTED_BACKGROUND_COLOR to fit to our B_MENU_BACKGROUND_COLOR,
and changed BMenuItem to actually use it.
This fixes bug #640.


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


# 93820f1ea7afb270758e286246c3757622fb0016 26-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

Renamed moreUTF8.h to utf8_functions.h.


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


# 23ae77aa566566465e1fca7aedbf0f1139acca1e 26-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* Removed ColorSet, it's no longer needed or used.
* The Decorator are temporarily using ui_color() - this needs to be changed
to use the DesktopSettings (when the decorator stuff gets refactored); right
now, the colors are fixed.
* Added B_WINDOW_TEXT_COLOR, B_WINDOW_INACTIVE_TAB_COLOR, and
B_WINDOW_INACTIVE_TEXT_COLOR to the UI colors, B_WINDOW_TAB_COLOR is no
longer deprecated. Note, however, that not every decorator may use these
colors.
* Removed unused and wrong (ie. hard-coded paths) stuff from ServerConfig.h.


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


# 6d5488e18ac47e1c47706227b9a21524ae7874e8 25-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* There is now a server_read_only_memory structure that is placed in a (surprise!)
read-only area shared between the Desktop and all applications.
* Right now, this area only contains the desktop colors, ie. B_PANEL_BACKGROUND_COLOR
etc.; ui_color() no longer needs to ask the server for these colors.
* The ui_colors are now maintained by DesktopSettings, though ColorSet is still there.
* The default colors are now hardcoded once and for everyone in InterfaceDefs.h, ie.
the app_server uses them as well.
* Desktop::Init() can now also return an error (but that is not yet accounted for).
* Cleaned up InterfaceDefs.h.
* Fixed wrong include in moreUTF8.h.


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


# b03deb09dbdb2968fecc5f128fd6ae4cf7b8169f 19-Apr-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Menu settings are now handled by the app_server. As a result, changing them does something, although they aren't saved to disk yet. 'click_to_open' is not checked anymore, because it was useless anyway, I'll remove it from the Menu preflet too.

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


# cd0ea6ff0fe476f59da696583d5a0daaa7c42596 17-Apr-2006 Axel Dörfler <axeld@pinc-software.de>

* Added some of the rgb_color methods from Dano/Zeta.
* The private general_info structure is now setup - that fixes a part of bug #502;
NetPositive's bar remains black, though.


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


# ca7dc13fd9d14d833cef0ee44f1fd7900eff071d 11-Apr-2006 DarkWyrm <darkwyrm@gmail.com>

Make ui_color a little more bulletproof. This will mitigate bug #256 until I can track down the reason (probably in the app_server) that the color request fails


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


# 9160042c033115b9e3bbf621774144d30913d9c2 10-Apr-2006 Jérôme Duval <korli@users.berlios.de>

added B_WINDOW_TAB_COLOR to ui_color() without app_server


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


# 9d6b4ad58699bfcdceee6eaad1577ac68cb9ddf8 03-Apr-2006 Jérôme Duval <korli@users.berlios.de>

actually print the color_which which fails (ie in Cortex)


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


# 31659673cdf0792baf20a87d260b6efaca7eba39 26-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added the "general_info" structure - seems to be exported by libbe.so and used
by Vision (shame on you, AnEvilYak ;-)). It doesn't seem to be maintained even
under R5, though, so if Vision turns out to be the only app that it currently
needs, we can as well remove it again, and fix Vision (being open source and
all).


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


# 16ed1e1d15aac69c945890e5d5990bb41d9f4303 18-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

* Removed headers/private/servers/app - everything is in src/servers/app now.
* Removed DisplaySupport.h, wasn't needed anymore.
* Removed private color set functions from InterfaceDefs.cpp - we might want
something similar, but definitely not like that.
* Minor cleanup, added some missing licenses.


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


# 1d125708f8f25a5f89562e9f808751690ecdbf88 14-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added an empty implementation of the shift_color() function - BeIDE needs
this one, maybe we should find out what it does, make it public and
document it.


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


# bfe698736ddb0a6dabeb8688120c2b1d20bcbf0a 28-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Implemented private do_window_action() function, used by the Deskbar to bring
windows to front (or minimize them).
* Desktop::ActivateWindow() no longer crashes in case the window to be activated
is not on the current workspace - instead, it doesn't do anything at this
point. IOW it doesn't handle workspace activation at all, yet.
* Renamed ServerWindow::GetWindowLayer() to ServerWindow::Window().


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


# 7a0de24359b17464cb2c300862f8f6e6d11e50a0 20-Feb-2006 Jérôme Duval <korli@users.berlios.de>

added missing symbol B_NOTIFICATION_SENDER for Sequitur


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


# f877af82fefb0143773ffcfadff86058f38cc578 09-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

* Implemented private functions do_minimize_team(), and do_bring_to_front_team()
used by the Deskbar (for "Hide All" and "Show All"). The latter doesn't work
correctly yet, though, it just maximizes all windows of that application.
* Added a TODO to ServerWindow AS_MINIMIZE_WINDOW on how to make it work correctly.


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


# f056e688a319f527c95c3d1eb3b8a95dc9b2031d 09-Dec-2005 Stephan Aßmus <superstippi@gmx.de>

now uses the same defaults as in the input_server when unable to contact the input_server

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


# 1ba4d9632615894aaf918f1997ebb73413f93aac 08-Dec-2005 Stephan Aßmus <superstippi@gmx.de>

take it easy when unable to contact the input_server, makes Tracker run much better in the test environment

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


# 0a95bea66d370459d9a0d7712f2dcbcdaa8eb00c 06-Dec-2005 Stephan Aßmus <superstippi@gmx.de>

fixed wrong usage of ConstrainClippingRegion() introduced by myself a couple months ago

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


# b32a299f2a3bb883dbb853b232603a615ea4fedd 30-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

Minor cleanup, mostly SERVER_TRUE -> B_OK.


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


# 414b75712d05ce2b5c05a2f303747e25ad09d81a 29-Nov-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Style changes, just to test if committing from here works...

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


# b2cc345461400d6944e2de35ec6decc8d1af8751 07-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

More font work:
* Simplified server communication a bit: instead of separate queries for font
direction, "is fixed", ... there is now a private extra flags field that is
filled on demand.
* The server command names now describe what the command does, and are not simply
named after the BFont method (AS_SET_FAMILY_AND_STYLE vs. AS_GET_FAMILY_AND_STYLE_IDS).
* Replaced B_SET_SYSFONT_{PLAIN|BOLD|FIXED} with a single B_GET_SYSTEM_FONTS.
* Rewrote Font.h and added our license.


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


# 53297d1714fb360beb99defe6686d6d85c1ae458 11-Oct-2005 Jérôme Duval <korli@users.berlios.de>

ui_color has to provide values even when no be_app has been created


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


# fdbc56b338b1452bdf71068381efd3f733cd7a84 11-Aug-2005 DarkWyrm <darkwyrm@gmail.com>

Fixed build for R5 target


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


# 223b96641b0b5b4f5059fa3a385e1af0829f6504 17-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Implemented the focus follows mouse stuff over the standard mouse mode functions; the other functions look deprecated to me.
Added a comment to load_menu_settings() - I think that stuff should be moved into the server.


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


# 3f319b3346fcc3f45786d9fb9c6ca698c4de7a22 10-Jul-2005 Michael Lotz <mmlr@mlotz.ch>

Some cleanup, some removed typos, some unification, some fixes and some added todos. Most of it related to client-server communication. Apps that rely on BFont stuff should work now (StyledEdit, Fonts, Keymap, Menu, ...). Or should not hang/quit at startup at least.

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


# 8ec0a618a1fd433057181474e2a59a4bac9da3a9 07-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed truncate_middle(): could add ellipsis without any reason under some
circumstances.
Also, the first letter that is tested to be added to either side is taken
from the side with less letters now, instead of the one with the bigger
letter.


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


# d76e154b8bfbd2a0f568d8ff4518802a9db268a2 05-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

Implemented get_token_list() and get_window_info() client side.


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


# 06fe6a428c0c70d3e6075be532b70a7e8fde27ce 04-Jul-2005 Axel Dörfler <axeld@pinc-software.de>

The _menu_info_ptr_ is now initialized correctly.


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


# feb8560ca927fa150f04e437e4f6cfd9cf0313b3 28-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implemented run_be_about()

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


# 53ba0acbb1d161ec3a22c3143eab9bd1311f2cf8 17-Jun-2005 DarkWyrm <darkwyrm@gmail.com>

Fixed a TODO


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


# 5021d2fe30ffaaca556881b23b47483476571e4b 15-Jun-2005 DarkWyrm <darkwyrm@gmail.com>

Added functions to replace current hacks in Appearance to handle decorators


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


# 2d4b179de58f8830977ee843c8da2fb77b4b7feb 15-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Implemented B_TRUNCATE_MIDDLE, since truncate_strings() could corrupt memory
before in this mode. Some further cleanup, only B_TRUNCATE_BEGINNING is still
left.


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


# dd10337fd005a67a4947714fdeecf2121485b91d 14-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Renamed BAppServerLink to AppServerLink, BPortLink to PortLink, LinkMsgReader
to LinkReceiver, LinkMsgSender to LinkSender, and put everything into the
BPrivate namespace.
Made AppServerLink a cheap object - it will use the applications receiver/sender
and not create its own buffers.
Fixed broken communication stuff here and there (mostly Font.cpp).
Put the newly introduced set|get_system_colors() into the BPrivate namespace -
please don't introduce private functions into the public namespace!!!
Also fixed their broken communication use, as Darkwyrm obviously forgot about
it again: the sequence Flush(); GetNextMessage() without error checking is
purely wrong and can make the app hang and/or crash! :-)
Other minor cleanup.
The input_server used some test mode with the haiku build target which is
probably wrong.
Hopefully I did not forget anything this time.


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


# f1fb9c6f5f1c80443d5c4ab80b64d7668a9e4a68 14-Jun-2005 DarkWyrm <darkwyrm@gmail.com>

Added two private functions which are for getting & setting system colors as a set.


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


# 3a27ae791e943c7e682d571394251a24102bbf23 13-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added server support for activate_workspace(). Looks like it's not doing anything, though SetActiveWorkspace() returns true....

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


# 3cbe14a4cefbab7186e143398f284c4ddf226f50 10-Jun-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Reimplemented set_screen_space() in function of BScreen::SetMode(). This way we can get rid of the extra AS_SET_SCREEN_MODE in the app server. "ported" mode2parms from BWindowScreen, which should be changed to use set_screen_space() instead of doing its own stuff.

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


# 8b0b0568fd9f49e273a1991225c606cd86fbb576 08-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Made copy_from_start() more clear and probably faster.
Commented out a check that would prevent characters smaller than B_UTF8_ELLIPSIS
to be rendered (ie. the maximum width could be less than the ellipsisWidth but
greater than the complete string width for small strings).
Minor cleanup.


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


# 0b5938e995b447e3bcc5ec1c4d9ce05b078b966f 07-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

added a TODO comment, I forgot to mention that anything but B_TRUNCATE_END is untested or broken

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


# a55bbe35a4756c2aec62aad5a40fc66024367248 04-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Fixed a warning.


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


# 59345e264fccac812b03a49a1e4466f10133a309 03-Jun-2005 Stephan Aßmus <superstippi@gmx.de>

huge cleanup, support for SetSizeLimits, support for truncating strings, numerous decorator bug fixes, Layer does not draw when view color is B_TRANSPARENT_COLOR, cleaner dispatching of mouse events to the WinBorder in RootLayer, commented the char map selection in the font server, as it seems glyph lookup by unicode index works much better with the default map

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


# 3dc051048709d32f66e0b7c4ed725c2559be9150 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added exports for stuff needed by Deskbar to compile. Nothing is implemented yet!


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


# ce956b5de725f3e293a3da7e3b2c27ffd35d4374 28-Apr-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved the "_init_global_fonts()" call above "load_menu_settings()", as the latter messes with be_plain_font. Reordered the headers.

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


# 8a9226323275dd93f16483a4e26da33186368c2d 12-Apr-2005 Stephan Aßmus <superstippi@gmx.de>

I _think_ the global system default fonts were never set. I added that to the _init_interface_kit_ function, and it fixes the system fonts under R5. It might have looked like it worked on Haiku before, but I think the be_fixed_font was just the first font found by the scanner in either Haiku and BeOS, while on Haiku, this was Courier just by chance. If this is not the right place to call _init_global_fonts, please tell me or just fix it. I tested under Haiku and BeOS and it looks like it works...

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


# 20337f31657b364a5ca0fcff3afc75d69479fa4d 31-Mar-2005 Michael Lotz <mmlr@mlotz.ch>

Corrected reply handling of FlushWithReply in many places what should fix some strange bugs.

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


# e949e4cf18c6455754f8323843c2fd1e221f1160 07-Mar-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

As the semaphore acquisition is done "benaphore style", the semaphore should be created with an initial count of 0.


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


# 93d52f14af3ded95e92c0e98e4449507b80dd0fb 17-Feb-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Now we fill BMenu::sMenuInfo with some default values. This should fix the problems with our BMenus on our app server. DarkWyrm, please check.


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


# 566155b85fa80af1fb23e0da56b4f6096b9638dc 17-Jan-2005 DarkWyrm <darkwyrm@gmail.com>

Accidentally overwrote Jack's last checkin with my changes to an old version -- getting stupider and stupider in my old age....


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


# 3f8d6d562d1168db97d553d1b9602740ed4a6cc4 17-Jan-2005 DarkWyrm <darkwyrm@gmail.com>

Moved _init_global_fonts to Font.cpp
Implemented _init_global_fonts
BFont::GetHeight returns proper values


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


# 4339dcab52ef0e847ec58a0e3f939ab92714f078 10-Jan-2005 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed some wrong code and added a comment. Small style fixes


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


# 0c40e5db5be6f89ccadb0e49aa3ad498bad38b8d 29-Aug-2004 Jérôme Duval <korli@users.berlios.de>

Fixed returned values


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


# 2b7da867514e4ae808c5ee79993b6fd46da09f6c 27-Aug-2004 haydentech <haydentech@nowhere.fake>

Resolved some compiler warnings


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


# d5f2a1f371ed36c0b43e535227a0da3363c7822d 27-Aug-2004 Jérôme Duval <korli@users.berlios.de>

added our input server signature in comment
added #ifndef COMPILE_FOR_R5 to avoid BPortLink linkage when needed


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


# 4d8f736888937041c339ebf5ad84a787f66719b0 18-Aug-2004 Jérôme Duval <korli@users.berlios.de>

Change to shared command constants


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


# 3ceb31b96aefa3601ccc51e415da557b00155d4f 30-Jul-2004 DarkWyrm <darkwyrm@gmail.com>

Pahtz's changes from PortLink/BSession/PortMessage/PortQueue to BPortLink


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


# c7ee25fdcab4f723211646f1e56fdcbbffbc4f19 29-Jul-2004 Jérôme Duval <korli@users.berlios.de>

Splitted Globals.cpp in GraphicsDefs.cpp and InterfaceDefs.cpp to match headers


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