app_server: Drawing mode fixups

* TODO: squash commit before merge into master
This commit is contained in:
Julian Harnath
2015-08-23 01:00:38 +02:00
parent e3d7394869
commit 1cd452ea03
4 changed files with 16 additions and 9 deletions
+8 -3
View File
@@ -526,21 +526,26 @@ DrawState::SetPattern(const Pattern& pattern)
} }
void bool
DrawState::SetDrawingMode(drawing_mode mode) DrawState::SetDrawingMode(drawing_mode mode)
{ {
if (!fDrawingModeLocked) if (!fDrawingModeLocked) {
fDrawingMode = mode; fDrawingMode = mode;
return true;
}
return false;
} }
void bool
DrawState::SetBlendingMode(source_alpha srcMode, alpha_function fncMode) DrawState::SetBlendingMode(source_alpha srcMode, alpha_function fncMode)
{ {
if (!fDrawingModeLocked) { if (!fDrawingModeLocked) {
fAlphaSrcMode = srcMode; fAlphaSrcMode = srcMode;
fAlphaFncMode = fncMode; fAlphaFncMode = fncMode;
return true;
} }
return false;
} }
+2 -2
View File
@@ -100,11 +100,11 @@ public:
{ return fPattern; } { return fPattern; }
// drawing/blending mode // drawing/blending mode
void SetDrawingMode(drawing_mode mode); bool SetDrawingMode(drawing_mode mode);
drawing_mode GetDrawingMode() const drawing_mode GetDrawingMode() const
{ return fDrawingMode; } { return fDrawingMode; }
void SetBlendingMode(source_alpha srcMode, bool SetBlendingMode(source_alpha srcMode,
alpha_function fncMode); alpha_function fncMode);
source_alpha AlphaSrcMode() const source_alpha AlphaSrcMode() const
{ return fAlphaSrcMode; } { return fAlphaSrcMode; }
+2 -2
View File
@@ -626,8 +626,8 @@ set_pen_location(Canvas* canvas, BPoint pt)
static void static void
set_drawing_mode(Canvas* canvas, drawing_mode mode) set_drawing_mode(Canvas* canvas, drawing_mode mode)
{ {
canvas->CurrentState()->SetDrawingMode(mode); if (canvas->CurrentState()->SetDrawingMode(mode))
canvas->GetDrawingEngine()->SetDrawingMode(mode); canvas->GetDrawingEngine()->SetDrawingMode(mode);
} }
+4 -2
View File
@@ -2200,7 +2200,8 @@ fDesktop->LockSingleWindow();
if (opacity != 255) { if (opacity != 255) {
fCurrentView->CurrentState()->SetDrawingMode(B_OP_ALPHA); fCurrentView->CurrentState()->SetDrawingMode(B_OP_ALPHA);
fCurrentView->CurrentState()->SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_COMPOSITE); fCurrentView->CurrentState()->SetBlendingMode(B_PIXEL_ALPHA,
B_ALPHA_COMPOSITE);
fCurrentView->CurrentState()->SetDrawingModeLocked(true); fCurrentView->CurrentState()->SetDrawingModeLocked(true);
} }
@@ -3466,7 +3467,8 @@ ServerWindow::_DispatchPictureMessage(int32 code, BPrivate::LinkReceiver& link)
if (opacity != 255) { if (opacity != 255) {
fCurrentView->CurrentState()->SetDrawingMode(B_OP_ALPHA); fCurrentView->CurrentState()->SetDrawingMode(B_OP_ALPHA);
fCurrentView->CurrentState()->SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_COMPOSITE); fCurrentView->CurrentState()->SetBlendingMode(B_PIXEL_ALPHA,
B_ALPHA_COMPOSITE);
fCurrentView->CurrentState()->SetDrawingModeLocked(true); fCurrentView->CurrentState()->SetDrawingModeLocked(true);
} }