Searched +hist:1 +hist:f0a4ee8 (Results 1 - 4 of 4) sorted by relevance

/haiku/src/servers/app/drawing/
H A DDrawingEngine.cppdiff 1d6f73bc Mon May 19 09:30:49 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> Follow-up fixes for FillRect+transforms

* Factor out AlignRect to avoid code duplication
* Give the right rectangle to the OverlayHider.
diff 12349c7d Sun Apr 05 08:59:43 MDT 2009 Stephan Aßmus <superstippi@gmx.de> Begun to use structs for the BView<->app_server communication. This makes
the protocoll less prone to errors, reduces possible points of failure and
most importantly, reduces the number of function calls to the link API.
I only know the numbers for StrokeLine(), which I tested via the Benchmark
test app. With this change, drawing random colored and positioned lines
actually doubled in speed. On the BView side, the calls to
ServerLink::Attach() only halfed, while on the app_server side, the number
of calls to ServerLink::Read() is now 1/4th. It will also be worth
investigating why the link stuff is so slow at all. I also optimized
BView::DrawString() a lot in this change, but I don't have any numbers
yet. Some other commands which used multiple Attach()/Read() calls were
also optimized, at least the most important ones. Begin/EndLineArray() was
also pretty bad on the app_server side.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29937 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 6dcf803e Thu Apr 06 14:25:58 MDT 2006 Marcus Overhagen <marcusoverhagen@gmail.com> removed some off-by-one errors. replaced cursor->Bounds().IntegerWidth() with cursor->Width() which is equal to cursor->Bounds().IntegerWidth() + 1

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17032 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1d6f73bcbd7d98a27a190797580c619ed7bcf05c Mon May 19 09:30:49 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> Follow-up fixes for FillRect+transforms

* Factor out AlignRect to avoid code duplication
* Give the right rectangle to the OverlayHider.
diff 12349c7d3d445aa2bb4d737e5c7bcf135cca1d69 Sun Apr 05 08:59:43 MDT 2009 Stephan Aßmus <superstippi@gmx.de> Begun to use structs for the BView<->app_server communication. This makes
the protocoll less prone to errors, reduces possible points of failure and
most importantly, reduces the number of function calls to the link API.
I only know the numbers for StrokeLine(), which I tested via the Benchmark
test app. With this change, drawing random colored and positioned lines
actually doubled in speed. On the BView side, the calls to
ServerLink::Attach() only halfed, while on the app_server side, the number
of calls to ServerLink::Read() is now 1/4th. It will also be worth
investigating why the link stuff is so slow at all. I also optimized
BView::DrawString() a lot in this change, but I don't have any numbers
yet. Some other commands which used multiple Attach()/Read() calls were
also optimized, at least the most important ones. Begin/EndLineArray() was
also pretty bad on the app_server side.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29937 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 6dcf803e4857bb503adb56dc119cc4b0be987df4 Thu Apr 06 14:25:58 MDT 2006 Marcus Overhagen <marcusoverhagen@gmail.com> removed some off-by-one errors. replaced cursor->Bounds().IntegerWidth() with cursor->Width() which is equal to cursor->Bounds().IntegerWidth() + 1

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17032 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8c766f5176c2707539d6732298efab385 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/servers/app/drawing/Painter/
H A DPainter.hdiff 1d6f73bc Mon May 19 09:30:49 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> Follow-up fixes for FillRect+transforms

* Factor out AlignRect to avoid code duplication
* Give the right rectangle to the OverlayHider.
diff 63a30a47 Tue Feb 04 15:52:32 MST 2014 Stephan Aßmus <superstippi@gmx.de> Implemented using the transformation in Painter (incomplete)

