app_server: store and restore fill rule...
...when sending the whole view state over the link. Also inherit the fill rule when pushing states (DrawState copy constructor). A somewhat sloppy oversight, I must add.
This commit is contained in:
parent
6d19a82f63
commit
244796701b
@ -26,6 +26,7 @@ struct ViewSetStateInfo {
|
||||
join_mode lineJoin;
|
||||
cap_mode lineCap;
|
||||
float miterLimit;
|
||||
int32 fillRule;
|
||||
source_alpha alphaSourceMode;
|
||||
alpha_function alphaFunctionMode;
|
||||
bool fontAntialiasing;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2001-2013 Haiku, Inc. All rights reserved.
|
||||
* Copyright 2001-2014 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
@ -227,6 +227,7 @@ ViewState::UpdateServerState(BPrivate::PortLink &link)
|
||||
info.lineJoin = line_join;
|
||||
info.lineCap = line_cap;
|
||||
info.miterLimit = miter_limit;
|
||||
info.fillRule = fill_rule;
|
||||
info.alphaSourceMode = alpha_source_mode;
|
||||
info.alphaFunctionMode = alpha_function_mode;
|
||||
info.fontAntialiasing = font_aliasing;
|
||||
@ -291,6 +292,7 @@ ViewState::UpdateFrom(BPrivate::PortLink &link)
|
||||
line_join = info.viewStateInfo.lineJoin;
|
||||
line_cap = info.viewStateInfo.lineCap;
|
||||
miter_limit = info.viewStateInfo.miterLimit;
|
||||
fill_rule = info.viewStateInfo.fillRule;
|
||||
alpha_source_mode = info.viewStateInfo.alphaSourceMode;
|
||||
alpha_function_mode = info.viewStateInfo.alphaFunctionMode;
|
||||
font_aliasing = info.viewStateInfo.fontAntialiasing;
|
||||
|
@ -92,6 +92,7 @@ DrawState::DrawState(const DrawState& other)
|
||||
fLineCapMode(other.fLineCapMode),
|
||||
fLineJoinMode(other.fLineJoinMode),
|
||||
fMiterLimit(other.fMiterLimit),
|
||||
fFillRule(other.fFillRule),
|
||||
|
||||
// Since fScale is reset to 1.0, the unscaled
|
||||
// font size is the current size of the font
|
||||
@ -223,6 +224,7 @@ DrawState::ReadFromLink(BPrivate::LinkReceiver& link)
|
||||
fLineJoinMode = info.lineJoin;
|
||||
fLineCapMode = info.lineCap;
|
||||
fMiterLimit = info.miterLimit;
|
||||
fFillRule = info.fillRule;
|
||||
fAlphaSrcMode = info.alphaSourceMode;
|
||||
fAlphaFncMode = info.alphaFunctionMode;
|
||||
fFontAliasing = info.fontAntialiasing;
|
||||
@ -287,6 +289,7 @@ DrawState::WriteToLink(BPrivate::LinkSender& link) const
|
||||
info.viewStateInfo.lineJoin = fLineJoinMode;
|
||||
info.viewStateInfo.lineCap = fLineCapMode;
|
||||
info.viewStateInfo.miterLimit = fMiterLimit;
|
||||
info.viewStateInfo.fillRule = fFillRule;
|
||||
info.viewStateInfo.alphaSourceMode = fAlphaSrcMode;
|
||||
info.viewStateInfo.alphaFunctionMode = fAlphaFncMode;
|
||||
info.viewStateInfo.fontAntialiasing = fFontAliasing;
|
||||
|
Loading…
Reference in New Issue
Block a user