#
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>
|
#
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>
|
#
d6bb64d8 |
|
07-Feb-2013 |
Axel Dörfler <axeld@pinc-software.de> |
app_server: Added NormalMouse() and ClickToFocusMouse() methods. * Made FocusFollowsMouse() inline. * For convenience only.
|
#
5c1b6cc3 |
|
07-Feb-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Style cleanup.
|
#
c3d0a5e8 |
|
25-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed the style violations introduced by r33732, nothing too bad, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33767 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
|
#
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
|
#
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
|
#
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
|
#
b09e2f6f |
|
10-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Andrej Spielmann (GSOC): * Extend the app_server protocol by configuration options to turn subpixel font rendering on/off and also make the glyph hinting optional (aligning of glyph shapes to the pixel grid). * Implement the setting in the app_server and also handle the persistency. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26362 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e3233d7 |
|
29-Nov-2007 |
François Revol <revol@free.fr> |
Propagate set_ui_color() up to the DesktopSettingsPrivate class. Still needs code to save the values. Also needs a way to access them from Decorator::UIColor(), but the DesktopSettings passed to the ctor can't be cached. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23024 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf2aeb20 |
|
21-Feb-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server. This fixes bug #242. The value is currently stored in a separate file. * Removed some unused codes from ServerProtocol.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20188 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a17c3a48 |
|
26-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Changed the way DesktopSettings work: * Removed the DesktopSettings lock itself - it's not really needed at all, and causes some trouble with a clean locking design. This may even have fixed bug #757, at least I couldn't reproduce it anymore. * There is now a class for read-only access that requires you to have locked the desktop (either read or write). * There is now another class LockedDesktopSettings that allows you to set settings (and only that) - when you're changing the settings, you must not have read locked the desktop (ie. hold the single window lock). The class will obtain a write lock, but write locks can be nested. * Moved SetWorkspacesCount() into the Desktop class. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
86f902c3 |
|
31-May-2006 |
Stephan Aßmus <superstippi@gmx.de> |
save and restore menu and mouse settings, fixes bug 607 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17676 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8527f8ff |
|
06-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
The display resolution is now saved and restored. Probably doesn't handle non-default modes right yet. The settings are stored in B_USER_SETTINGS_DIRECTORY/system/app_server/workspaces. They are currently saved as a flattened BMessage - we might want to switch to the driver_settings format, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16249 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
05bd1efe |
|
03-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the FontManager is now a looper (but doesn't do anything useful yet). * moved the system default font functionality into the DesktopSettings class. * ServerFont::SetStyle() is now a public method. * Improved font fallback routines: they will never end up without a font if there is at least one font installed. * fixed some minor bugs in the DecorManager. * Decorator now get a DesktopSettings object passed - dunno if that's a good idea (since we'll have to open the DesktopSettings header), but it works for now (and something like this is probably needed anyway). * a clean ServerFont is now set to the system default font - and not to the (user chosen) desktop default font anymore (since the font manager doesn't know about that one). * Improved font directory scanning in the font manager a bit, it's now using find_directory() instead of hard-coded paths. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14666 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef8810f2 |
|
17-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Extracted the settings stuff from the Desktop class. If you now need to access the desktop's settings, you have to do something like this: DesktopSettings settings(desktop); settings.SetMouseMode(mode); The advantage of this is that this object is fully locked, and cannot lead to corrupted settings anymore. Also, the settings will stay the same until you delete the object again. Updated all accesses to use this new API. Removed no longer used FFM messages. Implemented AS_{GET|SET}_MENU_INFO for future use. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d6bb64d84872c1ce527e4ca75d5f133c3991a0b5 |
|
07-Feb-2013 |
Axel Dörfler <axeld@pinc-software.de> |
app_server: Added NormalMouse() and ClickToFocusMouse() methods. * Made FocusFollowsMouse() inline. * For convenience only.
|
#
5c1b6cc3d4dd5bfd2c8a73cccd1ed2d17ae66d89 |
|
07-Feb-2013 |
Axel Dörfler <axeld@pinc-software.de> |
Style cleanup.
|
#
c3d0a5e8a1fb6e79e543c9523c8c21e389904e04 |
|
25-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed the style violations introduced by r33732, nothing too bad, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33767 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
|
#
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
|
#
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
|
#
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
|
#
b09e2f6f4bcda91da778d565b7a814841bad05a6 |
|
10-Jul-2008 |
Stephan Aßmus <superstippi@gmx.de> |
Patch by Andrej Spielmann (GSOC): * Extend the app_server protocol by configuration options to turn subpixel font rendering on/off and also make the glyph hinting optional (aligning of glyph shapes to the pixel grid). * Implement the setting in the app_server and also handle the persistency. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26362 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2e3233d74e16f90a6ae916935dc65ea53b4364de |
|
29-Nov-2007 |
François Revol <revol@free.fr> |
Propagate set_ui_color() up to the DesktopSettingsPrivate class. Still needs code to save the values. Also needs a way to access them from Decorator::UIColor(), but the DesktopSettings passed to the ctor can't be cached. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23024 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cf2aeb201fe3785161bb0502effba053b0d76879 |
|
21-Feb-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server. This fixes bug #242. The value is currently stored in a separate file. * Removed some unused codes from ServerProtocol.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20188 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a17c3a48b84013d5c1ab684fd5bf9961eee3d7d9 |
|
26-Aug-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Changed the way DesktopSettings work: * Removed the DesktopSettings lock itself - it's not really needed at all, and causes some trouble with a clean locking design. This may even have fixed bug #757, at least I couldn't reproduce it anymore. * There is now a class for read-only access that requires you to have locked the desktop (either read or write). * There is now another class LockedDesktopSettings that allows you to set settings (and only that) - when you're changing the settings, you must not have read locked the desktop (ie. hold the single window lock). The class will obtain a write lock, but write locks can be nested. * Moved SetWorkspacesCount() into the Desktop class. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18646 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
86f902c3ed42806fd5f7dcdff36eba7fee9bf6ea |
|
31-May-2006 |
Stephan Aßmus <superstippi@gmx.de> |
save and restore menu and mouse settings, fixes bug 607 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17676 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8527f8ffbeb4b72a9502099b29aa6210b7832191 |
|
06-Feb-2006 |
Axel Dörfler <axeld@pinc-software.de> |
The display resolution is now saved and restored. Probably doesn't handle non-default modes right yet. The settings are stored in B_USER_SETTINGS_DIRECTORY/system/app_server/workspaces. They are currently saved as a flattened BMessage - we might want to switch to the driver_settings format, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16249 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
05bd1efe5b72256ccd4afa82fafb7da4ae045e0d |
|
03-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
* the FontManager is now a looper (but doesn't do anything useful yet). * moved the system default font functionality into the DesktopSettings class. * ServerFont::SetStyle() is now a public method. * Improved font fallback routines: they will never end up without a font if there is at least one font installed. * fixed some minor bugs in the DecorManager. * Decorator now get a DesktopSettings object passed - dunno if that's a good idea (since we'll have to open the DesktopSettings header), but it works for now (and something like this is probably needed anyway). * a clean ServerFont is now set to the system default font - and not to the (user chosen) desktop default font anymore (since the font manager doesn't know about that one). * Improved font directory scanning in the font manager a bit, it's now using find_directory() instead of hard-coded paths. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14666 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ef8810f2adeb29b35fc895347011ad39bd591bd1 |
|
17-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Extracted the settings stuff from the Desktop class. If you now need to access the desktop's settings, you have to do something like this: DesktopSettings settings(desktop); settings.SetMouseMode(mode); The advantage of this is that this object is fully locked, and cannot lead to corrupted settings anymore. Also, the settings will stay the same until you delete the object again. Updated all accesses to use this new API. Removed no longer used FFM messages. Implemented AS_{GET|SET}_MENU_INFO for future use. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13719 a95241bf-73f2-0310-859d-f6bbb57e9c96
|