* Also removed wonky BeOS rendering of stroked round rects and ellipses.
Nobody would expect it to work like this. This affects stroked round rects
and ellipsis with a pensize greater than 1.
* Refactored common code from _StrokePath() and _FillPath().
* _StrokePath() returned a curious bounding box that didn't take into
acount the miter width. Now the bounding box is computed from the actual
stroke conversion of the path.
diff 1fce337f Fri Dec 30 16:41:57 MST 2005 Stephan Aßmus <superstippi@gmx.de> cleaned up the code using templates and added optimized version for CMAP8 bitmaps and B_OP_OVER (to benefit Tracker)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15760 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1d6f73bcbd7d98a27a190797580c619ed7bcf05c Mon May 19 09:30:49 MDT 2014 Adrien Destugues <pulkomandy@pulkomandy.tk> Follow-up fixes for FillRect+transforms

* Factor out AlignRect to avoid code duplication
* Give the right rectangle to the OverlayHider.
diff 63a30a4744428d78a1bdce296e7ebf180fadbd8f Tue Feb 04 15:52:32 MST 2014 Stephan Aßmus <superstippi@gmx.de> Implemented using the transformation in Painter (incomplete)

* Also removed wonky BeOS rendering of stroked round rects and ellipses.
Nobody would expect it to work like this. This affects stroked round rects
and ellipsis with a pensize greater than 1.
* Refactored common code from _StrokePath() and _FillPath().
* _StrokePath() returned a curious bounding box that didn't take into
acount the miter width. Now the bounding box is computed from the actual
stroke conversion of the path.
diff 1fce337f891c3902c3a12cdbdca3b14982a60fbe Fri Dec 30 16:41:57 MST 2005 Stephan Aßmus <superstippi@gmx.de> cleaned up the code using templates and added optimized version for CMAP8 bitmaps and B_OP_OVER (to benefit Tracker)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15760 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8c766f5176c2707539d6732298efab385 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A DPainter.cppdiff 1f357f79 Fri Feb 04 12:29:23 MST 2022 Máximo Castañeda <antiswen@yahoo.es> Painter: sync renderer color

SetDrawState sets the pattern directly and then calls the member
functions to update colors. As SetHighColor does not update the renderers
if color does not change, that means we lose sync in some corner cases.

Change-Id: I5f8771baa58643c559df243dcc1603983941faee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4930
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 0ccd1db1 Wed Jan 13 15:50:31 MST 2016 Julian Harnath <julian.harnath@rwth-aachen.de> app_server: fix lines which are pixel dots, in layers

* Painter::StrokeLine() has an optimization for lines which are
single pixel dots, i.e. identical start and end point and pen
size 1: it sets the pixel directly in the buffer, completely
bypassing the AGG base renderer.

This is a problem when inside a layer since this also bypasses
the low-level offset in the base renderer (which moves drawing
coordinates into the layer bitmap), causing an out-of-bounds
access.

* Fixes #12587
diff 1e625a2b Tue Mar 11 15:11:08 MDT 2014 Stephan Aßmus <superstippi@gmx.de> app_server: Removed duplicate line of code...

for setting the filling rule. There are only two different rasterizers.
diff 63a30a47 Tue Feb 04 15:52:32 MST 2014 Stephan Aßmus <superstippi@gmx.de> Implemented using the transformation in Painter (incomplete)

* Also removed wonky BeOS rendering of stroked round rects and ellipses.
Nobody would expect it to work like this. This affects stroked round rects
and ellipsis with a pensize greater than 1.
* Refactored common code from _StrokePath() and _FillPath().
* _StrokePath() returned a curious bounding box that didn't take into
acount the miter width. Now the bounding box is computed from the actual
stroke conversion of the path.
diff 1bc7045f Sun Dec 15 19:58:43 MST 2013 Pawel Dziepak <pdziepak@quarnos.org> kernel, libroot: Introduce new API for obtaining system info
diff a17be100 Sat Jun 03 08:14:59 MDT 2006 Axel Dörfler <axeld@pinc-software.de> * "divisions" could be lower than 1. This fixes bug #510.
* Moved expensive computation out of the max_c() macro.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17709 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1fce337f Fri Dec 30 16:41:57 MST 2005 Stephan Aßmus <superstippi@gmx.de> cleaned up the code using templates and added optimized version for CMAP8 bitmaps and B_OP_OVER (to benefit Tracker)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15760 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f0a4ee8 Tue Dec 20 15:39:54 MST 2005 Stephan Aßmus <superstippi@gmx.de> removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff ac167e6e Sat May 21 18:12:56 MDT 2005 Stephan Aßmus <superstippi@gmx.de> Various fixes and efficiency improvements to the drawing backend. Among other stuff, stroked lines with a width greater than 1 have anti-aliased butts now. There are some bugs left regarding text rendering.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12761 a95241bf-73f2-0310-859d-f6bbb57e9c96
/haiku/src/servers/app/
H A DServerApp.cppdiff d0f06357 Wed Feb 14 08:40:20 MST 2024 Jérôme Duval <jerome.duval@gmail.com> app_server FontManager: load all fonts and named-variants from a file

