diff --git a/headers/private/app/ServerProtocolStructs.h b/headers/private/app/ServerProtocolStructs.h index 853473348e..8eec0aa9c1 100644 --- a/headers/private/app/ServerProtocolStructs.h +++ b/headers/private/app/ServerProtocolStructs.h @@ -26,6 +26,7 @@ struct ViewSetStateInfo { join_mode lineJoin; cap_mode lineCap; float miterLimit; + int32 fillRule; source_alpha alphaSourceMode; alpha_function alphaFunctionMode; bool fontAntialiasing; diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index c7395ddb69..0371f4131f 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -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; diff --git a/src/servers/app/DrawState.cpp b/src/servers/app/DrawState.cpp index 6d1dd32231..23c358fe6e 100644 --- a/src/servers/app/DrawState.cpp +++ b/src/servers/app/DrawState.cpp @@ -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;