app_server: Drawing mode fixups
* TODO: squash commit before merge into master
This commit is contained in:
@@ -526,21 +526,26 @@ DrawState::SetPattern(const Pattern& pattern)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
bool
|
||||
DrawState::SetDrawingMode(drawing_mode mode)
|
||||
{
|
||||
if (!fDrawingModeLocked)
|
||||
if (!fDrawingModeLocked) {
|
||||
fDrawingMode = mode;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
bool
|
||||
DrawState::SetBlendingMode(source_alpha srcMode, alpha_function fncMode)
|
||||
{
|
||||
if (!fDrawingModeLocked) {
|
||||
fAlphaSrcMode = srcMode;
|
||||
fAlphaFncMode = fncMode;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -100,11 +100,11 @@ public:
|
||||
{ return fPattern; }
|
||||
|
||||
// drawing/blending mode
|
||||
void SetDrawingMode(drawing_mode mode);
|
||||
bool SetDrawingMode(drawing_mode mode);
|
||||
drawing_mode GetDrawingMode() const
|
||||
{ return fDrawingMode; }
|
||||
|
||||
void SetBlendingMode(source_alpha srcMode,
|
||||
bool SetBlendingMode(source_alpha srcMode,
|
||||
alpha_function fncMode);
|
||||
source_alpha AlphaSrcMode() const
|
||||
{ return fAlphaSrcMode; }
|
||||
|
||||
@@ -626,8 +626,8 @@ set_pen_location(Canvas* canvas, BPoint pt)
|
||||
static void
|
||||
set_drawing_mode(Canvas* canvas, drawing_mode mode)
|
||||
{
|
||||
canvas->CurrentState()->SetDrawingMode(mode);
|
||||
canvas->GetDrawingEngine()->SetDrawingMode(mode);
|
||||
if (canvas->CurrentState()->SetDrawingMode(mode))
|
||||
canvas->GetDrawingEngine()->SetDrawingMode(mode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -2200,7 +2200,8 @@ fDesktop->LockSingleWindow();
|
||||
|
||||
if (opacity != 255) {
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -3466,7 +3467,8 @@ ServerWindow::_DispatchPictureMessage(int32 code, BPrivate::LinkReceiver& link)
|
||||
|
||||
if (opacity != 255) {
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user