BFont::LoadFont can now use an index (0-based) and an optional named-instance (1-based)
to select the font variant from a file.
BFont::LoadFont can also use an index when loading from memory.

Change-Id: I0ce3eb6cc77d32cf43847416561eafe3063ca693
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7402
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Máximo Castañeda <antiswen@yahoo.es>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
diff 3a2b67b5 Tue Nov 21 01:12:18 MST 2017 Adrien Destugues <pulkomandy@pulkomandy.tk> Support for configuring screen backlight

Accelerant interface:
Introduce new hooks B_SET_BRIGHTNESS and B_GET_BRIGHTNESS. Brightness is
a float in the 0..1 range.

App_server:
Forward brightness things between BScreen and the accelerant.

intel_extreme:
Implement the hooks. Note that this only works for laptop panels, but
the driver will pretend to support it in other cases as well.

Screen preferences:
If the accelerant supports the B_GET_BRIGHTNESS hook, allow to set
brightness with a slider. Otherwise, the slidere is hidden and these
changes aren't visible.
diff 9b6b158b Thu Mar 10 22:38:32 MST 2016 dsizzle <dcieslak@yahoo.com> Implementation of BFont::Blocks

BFont::Blocks is now implemented in ServerFont, via a call through the
app_server. It uses fontconfig to iterate through a charset of a font
and stores the defined blocks in a bitmap.

A new API was added, BFont::IncludesBlock, that will allow for arbitrary
testing of a given Unicode block. Since nothing is cached, searching
through an entire charset for a series of Unicode blocks can be quite
slow. In a given block there may be only 1 or 2 characters actually
defined so every character within a block needs to be checked until one
is found, which in a degenerate case will mean the entire block is
checked.

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
diff 7f9368ca Wed Dec 09 23:52:48 MST 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>
diff 1d219b3a Mon Nov 15 14:25:03 MST 2010 Axel Dörfler <axeld@pinc-software.de> * Added AS_DUMP_ALLOCATOR command that dumps an applications memory allocator to
the syslog/serial output.
* Added app_server_debug command that currently just sends this command to the
specified teams.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39441 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1c73ffa1 Fri May 14 09:53:09 MDT 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
diff 1a6914c5 Thu Aug 02 15:05:01 MDT 2007 Stephan Aßmus <superstippi@gmx.de> * fixes the build, forgot to include in r21797


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21800 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff f33610f8 Fri Apr 21 16:43:23 MDT 2006 Axel Dörfler <axeld@pinc-software.de> Fixed number 1 (or the only one? ;-)) crashing bug #306 in the app_server:
Since ServerWindow removed itself from its ServerApp in _PrepareQuit(), it could
happen quite easily that the ServerApp was deleted before the ServerWindow - and
since deleting WindowLayer as part of that referenced the ServerApp, it crashed.
Now, adding/removing is both done by the ServerWindow in Init() respectively
the destructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17198 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1e766d46 Fri Mar 10 06:03:41 MST 2006 Axel Dörfler <axeld@pinc-software.de> Moved the ViewUnderMouse() functionality from the EventDispatcher to the Desktop;
this saves us some locking headaches and solves a possible deadlock in
ServerApp::Activate().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16688 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1c33148d Mon Jan 02 17:44:29 MST 2006 Stefano Ceccherini <stefano.ceccherini@gmail.com> Implemented handlers needed for Begin/EndPicture, and a handler for DrawPicture().

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

Completed in 332 milliseconds