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;
|
join_mode lineJoin;
|
||||||
cap_mode lineCap;
|
cap_mode lineCap;
|
||||||
float miterLimit;
|
float miterLimit;
|
||||||
|
int32 fillRule;
|
||||||
source_alpha alphaSourceMode;
|
source_alpha alphaSourceMode;
|
||||||
alpha_function alphaFunctionMode;
|
alpha_function alphaFunctionMode;
|
||||||
bool fontAntialiasing;
|
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.
|
* Distributed under the terms of the MIT License.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
@ -227,6 +227,7 @@ ViewState::UpdateServerState(BPrivate::PortLink &link)
|
|||||||
info.lineJoin = line_join;
|
info.lineJoin = line_join;
|
||||||
info.lineCap = line_cap;
|
info.lineCap = line_cap;
|
||||||
info.miterLimit = miter_limit;
|
info.miterLimit = miter_limit;
|
||||||
|
info.fillRule = fill_rule;
|
||||||
info.alphaSourceMode = alpha_source_mode;
|
info.alphaSourceMode = alpha_source_mode;
|
||||||
info.alphaFunctionMode = alpha_function_mode;
|
info.alphaFunctionMode = alpha_function_mode;
|
||||||
info.fontAntialiasing = font_aliasing;
|
info.fontAntialiasing = font_aliasing;
|
||||||
@ -291,6 +292,7 @@ ViewState::UpdateFrom(BPrivate::PortLink &link)
|
|||||||
line_join = info.viewStateInfo.lineJoin;
|
line_join = info.viewStateInfo.lineJoin;
|
||||||
line_cap = info.viewStateInfo.lineCap;
|
line_cap = info.viewStateInfo.lineCap;
|
||||||
miter_limit = info.viewStateInfo.miterLimit;
|
miter_limit = info.viewStateInfo.miterLimit;
|
||||||
|
fill_rule = info.viewStateInfo.fillRule;
|
||||||
alpha_source_mode = info.viewStateInfo.alphaSourceMode;
|
alpha_source_mode = info.viewStateInfo.alphaSourceMode;
|
||||||
alpha_function_mode = info.viewStateInfo.alphaFunctionMode;
|
alpha_function_mode = info.viewStateInfo.alphaFunctionMode;
|
||||||
font_aliasing = info.viewStateInfo.fontAntialiasing;
|
font_aliasing = info.viewStateInfo.fontAntialiasing;
|
||||||
|
@ -92,6 +92,7 @@ DrawState::DrawState(const DrawState& other)
|
|||||||
fLineCapMode(other.fLineCapMode),
|
fLineCapMode(other.fLineCapMode),
|
||||||
fLineJoinMode(other.fLineJoinMode),
|
fLineJoinMode(other.fLineJoinMode),
|
||||||
fMiterLimit(other.fMiterLimit),
|
fMiterLimit(other.fMiterLimit),
|
||||||
|
fFillRule(other.fFillRule),
|
||||||
|
|
||||||
// Since fScale is reset to 1.0, the unscaled
|
// Since fScale is reset to 1.0, the unscaled
|
||||||
// font size is the current size of the font
|
// font size is the current size of the font
|
||||||
@ -223,6 +224,7 @@ DrawState::ReadFromLink(BPrivate::LinkReceiver& link)
|
|||||||
fLineJoinMode = info.lineJoin;
|
fLineJoinMode = info.lineJoin;
|
||||||
fLineCapMode = info.lineCap;
|
fLineCapMode = info.lineCap;
|
||||||
fMiterLimit = info.miterLimit;
|
fMiterLimit = info.miterLimit;
|
||||||
|
fFillRule = info.fillRule;
|
||||||
fAlphaSrcMode = info.alphaSourceMode;
|
fAlphaSrcMode = info.alphaSourceMode;
|
||||||
fAlphaFncMode = info.alphaFunctionMode;
|
fAlphaFncMode = info.alphaFunctionMode;
|
||||||
fFontAliasing = info.fontAntialiasing;
|
fFontAliasing = info.fontAntialiasing;
|
||||||
@ -287,6 +289,7 @@ DrawState::WriteToLink(BPrivate::LinkSender& link) const
|
|||||||
info.viewStateInfo.lineJoin = fLineJoinMode;
|
info.viewStateInfo.lineJoin = fLineJoinMode;
|
||||||
info.viewStateInfo.lineCap = fLineCapMode;
|
info.viewStateInfo.lineCap = fLineCapMode;
|
||||||
info.viewStateInfo.miterLimit = fMiterLimit;
|
info.viewStateInfo.miterLimit = fMiterLimit;
|
||||||
|
info.viewStateInfo.fillRule = fFillRule;
|
||||||
info.viewStateInfo.alphaSourceMode = fAlphaSrcMode;
|
info.viewStateInfo.alphaSourceMode = fAlphaSrcMode;
|
||||||
info.viewStateInfo.alphaFunctionMode = fAlphaFncMode;
|
info.viewStateInfo.alphaFunctionMode = fAlphaFncMode;
|
||||||
info.viewStateInfo.fontAntialiasing = fFontAliasing;
|
info.viewStateInfo.fontAntialiasing = fFontAliasing;
|
||||||
|
Loading…
Reference in New Issue
Block a user