History log of /haiku/src/preferences/appearance/AntialiasingSettingsView.cpp
Revision Date Author Comments
# 2b4c5963 09-May-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Appearance: add some extra margin around menufield labels

The font antialiasing settings make the font rendering change. It can
make strings longer or shorter, and this can result in the menufield
being moved by a few pixels. So add a safe margin around the menu field
to accomodate for it.

Fixes #13039.

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


# 6b899f5a 11-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

Appearance: Don't disable the "glyph hinting" menu field.

I missed this snippet of code in earlier changes, it seems.


# 5464abed 09-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

Enable sub-pixel font anti-aliasing by default.

Now that stippi has fixed the FreeType bitmap filter in app_server,
this rendering mode looks much nicer than Grayscale does.

Fixes #13290.


# 166dc2bf 09-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

Appearance: Remove "sub-pixel anti-aliasing is not enabled" message.

FreeType 2.8+ uses a non-patent-encumbered algorithm for this by default,
and as we have used it for quite a while now, this message is obsolete.


# 5f6a4730 22-Mar-2016 John Scipione <jscipione@gmail.com>

Appearance: Live update antialiasing text color

...when panel text color changes in addition to panel bg color.


# f0650dc9 09-Dec-2015 looncraz <looncraz@looncraz.net>

preferences: Convert to using Set*UIColor.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0023-0037 from looncraz, unmodified.


# ad926b25 07-Nov-2015 Humdinger <humdingerb@gmail.com>

Improve/fix tab view layout as discussed

See http://www.freelists.org/post/haiku-development/Unifying-visuals-of-BTabView-usage

Besides the tab bar going the full width of the window, also some
layouting tweaks to several apps and prefs.

Still missing: the first (and last) tabs in the tab bar should be inset by
B_USE_WINDOW_SPACING so the controls in the tab view line up nicely.
I think I remember stippi wanting to look into it... :)


# 4e71cef8 25-Jan-2015 Janus <janus2@ymail.com>

Preferences: Make "Antialiasing" Revert button work as expected.

Fixes #11787.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# bcccee93 11-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

Appearance: use FT_CONFIG_OPTIONS_H instead of ftoption.h


# aa0797a2 08-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

Appearance: use ft2build.h instead of ftoption.h

* Freetype 2.5 has changed headers location.


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# e11b156d 12-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Fix for Defaults button issues in Appearance preflet

* Implement isDefaultable() and SetDefaults() for Antialiasing tab;
* The default color set was out of sync with the actual colors,
it now gets the actual colors rather than hardcoding them;
* Some hardcoded values for defaults related to antialiasing were
differents from actual default values stated in AppServer;
* Revert now works for Antialiasing settings also.

Fix #3331


# 10dfe897 06-May-2011 Axel Dörfler <axeld@pinc-software.de>

* Really, there is absolutely no need to pass the default argument to an
optional parameter...


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


# 9602d075 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

CID-1512: ensure that label is never dereferenced while being NULL

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


# 8eff03f5 25-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fixed all build warnings by collectcatkeys that I found
* automatic whitespace cleanup

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


# 4eb0cbb0 07-May-2010 Matt Madia <mattmadia@gmail.com>

Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.


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


# c31c1fef 06-May-2010 Matt Madia <mattmadia@gmail.com>

Updated to use B_TRANSLATE* macros. relates to #5408.

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


# 9c1a9b92 20-Dec-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Patch by Humdinger to convert a lot of things to sentance case.
* Cleanup and update of all the touched catkeys files


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


# f2a4cb29 29-Sep-2009 Oliver Tappe <zooey@hirschkaefer.de>

* fixed a couple of warnings about TR_CONTEXT being redefined.
It is good practive to #undef this before every definition,
due to how the ExtractCatalogEntries jam-rule works.


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


# d36235a2 21-Sep-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Finished localizing the appearance preference panel and translated it to french.
-The French translation is far from perfect. Comments and suggestions welcome.
-The color picker is an OS Widget but uses text (Red, Green, Blue). This is kind of an edge case, but may need a system-wide catalog. I will now translate other things and see if I encounter similar problems.


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


# b2543193 20-Sep-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

-Started to localize the appearance preflet to find more locale kit bugs. It worked.
-MarkForTranslation was not scanned by collectcatkeys, improved the regexp to take it into account
-Some gristing was missing in jamrules, added a bit, still seem to miss some.
-Replaced $(var:B).ext with $(var:S=.ext) as it is the proper way in order not to loose grist and mess things up
-Removed icu include and replaced direct class nesting with pointer to avoid binary compatibility breakage on ICU updates.
-Fixed TimeFormatSettingsView to properly include needed icu things. Should not be there, actually. Needs cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33210 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


# c96059e0 21-Nov-2008 Karsten Heimrich <host.haiku@gmx.de>

* build fix



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


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

Use layout management for all of the window. Can be improved by making
the listview use all the available additional size. But works far better
than before.


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


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

* Don't disable the controls completely if subpixel anti-aliasing is not
available for hinted font rendering. Instead, display the information that
only this combination has no effect on Haiku builds without subpixel based
freetype rendering. Better fix for 2753.


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


# 8cfc10ab 19-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

