#
37ea891a |
|
08-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
Enable -fvisibility=hidden on static libraries by default. Only on non-GCC2 for now, as GCC2 does not have -fvisibility. An opt-out is left as a possibility, and is unfortunately necessary for libshared and libicon, as these two are used even in WebKit instead of linking to the .a. However, libcolumnlistview, libagg, and a whole bunch of others are now no longer exported, so this is already a major improvement on what symbols we were leaking. This may provide performance differences for consumers of these APIs, as GCC and the linker are now free to merge and directly use functions that previously could have been semantically interposed. AGG usage in app_server, especially, may benefit. We can also now remove the addition from libnetservices, so do that.
|
#
0df4a177 |
|
30-Nov-2015 |
Jérôme Duval <jerome.duval@gmail.com> |
app_server: declare jam dependecy for AlphaMaskCache to freetype
|
#
b54b3ae5 |
|
13-Nov-2015 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
app_server: add a cache for AlphaMasks * If the same shape alpha mask is set again and again, we now keep the rendered masks in a cache. On certain websites, WebKit sets the same shape for clipping hundreds of times, which uses a lot of time to render the masks. * When a shape mask was generated, we put it into AlphaMaskCache. The constructor for ShapeAlphaMask is made private and a factory method is used for instantiation instead, which transparently looks up in the cache whether a suitable mask was already generated before (so the entire caching is encapsulated inside the AlphaMask class). * When taking a mask out of the cache, we still create a new AlphaMask instance. However, the new instance will share the mask bitmap with the previously generated instance (aside from the rendering of their bitmap, AlphaMask instances are pretty lightweight). Shape masks are only seen as identical when their shape is the same, the inverse flag, and they have the same parent mask. * Cache is limited to a fixed size of currently 8 MiB, using a simple random replacement scheme. An LRU scheme can be added in the future if necessary. Counting of bytes for the cache size includes parent masks of masks in the cache, even if the parent itself is not cached. A reference counter for "indirect" cache references keeps track of which masks are not part of the cache, but still need to be added to the cache byte size. * For now, only for ShapeAlphaMasks, other mask types can be added as necessary.
|
#
d02b8b81 |
|
08-Feb-2014 |
Stephan Aßmus <superstippi@gmx.de> |
app_server: Cleanup of some file locations
|
#
29f8805f |
|
13-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Update freetype package Also use the new build feature rules
|
#
dcaec19c |
|
08-Feb-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
AppServer: Organize "HWInterface" classes * Organize interface classes into directories * Long term this will assist in the multi-head interface / accelerant changes. * local draws to the local hw accelerant * remote draws to a remote connection (???) * html5 draws to... an html5 canvas?
|
#
9fb13e2c |
|
11-Jul-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
app_server: fixed FreeType headers dependency #8716 * added DrawingEngine.cpp
|
#
8d33dc29 |
|
01-Apr-2012 |
François Revol <revol@free.fr> |
An html5 <canvas> based drawing engine This implements an html5 rendering engine. Inspired by the Broadway GDK backend for Gnome. Work in progress. For now it just connects and dumps debug output.
|
#
362efe0c |
|
17-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
freetype: builds against the 2.4.6 optional package. * added optional feature package for freetype 2.4.6 gcc4/gcc2 x86 and gcc4 ppc. * FT_CONFIG_OPTION_SUBPIXEL_RENDERING is disabled, --include-patented-code doesn't change this setting anymore. This would require different packages. * drop freetype sources and headers from the tree. * fix decorators, test app server and appearance to use feature package headers. * hybrid build untested.
|
#
f4f30311 |
|
24-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Cleanup app server directory a bit by creating a font and a decorator sub folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68667bf4 |
|
04-Oct-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding a remote desktop interface that operates on app_server drawing primitives by providing a RemoteDrawingEngine and a RemoteHWInterface. Not really optimized yet, still a bit WIP. * Adding corresponding infrastructure like a blocking ring buffer and network sender/receiver that are attached to the buffers to feed/drain them as well as a RemoteMessage helper that provides a message based interface. * Adding target screen concept to request an app to be run on a specific screen. It's controlled by the TARGET_SCREEN environment variable which is added on the app side and sent to the app_server. * Right now only remote target screens are supported, in which case a new RemoteHWInterface is created that tries to connect to the given host:port. * Fix shape bounds when drawing, they need to be translated by the pen position and converted to screen like the points as well. Wasn't visible though as the bounds weren't used in the normal DrawingEngine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fb2c7f93 |
|
26-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
bonefish + stippi: Reworked the glyph caching: * It is now glyph index based (a font file has an internal glyph code to index mapping, so that for example the same fallback glyph is used for all unsupported codes). * We do not truncate to uint16 anymore at various places, but support the full 32 bit char codes. * This made it necessary to switch to an OpenHashTable based cache lookup. * In CharacterMap, you can now see that the second Unicode plane does not wrap around anymore. TODO: Remove old entries from the hash table after a while to free up memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6b202f4e |
|
13-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are <util/*> headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4191a211 |
|
12-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Started accelerant extension to be able to get the preferred mode from the accelerant, as well as its EDID info. B_GET_PREFERRED_DISPLAY_MODE and B_GET_EDID_INFO are both optional. The preferred mode will be taken from the EDID info if only the latter hook is implemented, or the former returned an error. * Currently, the app_server should correctly set the preferred mode on start, but no accelerant supports that yet, so it's not really tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ff21b6b |
|
06-Jun-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
libasdrawing.a was including a plethora of libraries. Not sure, what ar made of this. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21342 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2ed0e7a |
|
03-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server will not load any graphics driver (other than VESA). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21310 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0ac013e6 |
|
23-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Some refactoring: renamed OverlayCookie to Overlay and put it in its own source file. * An overlay is now also hidden in case its is removed from the window. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17209 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd98ed8d |
|
19-Apr-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented view bitmap options (B_BITMAP_TILE...) in ViewLayer (for example, fixes NetPositive rendering HTML with a background image) * use BRegion pool everywhere in ViewLayer * WindowLayer update sessions distinguish between different reasons for the update: exposed and requested - on expose updates, the view backgrounds are cleared immidiately (as on R5), to keep the time previous stuff keeps showing as short as possible, while on requested updates, the background clearing is delayed until the client draws something, to keep the time until the client fills a view with content as small as possible to reduce flickering (might need more work, could be buggy yet) * HWInterface and DrawingEngine support delayed syncing to the graphics hardware at least for FillRect/Region. The speed up gained by this is minor though. * HWInterface cursor rendering uses a bit of rounding to avoid the slight transparent shadow around the cursor (I don't know if it is fully correct though, at least the shasow disappeared) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17172 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
|
#
f19839c2 |
|
01-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Some groundwork for overlay support. If someone wants to finish this, feel free to continue (it would be nice to be notified before, though, in case I get to it again in the next weeks). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16561 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b794301 |
|
13-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Changed the way the app_server is built: * no more libappserver.so - this breaks the "Appearance" application, but that has to be fixed some day later. * the drawing stuff is now built in its own directory as libasdrawing.a. * TEST_MODE defaults to "0" if not defined yet - it's overridden in the test build now, not in the main build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d02b8b81e884bd0090ef9bd2d7a62af673eca354 |
|
08-Feb-2014 |
Stephan Aßmus <superstippi@gmx.de> |
app_server: Cleanup of some file locations
|
#
29f8805f6c70f1c819eb58ac2220647d8e40d6e7 |
|
13-Jun-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Update freetype package Also use the new build feature rules
|
#
dcaec19c9a11eec63fd86420326935c5097e48e9 |
|
08-Feb-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
AppServer: Organize "HWInterface" classes * Organize interface classes into directories * Long term this will assist in the multi-head interface / accelerant changes. * local draws to the local hw accelerant * remote draws to a remote connection (???) * html5 draws to... an html5 canvas?
|
#
9fb13e2c1e869916ae6c29863e70e4294c9fc731 |
|
11-Jul-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
app_server: fixed FreeType headers dependency #8716 * added DrawingEngine.cpp
|
#
8d33dc2971c49b5fe2eb9401e77406199d524d8f |
|
01-Apr-2012 |
François Revol <revol@free.fr> |
An html5 <canvas> based drawing engine This implements an html5 rendering engine. Inspired by the Broadway GDK backend for Gnome. Work in progress. For now it just connects and dumps debug output.
|
#
362efe0c9f36d3dd38b22d2c24ac02e54b189d7c |
|
17-Mar-2012 |
Jérôme Duval <jerome.duval@gmail.com> |
freetype: builds against the 2.4.6 optional package. * added optional feature package for freetype 2.4.6 gcc4/gcc2 x86 and gcc4 ppc. * FT_CONFIG_OPTION_SUBPIXEL_RENDERING is disabled, --include-patented-code doesn't change this setting anymore. This would require different packages. * drop freetype sources and headers from the tree. * fix decorators, test app server and appearance to use feature package headers. * hybrid build untested.
|
#
f4f30311aab9b2768d3ef7e590f85598298edfe0 |
|
24-Jul-2011 |
Clemens Zeidler <clemens.zeidler@googlemail.com> |
Cleanup app server directory a bit by creating a font and a decorator sub folder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
68667bf48a9e29a2d142cb3308b606d80bee3c2d |
|
04-Oct-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding a remote desktop interface that operates on app_server drawing primitives by providing a RemoteDrawingEngine and a RemoteHWInterface. Not really optimized yet, still a bit WIP. * Adding corresponding infrastructure like a blocking ring buffer and network sender/receiver that are attached to the buffers to feed/drain them as well as a RemoteMessage helper that provides a message based interface. * Adding target screen concept to request an app to be run on a specific screen. It's controlled by the TARGET_SCREEN environment variable which is added on the app side and sent to the app_server. * Right now only remote target screens are supported, in which case a new RemoteHWInterface is created that tries to connect to the given host:port. * Fix shape bounds when drawing, they need to be translated by the pen position and converted to screen like the points as well. Wasn't visible though as the bounds weren't used in the normal DrawingEngine. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33417 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fb2c7f9394c117d28aa9d24b52fb182368f2a2cb |
|
26-Jul-2009 |
Stephan Aßmus <superstippi@gmx.de> |
bonefish + stippi: Reworked the glyph caching: * It is now glyph index based (a font file has an internal glyph code to index mapping, so that for example the same fallback glyph is used for all unsupported codes). * We do not truncate to uint16 anymore at various places, but support the full 32 bit char codes. * This made it necessary to switch to an OpenHashTable based cache lookup. * In CharacterMap, you can now see that the second Unicode plane does not wrap around anymore. TODO: Remove old entries from the hash table after a while to free up memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6b202f4e3da73d4c131355fcd82b792d153f84f6 |
|
13-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are <util/*> headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4191a211aaf50f4b491e1f574a759810a4e1f779 |
|
12-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Started accelerant extension to be able to get the preferred mode from the accelerant, as well as its EDID info. B_GET_PREFERRED_DISPLAY_MODE and B_GET_EDID_INFO are both optional. The preferred mode will be taken from the EDID info if only the latter hook is implemented, or the former returned an error. * Currently, the app_server should correctly set the preferred mode on start, but no accelerant supports that yet, so it's not really tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22520 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ff21b6bf7c970e0cb4588e2a7e3e3c9f0aafeeb |
|
06-Jun-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
libasdrawing.a was including a plethora of libraries. Not sure, what ar made of this. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21342 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b2ed0e7acfba7cc638619b8ea6b953ae6831a13a |
|
03-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented "fail_safe_video_mode" boot option; if you're using it, the app_server will not load any graphics driver (other than VESA). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21310 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0ac013e66f75c5733fcd6bca47300d126b293279 |
|
23-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Some refactoring: renamed OverlayCookie to Overlay and put it in its own source file. * An overlay is now also hidden in case its is removed from the window. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17209 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dd98ed8dfcfe69c729b06f4d3deb9cbc82015552 |
|
19-Apr-2006 |
Stephan Aßmus <superstippi@gmx.de> |
* implemented view bitmap options (B_BITMAP_TILE...) in ViewLayer (for example, fixes NetPositive rendering HTML with a background image) * use BRegion pool everywhere in ViewLayer * WindowLayer update sessions distinguish between different reasons for the update: exposed and requested - on expose updates, the view backgrounds are cleared immidiately (as on R5), to keep the time previous stuff keeps showing as short as possible, while on requested updates, the background clearing is delayed until the client draws something, to keep the time until the client fills a view with content as small as possible to reduce flickering (might need more work, could be buggy yet) * HWInterface and DrawingEngine support delayed syncing to the graphics hardware at least for FillRect/Region. The speed up gained by this is minor though. * HWInterface cursor rendering uses a bit of rounding to avoid the slight transparent shadow around the cursor (I don't know if it is fully correct though, at least the shasow disappeared) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17172 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
|
#
f19839c230e64120d4b9e9fda83d1578445d232f |
|
01-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Some groundwork for overlay support. If someone wants to finish this, feel free to continue (it would be nice to be notified before, though, in case I get to it again in the next weeks). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16561 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b794301de0d6dcbbe1d1734e611fae170e5be81 |
|
13-Nov-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Changed the way the app_server is built: * no more libappserver.so - this breaks the "Appearance" application, but that has to be fixed some day later. * the drawing stuff is now built in its own directory as libasdrawing.a. * TEST_MODE defaults to "0" if not defined yet - it's overridden in the test build now, not in the main build. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14896 a95241bf-73f2-0310-859d-f6bbb57e9c96
|