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)
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user