* Use layout management in the AntialiasingSettingsView.
* Remove unused code.
* Remove INSTANT_UPDATE define, I guess instant update is always wanted.
* Replaced text control for setting the "averaging strength" with a slider
and hopefully improved label.
* Simplified other labels a bit as well.
* Added detection of subpixel rendering availability by peeking into the
Freetype option header. If it's not turned on, then the controls are not
displayed and instead there is a text explaining the problem and hinting
at what needs to be done in order to enable the feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27634 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


# 4e71cef8fde0254a8c9ac52a50fbd7d85ea70a3e 25-Jan-2015 Janus <janus2@ymail.com>

Preferences: Make "Antialiasing" Revert button work as expected.

Fixes #11787.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# bcccee9322bde7f6214084119a17c41b84a16a71 11-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

Appearance: use FT_CONFIG_OPTIONS_H instead of ftoption.h


# aa0797a228b80c7bd90393cbe18968f6ad64d45f 08-Feb-2014 Jérôme Duval <jerome.duval@gmail.com>

Appearance: use ft2build.h instead of ftoption.h

* Freetype 2.5 has changed headers location.


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# e11b156da96c5b5f9c00913c7eda6f6695ec16d1 12-Nov-2011 Philippe Saint-Pierre <stpere@gmail.com>

Fix for Defaults button issues in Appearance preflet

* Implement isDefaultable() and SetDefaults() for Antialiasing tab;
* The default color set was out of sync with the actual colors,
it now gets the actual colors rather than hardcoding them;
* Some hardcoded values for defaults related to antialiasing were
differents from actual default values stated in AppServer;
* Revert now works for Antialiasing settings also.

Fix #3331


# 10dfe8970c81ccbcb818dcfcd484c4006aa42d12 06-May-2011 Axel Dörfler <axeld@pinc-software.de>

* Really, there is absolutely no need to pass the default argument to an
optional parameter...


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


# 9602d07543584534494daaa6c200d63b5b67f514 17-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

CID-1512: ensure that label is never dereferenced while being NULL

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


# 8eff03f5705966c294c96a4e249bb525069b8e78 25-Jul-2010 Oliver Tappe <zooey@hirschkaefer.de>

* fixed all build warnings by collectcatkeys that I found
* automatic whitespace cleanup

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


# 4eb0cbb044cf538f18c0d252934a5bcaa33bfd34 07-May-2010 Matt Madia <mattmadia@gmail.com>

Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.


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


# c31c1fef4f7a3f73435b734a7f42f41cd3f41911 06-May-2010 Matt Madia <mattmadia@gmail.com>

Updated to use B_TRANSLATE* macros. relates to #5408.

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


# 9c1a9b926aa0b1890a011a44398379d1c47f09c1 20-Dec-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

* Patch by Humdinger to convert a lot of things to sentance case.
* Cleanup and update of all the touched catkeys files


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


# f2a4cb29e16ee704c7c6d9d7a4e4e8f70b4be5bd 29-Sep-2009 Oliver Tappe <zooey@hirschkaefer.de>

* fixed a couple of warnings about TR_CONTEXT being redefined.
It is good practive to #undef this before every definition,
due to how the ExtractCatalogEntries jam-rule works.


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


# d36235a21f1e3cb8970a2c6f0fecd23cd02d9634 21-Sep-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Finished localizing the appearance preference panel and translated it to french.
-The French translation is far from perfect. Comments and suggestions welcome.
-The color picker is an OS Widget but uses text (Red, Green, Blue). This is kind of an edge case, but may need a system-wide catalog. I will now translate other things and see if I encounter similar problems.


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


# b25431936010250e5ddd6d526a8788b391b77c12 20-Sep-2009 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

-Started to localize the appearance preflet to find more locale kit bugs. It worked.
-MarkForTranslation was not scanned by collectcatkeys, improved the regexp to take it into account
-Some gristing was missing in jamrules, added a bit, still seem to miss some.
-Replaced $(var:B).ext with $(var:S=.ext) as it is the proper way in order not to loose grist and mess things up
-Removed icu include and replaced direct class nesting with pointer to avoid binary compatibility breakage on ICU updates.
-Fixed TimeFormatSettingsView to properly include needed icu things. Should not be there, actually. Needs cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33210 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


# c96059e0556dd53f5254aaa85bfb79448255e6b6 21-Nov-2008 Karsten Heimrich <host.haiku@gmx.de>

* build fix



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


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

Use layout management for all of the window. Can be improved by making
the listview use all the available additional size. But works far better
than before.


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


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

* Don't disable the controls completely if subpixel anti-aliasing is not
available for hinted font rendering. Instead, display the information that
only this combination has no effect on Haiku builds without subpixel based
freetype rendering. Better fix for 2753.


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


# 8cfc10ab72e28add90b936d8c9e34046d423f035 19-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

* Use layout management in the AntialiasingSettingsView.
* Remove unused code.
* Remove INSTANT_UPDATE define, I guess instant update is always wanted.
* Replaced text control for setting the "averaging strength" with a slider
and hopefully improved label.
* Simplified other labels a bit as well.
* Added detection of subpixel rendering availability by peeking into the
Freetype option header. If it's not turned on, then the controls are not
displayed and instead there is a text explaining the problem and hinting
at what needs to be done in order to enable the feature.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27634 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